@simpleangularcontrols/sac-bootstrap5 10.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/README.md +18 -0
  2. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.js +3286 -0
  3. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.js.map +1 -0
  4. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.min.js +2 -0
  5. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.min.js.map +1 -0
  6. package/components/browser/browser.d.ts +46 -0
  7. package/components/browser/browser.d.ts.map +1 -0
  8. package/components/browser/browser.module.d.ts +3 -0
  9. package/components/browser/browser.module.d.ts.map +1 -0
  10. package/components/browser/browser.module.ngfactory.d.ts +4 -0
  11. package/components/browser/browser.module.ngfactory.d.ts.map +1 -0
  12. package/components/browser/browser.ngfactory.d.ts +2 -0
  13. package/components/browser/browser.ngfactory.d.ts.map +1 -0
  14. package/controls/buttons/button.d.ts +9 -0
  15. package/controls/buttons/button.d.ts.map +1 -0
  16. package/controls/buttons/button.module.d.ts +3 -0
  17. package/controls/buttons/button.module.d.ts.map +1 -0
  18. package/controls/buttons/button.module.ngfactory.d.ts +4 -0
  19. package/controls/buttons/button.module.ngfactory.d.ts.map +1 -0
  20. package/controls/buttons/button.ngfactory.d.ts +2 -0
  21. package/controls/buttons/button.ngfactory.d.ts.map +1 -0
  22. package/controls/checkbox/checkbox.d.ts +15 -0
  23. package/controls/checkbox/checkbox.d.ts.map +1 -0
  24. package/controls/checkbox/checkbox.module.d.ts +3 -0
  25. package/controls/checkbox/checkbox.module.d.ts.map +1 -0
  26. package/controls/checkbox/checkbox.module.ngfactory.d.ts +4 -0
  27. package/controls/checkbox/checkbox.module.ngfactory.d.ts.map +1 -0
  28. package/controls/checkbox/checkbox.ngfactory.d.ts +2 -0
  29. package/controls/checkbox/checkbox.ngfactory.d.ts.map +1 -0
  30. package/controls/checkbox/checkbox.scss.ngstyle.d.ts +2 -0
  31. package/controls/checkbox/checkbox.scss.ngstyle.d.ts.map +1 -0
  32. package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts +2 -0
  33. package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts.map +1 -0
  34. package/controls/checkbox/radiobutton.d.ts +13 -0
  35. package/controls/checkbox/radiobutton.d.ts.map +1 -0
  36. package/controls/checkbox/radiobutton.ngfactory.d.ts +2 -0
  37. package/controls/checkbox/radiobutton.ngfactory.d.ts.map +1 -0
  38. package/controls/checkbox/radiobutton.scss.ngstyle.d.ts +2 -0
  39. package/controls/checkbox/radiobutton.scss.ngstyle.d.ts.map +1 -0
  40. package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts +2 -0
  41. package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts.map +1 -0
  42. package/controls/checkbox/radiobuttons.d.ts +15 -0
  43. package/controls/checkbox/radiobuttons.d.ts.map +1 -0
  44. package/controls/checkbox/radiobuttons.ngfactory.d.ts +2 -0
  45. package/controls/checkbox/radiobuttons.ngfactory.d.ts.map +1 -0
  46. package/controls/confirm/confirm.d.ts +7 -0
  47. package/controls/confirm/confirm.d.ts.map +1 -0
  48. package/controls/confirm/confirm.module.d.ts +12 -0
  49. package/controls/confirm/confirm.module.d.ts.map +1 -0
  50. package/controls/confirm/confirm.module.ngfactory.d.ts +4 -0
  51. package/controls/confirm/confirm.module.ngfactory.d.ts.map +1 -0
  52. package/controls/confirm/confirm.ngfactory.d.ts +2 -0
  53. package/controls/confirm/confirm.ngfactory.d.ts.map +1 -0
  54. package/controls/confirm/confirm.service.d.ts +55 -0
  55. package/controls/confirm/confirm.service.d.ts.map +1 -0
  56. package/controls/confirm/confirm.service.ngfactory.d.ts +2 -0
  57. package/controls/confirm/confirm.service.ngfactory.d.ts.map +1 -0
  58. package/controls/contextmenu/contextmenu.d.ts +17 -0
  59. package/controls/contextmenu/contextmenu.d.ts.map +1 -0
  60. package/controls/contextmenu/contextmenu.module.d.ts +3 -0
  61. package/controls/contextmenu/contextmenu.module.d.ts.map +1 -0
  62. package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +4 -0
  63. package/controls/contextmenu/contextmenu.module.ngfactory.d.ts.map +1 -0
  64. package/controls/contextmenu/contextmenu.ngfactory.d.ts +2 -0
  65. package/controls/contextmenu/contextmenu.ngfactory.d.ts.map +1 -0
  66. package/controls/contextmenu/contextmenuanchor.d.ts +13 -0
  67. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -0
  68. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +2 -0
  69. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts.map +1 -0
  70. package/controls/contextmenu/contextmenucontainer.d.ts +13 -0
  71. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -0
  72. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +2 -0
  73. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts.map +1 -0
  74. package/controls/contextmenu/contextmenuitembutton.d.ts +12 -0
  75. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -0
  76. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +2 -0
  77. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts.map +1 -0
  78. package/controls/contextmenu/contextmenuitemsplitter.d.ts +7 -0
  79. package/controls/contextmenu/contextmenuitemsplitter.d.ts.map +1 -0
  80. package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +2 -0
  81. package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts.map +1 -0
  82. package/controls/datetime/date.d.ts +16 -0
  83. package/controls/datetime/date.d.ts.map +1 -0
  84. package/controls/datetime/date.ngfactory.d.ts +2 -0
  85. package/controls/datetime/date.ngfactory.d.ts.map +1 -0
  86. package/controls/datetime/dateselector.d.ts +7 -0
  87. package/controls/datetime/dateselector.d.ts.map +1 -0
  88. package/controls/datetime/dateselector.ngfactory.d.ts +2 -0
  89. package/controls/datetime/dateselector.ngfactory.d.ts.map +1 -0
  90. package/controls/datetime/datetime.d.ts +16 -0
  91. package/controls/datetime/datetime.d.ts.map +1 -0
  92. package/controls/datetime/datetime.module.d.ts +3 -0
  93. package/controls/datetime/datetime.module.d.ts.map +1 -0
  94. package/controls/datetime/datetime.module.ngfactory.d.ts +4 -0
  95. package/controls/datetime/datetime.module.ngfactory.d.ts.map +1 -0
  96. package/controls/datetime/datetime.ngfactory.d.ts +2 -0
  97. package/controls/datetime/datetime.ngfactory.d.ts.map +1 -0
  98. package/controls/datetime/time.d.ts +16 -0
  99. package/controls/datetime/time.d.ts.map +1 -0
  100. package/controls/datetime/time.ngfactory.d.ts +2 -0
  101. package/controls/datetime/time.ngfactory.d.ts.map +1 -0
  102. package/controls/dialog/dialog.d.ts +26 -0
  103. package/controls/dialog/dialog.d.ts.map +1 -0
  104. package/controls/dialog/dialog.module.d.ts +3 -0
  105. package/controls/dialog/dialog.module.d.ts.map +1 -0
  106. package/controls/dialog/dialog.module.ngfactory.d.ts +4 -0
  107. package/controls/dialog/dialog.module.ngfactory.d.ts.map +1 -0
  108. package/controls/dialog/dialog.ngfactory.d.ts +2 -0
  109. package/controls/dialog/dialog.ngfactory.d.ts.map +1 -0
  110. package/controls/form/form.d.ts +26 -0
  111. package/controls/form/form.d.ts.map +1 -0
  112. package/controls/form/form.module.d.ts +3 -0
  113. package/controls/form/form.module.d.ts.map +1 -0
  114. package/controls/form/form.module.ngfactory.d.ts +4 -0
  115. package/controls/form/form.module.ngfactory.d.ts.map +1 -0
  116. package/controls/form/form.ngfactory.d.ts +2 -0
  117. package/controls/form/form.ngfactory.d.ts.map +1 -0
  118. package/controls/form/inheritform.directive.d.ts +48 -0
  119. package/controls/form/inheritform.directive.d.ts.map +1 -0
  120. package/controls/form/inheritform.directive.ngfactory.d.ts +2 -0
  121. package/controls/form/inheritform.directive.ngfactory.d.ts.map +1 -0
  122. package/controls/grid/grid.d.ts +21 -0
  123. package/controls/grid/grid.d.ts.map +1 -0
  124. package/controls/grid/grid.module.d.ts +3 -0
  125. package/controls/grid/grid.module.d.ts.map +1 -0
  126. package/controls/grid/grid.module.ngfactory.d.ts +4 -0
  127. package/controls/grid/grid.module.ngfactory.d.ts.map +1 -0
  128. package/controls/grid/grid.ngfactory.d.ts +2 -0
  129. package/controls/grid/grid.ngfactory.d.ts.map +1 -0
  130. package/controls/grid/gridbutton.d.ts +20 -0
  131. package/controls/grid/gridbutton.d.ts.map +1 -0
  132. package/controls/grid/gridbutton.ngfactory.d.ts +2 -0
  133. package/controls/grid/gridbutton.ngfactory.d.ts.map +1 -0
  134. package/controls/grid/gridcolumn.d.ts +15 -0
  135. package/controls/grid/gridcolumn.d.ts.map +1 -0
  136. package/controls/grid/gridcolumn.ngfactory.d.ts +2 -0
  137. package/controls/grid/gridcolumn.ngfactory.d.ts.map +1 -0
  138. package/controls/grid/gridcolumnaction.d.ts +15 -0
  139. package/controls/grid/gridcolumnaction.d.ts.map +1 -0
  140. package/controls/grid/gridcolumnaction.ngfactory.d.ts +2 -0
  141. package/controls/grid/gridcolumnaction.ngfactory.d.ts.map +1 -0
  142. package/controls/grid/gridimage.d.ts +12 -0
  143. package/controls/grid/gridimage.d.ts.map +1 -0
  144. package/controls/grid/gridimage.ngfactory.d.ts +2 -0
  145. package/controls/grid/gridimage.ngfactory.d.ts.map +1 -0
  146. package/controls/grid/paging.d.ts +13 -0
  147. package/controls/grid/paging.d.ts.map +1 -0
  148. package/controls/grid/paging.ngfactory.d.ts +2 -0
  149. package/controls/grid/paging.ngfactory.d.ts.map +1 -0
  150. package/controls/input/input.d.ts +15 -0
  151. package/controls/input/input.d.ts.map +1 -0
  152. package/controls/input/input.module.d.ts +3 -0
  153. package/controls/input/input.module.d.ts.map +1 -0
  154. package/controls/input/input.module.ngfactory.d.ts +4 -0
  155. package/controls/input/input.module.ngfactory.d.ts.map +1 -0
  156. package/controls/input/input.ngfactory.d.ts +2 -0
  157. package/controls/input/input.ngfactory.d.ts.map +1 -0
  158. package/controls/input/inputarea.d.ts +15 -0
  159. package/controls/input/inputarea.d.ts.map +1 -0
  160. package/controls/input/inputarea.ngfactory.d.ts +2 -0
  161. package/controls/input/inputarea.ngfactory.d.ts.map +1 -0
  162. package/controls/input/inputcurrency.d.ts +15 -0
  163. package/controls/input/inputcurrency.d.ts.map +1 -0
  164. package/controls/input/inputcurrency.ngfactory.d.ts +2 -0
  165. package/controls/input/inputcurrency.ngfactory.d.ts.map +1 -0
  166. package/controls/input/inputdecimal.d.ts +15 -0
  167. package/controls/input/inputdecimal.d.ts.map +1 -0
  168. package/controls/input/inputdecimal.ngfactory.d.ts +2 -0
  169. package/controls/input/inputdecimal.ngfactory.d.ts.map +1 -0
  170. package/controls/input/inputemail.d.ts +15 -0
  171. package/controls/input/inputemail.d.ts.map +1 -0
  172. package/controls/input/inputemail.ngfactory.d.ts +2 -0
  173. package/controls/input/inputemail.ngfactory.d.ts.map +1 -0
  174. package/controls/input/inputinteger.d.ts +15 -0
  175. package/controls/input/inputinteger.d.ts.map +1 -0
  176. package/controls/input/inputinteger.ngfactory.d.ts +2 -0
  177. package/controls/input/inputinteger.ngfactory.d.ts.map +1 -0
  178. package/controls/input/inputpassword.d.ts +15 -0
  179. package/controls/input/inputpassword.d.ts.map +1 -0
  180. package/controls/input/inputpassword.ngfactory.d.ts +2 -0
  181. package/controls/input/inputpassword.ngfactory.d.ts.map +1 -0
  182. package/controls/input/inputsearch.d.ts +15 -0
  183. package/controls/input/inputsearch.d.ts.map +1 -0
  184. package/controls/input/inputsearch.ngfactory.d.ts +2 -0
  185. package/controls/input/inputsearch.ngfactory.d.ts.map +1 -0
  186. package/controls/layout/formlayout.directive.d.ts +4 -0
  187. package/controls/layout/formlayout.directive.d.ts.map +1 -0
  188. package/controls/layout/formlayout.directive.ngfactory.d.ts +2 -0
  189. package/controls/layout/formlayout.directive.ngfactory.d.ts.map +1 -0
  190. package/controls/layout/layout.module.d.ts +3 -0
  191. package/controls/layout/layout.module.d.ts.map +1 -0
  192. package/controls/layout/layout.module.ngfactory.d.ts +4 -0
  193. package/controls/layout/layout.module.ngfactory.d.ts.map +1 -0
  194. package/controls/layout/tocontrolheight.pipe.d.ts +10 -0
  195. package/controls/layout/tocontrolheight.pipe.d.ts.map +1 -0
  196. package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +2 -0
  197. package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts.map +1 -0
  198. package/controls/layout/tocontrolwidthcss.pipe.d.ts +17 -0
  199. package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
  200. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +2 -0
  201. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts.map +1 -0
  202. package/controls/layout/tolabelheight.pipe.d.ts +10 -0
  203. package/controls/layout/tolabelheight.pipe.d.ts.map +1 -0
  204. package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +2 -0
  205. package/controls/layout/tolabelheight.pipe.ngfactory.d.ts.map +1 -0
  206. package/controls/layout/tolabelwidthcss.pipe.d.ts +11 -0
  207. package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
  208. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +2 -0
  209. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts.map +1 -0
  210. package/controls/list/dropdown.d.ts +29 -0
  211. package/controls/list/dropdown.d.ts.map +1 -0
  212. package/controls/list/dropdown.module.d.ts +3 -0
  213. package/controls/list/dropdown.module.d.ts.map +1 -0
  214. package/controls/list/dropdown.module.ngfactory.d.ts +4 -0
  215. package/controls/list/dropdown.module.ngfactory.d.ts.map +1 -0
  216. package/controls/list/dropdown.ngfactory.d.ts +2 -0
  217. package/controls/list/dropdown.ngfactory.d.ts.map +1 -0
  218. package/controls/list/list.module.d.ts +3 -0
  219. package/controls/list/list.module.d.ts.map +1 -0
  220. package/controls/list/list.module.ngfactory.d.ts +4 -0
  221. package/controls/list/list.module.ngfactory.d.ts.map +1 -0
  222. package/controls/list/listbox.d.ts +27 -0
  223. package/controls/list/listbox.d.ts.map +1 -0
  224. package/controls/list/listbox.ngfactory.d.ts +2 -0
  225. package/controls/list/listbox.ngfactory.d.ts.map +1 -0
  226. package/controls/multilanguage/multilanguage.module.d.ts +3 -0
  227. package/controls/multilanguage/multilanguage.module.d.ts.map +1 -0
  228. package/controls/multilanguage/multilanguage.module.ngfactory.d.ts +4 -0
  229. package/controls/multilanguage/multilanguage.module.ngfactory.d.ts.map +1 -0
  230. package/controls/multilanguage/multilanguageinput.d.ts +19 -0
  231. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -0
  232. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +2 -0
  233. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts.map +1 -0
  234. package/controls/multilanguage/multilanguageinputarea.d.ts +19 -0
  235. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -0
  236. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +2 -0
  237. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts.map +1 -0
  238. package/controls/multilanguage/multilanguagemenu.d.ts +25 -0
  239. package/controls/multilanguage/multilanguagemenu.d.ts.map +1 -0
  240. package/controls/multilanguage/multilanguagemenu.ngfactory.d.ts +2 -0
  241. package/controls/multilanguage/multilanguagemenu.ngfactory.d.ts.map +1 -0
  242. package/controls/multilanguage/multilanguagemenuanchor.d.ts +13 -0
  243. package/controls/multilanguage/multilanguagemenuanchor.d.ts.map +1 -0
  244. package/controls/multilanguage/multilanguagemenuanchor.ngfactory.d.ts +2 -0
  245. package/controls/multilanguage/multilanguagemenuanchor.ngfactory.d.ts.map +1 -0
  246. package/controls/multilanguage/multilanguagemenucontainer.d.ts +13 -0
  247. package/controls/multilanguage/multilanguagemenucontainer.d.ts.map +1 -0
  248. package/controls/multilanguage/multilanguagemenucontainer.ngfactory.d.ts +2 -0
  249. package/controls/multilanguage/multilanguagemenucontainer.ngfactory.d.ts.map +1 -0
  250. package/controls/multilanguage/multilanguagemenuitembutton.d.ts +12 -0
  251. package/controls/multilanguage/multilanguagemenuitembutton.d.ts.map +1 -0
  252. package/controls/multilanguage/multilanguagemenuitembutton.ngfactory.d.ts +2 -0
  253. package/controls/multilanguage/multilanguagemenuitembutton.ngfactory.d.ts.map +1 -0
  254. package/controls/static/formcontainer.d.ts +26 -0
  255. package/controls/static/formcontainer.d.ts.map +1 -0
  256. package/controls/static/formcontainer.ngfactory.d.ts +2 -0
  257. package/controls/static/formcontainer.ngfactory.d.ts.map +1 -0
  258. package/controls/static/staticlabel.d.ts +15 -0
  259. package/controls/static/staticlabel.d.ts.map +1 -0
  260. package/controls/static/staticlabel.module.d.ts +3 -0
  261. package/controls/static/staticlabel.module.d.ts.map +1 -0
  262. package/controls/static/staticlabel.module.ngfactory.d.ts +4 -0
  263. package/controls/static/staticlabel.module.ngfactory.d.ts.map +1 -0
  264. package/controls/static/staticlabel.ngfactory.d.ts +2 -0
  265. package/controls/static/staticlabel.ngfactory.d.ts.map +1 -0
  266. package/controls/tabs/tab.d.ts +18 -0
  267. package/controls/tabs/tab.d.ts.map +1 -0
  268. package/controls/tabs/tab.ngfactory.d.ts +2 -0
  269. package/controls/tabs/tab.ngfactory.d.ts.map +1 -0
  270. package/controls/tabs/tabitem.d.ts +7 -0
  271. package/controls/tabs/tabitem.d.ts.map +1 -0
  272. package/controls/tabs/tabitem.ngfactory.d.ts +2 -0
  273. package/controls/tabs/tabitem.ngfactory.d.ts.map +1 -0
  274. package/controls/tabs/tabs.module.d.ts +3 -0
  275. package/controls/tabs/tabs.module.d.ts.map +1 -0
  276. package/controls/tabs/tabs.module.ngfactory.d.ts +4 -0
  277. package/controls/tabs/tabs.module.ngfactory.d.ts.map +1 -0
  278. package/controls/tinymce/tinymce.d.ts +21 -0
  279. package/controls/tinymce/tinymce.d.ts.map +1 -0
  280. package/controls/tinymce/tinymce.module.d.ts +3 -0
  281. package/controls/tinymce/tinymce.module.d.ts.map +1 -0
  282. package/controls/tinymce/tinymce.module.ngfactory.d.ts +4 -0
  283. package/controls/tinymce/tinymce.module.ngfactory.d.ts.map +1 -0
  284. package/controls/tinymce/tinymce.ngfactory.d.ts +2 -0
  285. package/controls/tinymce/tinymce.ngfactory.d.ts.map +1 -0
  286. package/controls/tinymce/tinymce.scss.ngstyle.d.ts +2 -0
  287. package/controls/tinymce/tinymce.scss.ngstyle.d.ts.map +1 -0
  288. package/controls/tinymce/tinymce.scss.shim.ngstyle.d.ts +2 -0
  289. package/controls/tinymce/tinymce.scss.shim.ngstyle.d.ts.map +1 -0
  290. package/controls/upload/dropzone.scss.ngstyle.d.ts +2 -0
  291. package/controls/upload/dropzone.scss.ngstyle.d.ts.map +1 -0
  292. package/controls/upload/dropzone.scss.shim.ngstyle.d.ts +2 -0
  293. package/controls/upload/dropzone.scss.shim.ngstyle.d.ts.map +1 -0
  294. package/controls/upload/dropzonemultiple.d.ts +22 -0
  295. package/controls/upload/dropzonemultiple.d.ts.map +1 -0
  296. package/controls/upload/dropzonemultiple.ngfactory.d.ts +2 -0
  297. package/controls/upload/dropzonemultiple.ngfactory.d.ts.map +1 -0
  298. package/controls/upload/dropzonesingle.d.ts +22 -0
  299. package/controls/upload/dropzonesingle.d.ts.map +1 -0
  300. package/controls/upload/dropzonesingle.ngfactory.d.ts +2 -0
  301. package/controls/upload/dropzonesingle.ngfactory.d.ts.map +1 -0
  302. package/controls/upload/upload.d.ts +18 -0
  303. package/controls/upload/upload.d.ts.map +1 -0
  304. package/controls/upload/upload.module.d.ts +3 -0
  305. package/controls/upload/upload.module.d.ts.map +1 -0
  306. package/controls/upload/upload.module.ngfactory.d.ts +4 -0
  307. package/controls/upload/upload.module.ngfactory.d.ts.map +1 -0
  308. package/controls/upload/upload.ngfactory.d.ts +2 -0
  309. package/controls/upload/upload.ngfactory.d.ts.map +1 -0
  310. package/controls/upload/upload.scss.ngstyle.d.ts +2 -0
  311. package/controls/upload/upload.scss.ngstyle.d.ts.map +1 -0
  312. package/controls/upload/upload.scss.shim.ngstyle.d.ts +2 -0
  313. package/controls/upload/upload.scss.shim.ngstyle.d.ts.map +1 -0
  314. package/controls/upload/uploadmultiple.d.ts +18 -0
  315. package/controls/upload/uploadmultiple.d.ts.map +1 -0
  316. package/controls/upload/uploadmultiple.ngfactory.d.ts +2 -0
  317. package/controls/upload/uploadmultiple.ngfactory.d.ts.map +1 -0
  318. package/controls/validation/validationsummary.d.ts +15 -0
  319. package/controls/validation/validationsummary.d.ts.map +1 -0
  320. package/controls/validation/validationsummary.module.d.ts +3 -0
  321. package/controls/validation/validationsummary.module.d.ts.map +1 -0
  322. package/controls/validation/validationsummary.module.ngfactory.d.ts +4 -0
  323. package/controls/validation/validationsummary.module.ngfactory.d.ts.map +1 -0
  324. package/controls/validation/validationsummary.ngfactory.d.ts +2 -0
  325. package/controls/validation/validationsummary.ngfactory.d.ts.map +1 -0
  326. package/controls/wizard/wizard.d.ts +18 -0
  327. package/controls/wizard/wizard.d.ts.map +1 -0
  328. package/controls/wizard/wizard.module.d.ts +3 -0
  329. package/controls/wizard/wizard.module.d.ts.map +1 -0
  330. package/controls/wizard/wizard.module.ngfactory.d.ts +4 -0
  331. package/controls/wizard/wizard.module.ngfactory.d.ts.map +1 -0
  332. package/controls/wizard/wizard.ngfactory.d.ts +2 -0
  333. package/controls/wizard/wizard.ngfactory.d.ts.map +1 -0
  334. package/controls/wizard/wizarditem.d.ts +7 -0
  335. package/controls/wizard/wizarditem.d.ts.map +1 -0
  336. package/controls/wizard/wizarditem.ngfactory.d.ts +2 -0
  337. package/controls/wizard/wizarditem.ngfactory.d.ts.map +1 -0
  338. package/esm2015/components/browser/browser.js +109 -0
  339. package/esm2015/components/browser/browser.module.js +28 -0
  340. package/esm2015/components/browser/browser.module.ngfactory.js +7 -0
  341. package/esm2015/components/browser/browser.ngfactory.js +7 -0
  342. package/esm2015/controls/buttons/button.js +16 -0
  343. package/esm2015/controls/buttons/button.module.js +15 -0
  344. package/esm2015/controls/buttons/button.module.ngfactory.js +7 -0
  345. package/esm2015/controls/buttons/button.ngfactory.js +7 -0
  346. package/esm2015/controls/checkbox/checkbox.js +44 -0
  347. package/esm2015/controls/checkbox/checkbox.module.js +24 -0
  348. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +7 -0
  349. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -0
  350. package/esm2015/controls/checkbox/checkbox.scss.ngstyle.js +7 -0
  351. package/esm2015/controls/checkbox/checkbox.scss.shim.ngstyle.js +7 -0
  352. package/esm2015/controls/checkbox/radiobutton.js +26 -0
  353. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -0
  354. package/esm2015/controls/checkbox/radiobutton.scss.ngstyle.js +7 -0
  355. package/esm2015/controls/checkbox/radiobutton.scss.shim.ngstyle.js +7 -0
  356. package/esm2015/controls/checkbox/radiobuttons.js +42 -0
  357. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -0
  358. package/esm2015/controls/confirm/confirm.js +14 -0
  359. package/esm2015/controls/confirm/confirm.module.js +31 -0
  360. package/esm2015/controls/confirm/confirm.module.ngfactory.js +7 -0
  361. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -0
  362. package/esm2015/controls/confirm/confirm.service.js +102 -0
  363. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -0
  364. package/esm2015/controls/contextmenu/contextmenu.js +40 -0
  365. package/esm2015/controls/contextmenu/contextmenu.module.js +28 -0
  366. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -0
  367. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -0
  368. package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -0
  369. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -0
  370. package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -0
  371. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -0
  372. package/esm2015/controls/contextmenu/contextmenuitembutton.js +24 -0
  373. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -0
  374. package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +14 -0
  375. package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -0
  376. package/esm2015/controls/datetime/date.js +50 -0
  377. package/esm2015/controls/datetime/date.ngfactory.js +7 -0
  378. package/esm2015/controls/datetime/dateselector.js +14 -0
  379. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -0
  380. package/esm2015/controls/datetime/datetime.js +44 -0
  381. package/esm2015/controls/datetime/datetime.module.js +28 -0
  382. package/esm2015/controls/datetime/datetime.module.ngfactory.js +7 -0
  383. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -0
  384. package/esm2015/controls/datetime/time.js +44 -0
  385. package/esm2015/controls/datetime/time.ngfactory.js +7 -0
  386. package/esm2015/controls/dialog/dialog.js +44 -0
  387. package/esm2015/controls/dialog/dialog.module.js +15 -0
  388. package/esm2015/controls/dialog/dialog.module.ngfactory.js +7 -0
  389. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -0
  390. package/esm2015/controls/form/form.js +41 -0
  391. package/esm2015/controls/form/form.module.js +15 -0
  392. package/esm2015/controls/form/form.module.ngfactory.js +7 -0
  393. package/esm2015/controls/form/form.ngfactory.js +7 -0
  394. package/esm2015/controls/form/inheritform.directive.js +71 -0
  395. package/esm2015/controls/form/inheritform.directive.ngfactory.js +7 -0
  396. package/esm2015/controls/grid/grid.js +44 -0
  397. package/esm2015/controls/grid/grid.module.js +21 -0
  398. package/esm2015/controls/grid/grid.module.ngfactory.js +7 -0
  399. package/esm2015/controls/grid/grid.ngfactory.js +7 -0
  400. package/esm2015/controls/grid/gridbutton.js +47 -0
  401. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -0
  402. package/esm2015/controls/grid/gridcolumn.js +34 -0
  403. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -0
  404. package/esm2015/controls/grid/gridcolumnaction.js +35 -0
  405. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -0
  406. package/esm2015/controls/grid/gridimage.js +28 -0
  407. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -0
  408. package/esm2015/controls/grid/paging.js +34 -0
  409. package/esm2015/controls/grid/paging.ngfactory.js +7 -0
  410. package/esm2015/controls/input/input.js +38 -0
  411. package/esm2015/controls/input/input.module.js +39 -0
  412. package/esm2015/controls/input/input.module.ngfactory.js +7 -0
  413. package/esm2015/controls/input/input.ngfactory.js +7 -0
  414. package/esm2015/controls/input/inputarea.js +42 -0
  415. package/esm2015/controls/input/inputarea.ngfactory.js +7 -0
  416. package/esm2015/controls/input/inputcurrency.js +42 -0
  417. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -0
  418. package/esm2015/controls/input/inputdecimal.js +42 -0
  419. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -0
  420. package/esm2015/controls/input/inputemail.js +42 -0
  421. package/esm2015/controls/input/inputemail.ngfactory.js +7 -0
  422. package/esm2015/controls/input/inputinteger.js +42 -0
  423. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -0
  424. package/esm2015/controls/input/inputpassword.js +42 -0
  425. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -0
  426. package/esm2015/controls/input/inputsearch.js +42 -0
  427. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -0
  428. package/esm2015/controls/layout/formlayout.directive.js +10 -0
  429. package/esm2015/controls/layout/formlayout.directive.ngfactory.js +7 -0
  430. package/esm2015/controls/layout/layout.module.js +29 -0
  431. package/esm2015/controls/layout/layout.module.ngfactory.js +7 -0
  432. package/esm2015/controls/layout/tocontrolheight.pipe.js +29 -0
  433. package/esm2015/controls/layout/tocontrolheight.pipe.ngfactory.js +7 -0
  434. package/esm2015/controls/layout/tocontrolwidthcss.pipe.js +53 -0
  435. package/esm2015/controls/layout/tocontrolwidthcss.pipe.ngfactory.js +7 -0
  436. package/esm2015/controls/layout/tolabelheight.pipe.js +29 -0
  437. package/esm2015/controls/layout/tolabelheight.pipe.ngfactory.js +7 -0
  438. package/esm2015/controls/layout/tolabelwidthcss.pipe.js +37 -0
  439. package/esm2015/controls/layout/tolabelwidthcss.pipe.ngfactory.js +7 -0
  440. package/esm2015/controls/list/dropdown.js +71 -0
  441. package/esm2015/controls/list/dropdown.module.js +14 -0
  442. package/esm2015/controls/list/dropdown.module.ngfactory.js +7 -0
  443. package/esm2015/controls/list/dropdown.ngfactory.js +7 -0
  444. package/esm2015/controls/list/list.module.js +14 -0
  445. package/esm2015/controls/list/list.module.ngfactory.js +7 -0
  446. package/esm2015/controls/list/listbox.js +67 -0
  447. package/esm2015/controls/list/listbox.ngfactory.js +7 -0
  448. package/esm2015/controls/multilanguage/multilanguage.module.js +26 -0
  449. package/esm2015/controls/multilanguage/multilanguage.module.ngfactory.js +7 -0
  450. package/esm2015/controls/multilanguage/multilanguageinput.js +48 -0
  451. package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -0
  452. package/esm2015/controls/multilanguage/multilanguageinputarea.js +48 -0
  453. package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -0
  454. package/esm2015/controls/multilanguage/multilanguagemenu.js +45 -0
  455. package/esm2015/controls/multilanguage/multilanguagemenu.ngfactory.js +7 -0
  456. package/esm2015/controls/multilanguage/multilanguagemenuanchor.js +30 -0
  457. package/esm2015/controls/multilanguage/multilanguagemenuanchor.ngfactory.js +7 -0
  458. package/esm2015/controls/multilanguage/multilanguagemenucontainer.js +30 -0
  459. package/esm2015/controls/multilanguage/multilanguagemenucontainer.ngfactory.js +7 -0
  460. package/esm2015/controls/multilanguage/multilanguagemenuitembutton.js +24 -0
  461. package/esm2015/controls/multilanguage/multilanguagemenuitembutton.ngfactory.js +7 -0
  462. package/esm2015/controls/static/formcontainer.js +53 -0
  463. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -0
  464. package/esm2015/controls/static/staticlabel.js +42 -0
  465. package/esm2015/controls/static/staticlabel.module.js +15 -0
  466. package/esm2015/controls/static/staticlabel.module.ngfactory.js +7 -0
  467. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -0
  468. package/esm2015/controls/tabs/tab.js +25 -0
  469. package/esm2015/controls/tabs/tab.ngfactory.js +7 -0
  470. package/esm2015/controls/tabs/tabitem.js +14 -0
  471. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -0
  472. package/esm2015/controls/tabs/tabs.module.js +14 -0
  473. package/esm2015/controls/tabs/tabs.module.ngfactory.js +7 -0
  474. package/esm2015/controls/tinymce/tinymce.js +54 -0
  475. package/esm2015/controls/tinymce/tinymce.module.js +27 -0
  476. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +7 -0
  477. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -0
  478. package/esm2015/controls/tinymce/tinymce.scss.ngstyle.js +7 -0
  479. package/esm2015/controls/tinymce/tinymce.scss.shim.ngstyle.js +7 -0
  480. package/esm2015/controls/upload/dropzone.scss.ngstyle.js +7 -0
  481. package/esm2015/controls/upload/dropzone.scss.shim.ngstyle.js +7 -0
  482. package/esm2015/controls/upload/dropzonemultiple.js +55 -0
  483. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -0
  484. package/esm2015/controls/upload/dropzonesingle.js +55 -0
  485. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -0
  486. package/esm2015/controls/upload/upload.js +47 -0
  487. package/esm2015/controls/upload/upload.module.js +28 -0
  488. package/esm2015/controls/upload/upload.module.ngfactory.js +7 -0
  489. package/esm2015/controls/upload/upload.ngfactory.js +7 -0
  490. package/esm2015/controls/upload/upload.scss.ngstyle.js +7 -0
  491. package/esm2015/controls/upload/upload.scss.shim.ngstyle.js +7 -0
  492. package/esm2015/controls/upload/uploadmultiple.js +47 -0
  493. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -0
  494. package/esm2015/controls/validation/validationsummary.js +37 -0
  495. package/esm2015/controls/validation/validationsummary.module.js +15 -0
  496. package/esm2015/controls/validation/validationsummary.module.ngfactory.js +7 -0
  497. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -0
  498. package/esm2015/controls/wizard/wizard.js +30 -0
  499. package/esm2015/controls/wizard/wizard.module.js +15 -0
  500. package/esm2015/controls/wizard/wizard.module.ngfactory.js +7 -0
  501. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -0
  502. package/esm2015/controls/wizard/wizarditem.js +14 -0
  503. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -0
  504. package/esm2015/public-api.js +25 -0
  505. package/esm2015/public-api.ngfactory.js +7 -0
  506. package/esm2015/simpleangularcontrols-sac-bootstrap5.js +61 -0
  507. package/esm2015/simpleangularcontrols-sac-bootstrap5.ngfactory.js +7 -0
  508. package/fesm2015/simpleangularcontrols-sac-bootstrap5.js +2495 -0
  509. package/fesm2015/simpleangularcontrols-sac-bootstrap5.js.map +1 -0
  510. package/package.json +32 -0
  511. package/public-api.d.ts +22 -0
  512. package/public-api.d.ts.map +1 -0
  513. package/public-api.ngfactory.d.ts +2 -0
  514. package/public-api.ngfactory.d.ts.map +1 -0
  515. package/simpleangularcontrols-sac-bootstrap5-10.0.0-rc.1.tgz +0 -0
  516. package/simpleangularcontrols-sac-bootstrap5.d.ts +61 -0
  517. package/simpleangularcontrols-sac-bootstrap5.d.ts.map +1 -0
  518. package/simpleangularcontrols-sac-bootstrap5.metadata.json +1 -0
  519. package/simpleangularcontrols-sac-bootstrap5.ngfactory.d.ts +2 -0
  520. package/simpleangularcontrols-sac-bootstrap5.ngfactory.d.ts.map +1 -0
@@ -0,0 +1,2495 @@
1
+ import { CommonModule, DOCUMENT } from '@angular/common';
2
+ import { HttpClient, HttpClientModule } from '@angular/common/http';
3
+ import { Component, NgModule, ElementRef, ChangeDetectorRef, Injectable, ComponentFactoryResolver, Inject, ApplicationRef, Injector, forwardRef, NgZone, Renderer2, Directive, HostBinding, SkipSelf, Pipe, Host, Optional, ViewChild, ContentChild, TemplateRef, Input, ContentChildren } from '@angular/core';
4
+ import { NgForm, ControlContainer, FormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
5
+ import { SacButtonCommon, SacDialogCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacContextmenuAnchorCommon, SacContextMenuContrainerCommon, SacFormCommon, SacFormLayoutCommon, ControlHeight, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacFileBrowserCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDateCommon, SacDateSelectorCommon, SacDateTimeCommon, SacTimeCommon, SacGridCommon, SacGridButtonCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridColumnActionCommon, SacGridImageCommon, SacPagingCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDropdownCommon, SacDropdownOptionCommon, SacListboxCommon, SacListboxOptionCommon, SacMultilanguageInputCommon, IconType, SacMultilanguageInputAreaCommon, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabItemCommon, SacTabCommon, SacTinyMceCommon, SacValidationSummaryCommon, SacWizardItemCommon, SacWizardCommon } from '@simpleangularcontrols/sac-common';
6
+ import { forkJoin, Observable } from 'rxjs';
7
+ import { take } from 'rxjs/operators';
8
+ import { IMaskModule } from 'angular-imask';
9
+ import moment_ from 'moment';
10
+ import { EditorModule } from '@tinymce/tinymce-angular';
11
+
12
+ /**
13
+ * Button Component
14
+ *
15
+ * <example-url>http://localhost/demo/mysample.component.html</example-url>
16
+ */
17
+ class SacButtonComponent extends SacButtonCommon {
18
+ }
19
+ SacButtonComponent.decorators = [
20
+ { type: Component, args: [{
21
+ selector: 'sac-button',
22
+ template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\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-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\r\n >{{text}}\r\n</button>\r\n"
23
+ },] }
24
+ ];
25
+
26
+ class SACBootstrap5ButtonModule {
27
+ }
28
+ SACBootstrap5ButtonModule.decorators = [
29
+ { type: NgModule, args: [{
30
+ declarations: [SacButtonComponent],
31
+ imports: [
32
+ CommonModule
33
+ ],
34
+ exports: [SacButtonComponent]
35
+ },] }
36
+ ];
37
+
38
+ /**
39
+ * Dialog Komponente
40
+ */
41
+ class SacDialogComponent extends SacDialogCommon {
42
+ /**
43
+ * Konstruktor
44
+ * @param el DOM Element Referenz
45
+ * @param cdRef Change Detection Service
46
+ */
47
+ constructor(el, cdRef) {
48
+ super(cdRef);
49
+ this.element = el.nativeElement;
50
+ }
51
+ /**
52
+ * Event wenn Komponente initialisiert wird
53
+ */
54
+ ngOnInit() {
55
+ // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
56
+ document.body.appendChild(this.element);
57
+ }
58
+ /**
59
+ * Event wenn Element entfernt wird
60
+ */
61
+ ngOnDestroy() {
62
+ this.hide();
63
+ if (document.body.contains(this.element)) {
64
+ document.body.removeChild(this.element);
65
+ }
66
+ super.ngOnDestroy();
67
+ }
68
+ }
69
+ SacDialogComponent.decorators = [
70
+ { type: Component, args: [{
71
+ selector: 'sac-dialog',
72
+ template: "<div\r\n #dialog\r\n class=\"modal show\"\r\n style=\"display: block\"\r\n tabindex=\"-1\"\r\n role=\"dialog\"\r\n *ngIf=\"_show\"\r\n>\r\n <div\r\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\r\n role=\"document\"\r\n [class.modal-xl]=\"_size === 'extralarge'\"\r\n [class.modal-lg]=\"_size === 'large'\"\r\n [class.modal-sm]=\"_size === 'small'\"\r\n >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{title}}</h5>\r\n <button\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n (click)=\"hide()\"\r\n *ngIf=\"closebutton\"\r\n ></button>\r\n </div>\r\n <div class=\"modal-body\" [style.height]=\"height\">\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 class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n"
73
+ },] }
74
+ ];
75
+ SacDialogComponent.ctorParameters = () => [
76
+ { type: ElementRef },
77
+ { type: ChangeDetectorRef }
78
+ ];
79
+
80
+ class SACBootstrap5DialogModule {
81
+ }
82
+ SACBootstrap5DialogModule.decorators = [
83
+ { type: NgModule, args: [{
84
+ declarations: [SacDialogComponent],
85
+ imports: [
86
+ CommonModule
87
+ ],
88
+ exports: [SacDialogComponent]
89
+ },] }
90
+ ];
91
+
92
+ /**
93
+ * Confirm Komponente
94
+ */
95
+ class SacConfirmComponent extends SacConfirmCommon {
96
+ }
97
+ SacConfirmComponent.decorators = [
98
+ { type: Component, args: [{
99
+ selector: 'sac-confirm',
100
+ template: "<sac-dialog\r\n [(isvisible)]=\"isvisible\"\r\n [title]=\"title\"\r\n [allowesc]=\"false\"\r\n [closebutton]=\"false\"\r\n dialogsize=\"small\"\r\n>\r\n <div dialogbody>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"me-2\">\r\n <img\r\n [attr.src]=\"image\"\r\n class=\"align-self-center mr-3\"\r\n *ngIf=\"hasImage()\"\r\n />\r\n </div>\r\n <div class=\"flex-grow-1\">{{message}}</div>\r\n </div>\r\n </div>\r\n <ng-container 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 </ng-container>\r\n</sac-dialog>\r\n"
101
+ },] }
102
+ ];
103
+
104
+ /**
105
+ * Service für Confirm Messages in TypeScript Code
106
+ *
107
+ * @example
108
+ * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
109
+ * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
110
+ *
111
+ * @example
112
+ * // Beispiel für ConfirmMessage mit eigenen Buttons
113
+ * let buttons: SacConfirmButton[] = [];
114
+ * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
115
+ * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
116
+ * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
117
+ */
118
+ class ServiceConfirm extends ServiceConfirmCommon {
119
+ // #endregion Properties
120
+ // #region Constructors
121
+ /**
122
+ * Konstruktor
123
+ * @param componentFactoryResolver Component Factory Resolver Instanz
124
+ * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
125
+ * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
126
+ */
127
+ constructor(componentFactoryResolver, appRef, injector) {
128
+ super(appRef, injector);
129
+ this.componentFactoryResolver = componentFactoryResolver;
130
+ // #region Properties
131
+ /**
132
+ * Collection von Buttons die angezeigt werden müssen.
133
+ */
134
+ this.buttons = [];
135
+ /**
136
+ * Message die in Dialog angezeigt werden soll.
137
+ */
138
+ this.message = '';
139
+ /**
140
+ * Titel der im Dialog angezeigt werden soll.
141
+ */
142
+ this.title = '';
143
+ }
144
+ // #endregion Constructors
145
+ // #region Public Methods
146
+ /**
147
+ * Confirm Dialog anzeigen
148
+ * @param message Nachricht die angezeigt werden soll.
149
+ * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
150
+ */
151
+ ConfirmMessage(title, message, buttons = null) {
152
+ this.title = title;
153
+ this.message = message;
154
+ // Default Buttons setzen, wenn keine Buttons angegeben sind
155
+ if (!isDefined(buttons)) {
156
+ this.buttons = [];
157
+ forkJoin({
158
+ button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),
159
+ button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),
160
+ })
161
+ .pipe(take(1))
162
+ .subscribe((texte) => {
163
+ this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));
164
+ this.buttons.push(new SacConfirmButton('no', texte.button_no));
165
+ });
166
+ }
167
+ else {
168
+ this.buttons = buttons;
169
+ }
170
+ return super.Confirm();
171
+ }
172
+ /**
173
+ * Erzeugen einer Component Factory für einen Dialog
174
+ */
175
+ GetComponentFactory() {
176
+ return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
177
+ }
178
+ // #endregion Public Methods
179
+ // #region Protected Methods
180
+ /**
181
+ * Konfiguration des Dialogs
182
+ * @param instance Instanz eines SacConfirm Dialogs
183
+ */
184
+ ConfigureDialog(instance) {
185
+ // Text in Dialog setzen
186
+ instance.title = this.title;
187
+ instance.message = this.message;
188
+ instance.buttons = this.buttons;
189
+ instance.image = this.iconService.ConfirmDefaultImage;
190
+ }
191
+ }
192
+ ServiceConfirm.decorators = [
193
+ { type: Injectable }
194
+ ];
195
+ ServiceConfirm.ctorParameters = () => [
196
+ { type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
197
+ { type: ApplicationRef },
198
+ { type: Injector }
199
+ ];
200
+
201
+ /**
202
+ * Module für Confirm Messages
203
+ *
204
+ * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: SACBootstrap5ConfirmModule.forRoot()
205
+ *
206
+ */
207
+ class SACBootstrap5ConfirmModule {
208
+ // #region Public Static Methods
209
+ static forRoot() {
210
+ return {
211
+ ngModule: SACBootstrap5ConfirmModule,
212
+ providers: [ServiceConfirm],
213
+ };
214
+ }
215
+ }
216
+ SACBootstrap5ConfirmModule.decorators = [
217
+ { type: NgModule, args: [{
218
+ declarations: [SacConfirmComponent],
219
+ imports: [CommonModule, SACBootstrap5DialogModule, SACBootstrap5ButtonModule],
220
+ exports: [SacConfirmComponent],
221
+ entryComponents: [SacConfirmComponent],
222
+ },] }
223
+ ];
224
+
225
+ /**
226
+ * Component für Contextmenü
227
+ */
228
+ class SacContextmenuComponent extends SacContextmenuCommon {
229
+ // #region Constructors
230
+ /**
231
+ * Constructor
232
+ * @param document Referenz auf HTML Document
233
+ * @param ngZone Angular Zone Service
234
+ * @param elementRef Referenz auf HTML Element der aktuellen Komponente
235
+ * @param renderer Render Service von Angular
236
+ * @param injector injector to resolve services
237
+ */
238
+ constructor(document, ngZone, elementRef, renderer, injector) {
239
+ super(document, ngZone, elementRef, renderer, injector);
240
+ }
241
+ }
242
+ SacContextmenuComponent.decorators = [
243
+ { type: Component, args: [{
244
+ selector: 'sac-contextmenu',
245
+ template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n ></ng-container>\r\n\r\n <ul\r\n class=\"dropdown-menu dropdown-menu-end\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\"\r\n >\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-sm btn-link text-secondary text-decoration-none\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n >\r\n <i [class]=\"IconContextMenu\"></i>\r\n </button>\r\n</ng-template>\r\n",
246
+ providers: [
247
+ {
248
+ provide: SacContextmenuCommon,
249
+ useExisting: forwardRef(() => SacContextmenuComponent),
250
+ },
251
+ ]
252
+ },] }
253
+ ];
254
+ SacContextmenuComponent.ctorParameters = () => [
255
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
256
+ { type: NgZone },
257
+ { type: ElementRef },
258
+ { type: Renderer2 },
259
+ { type: Injector }
260
+ ];
261
+
262
+ /**
263
+ * Component für Menü Eintrag in Context Menü
264
+ */
265
+ class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
266
+ /**
267
+ * Constructor
268
+ * @param contextmenu Instance von Context Menü
269
+ */
270
+ constructor(contextmenu) {
271
+ super(contextmenu);
272
+ }
273
+ }
274
+ SacContextmenuItemButtonComponent.decorators = [
275
+ { type: Component, args: [{
276
+ selector: 'sac-contextmenubutton',
277
+ template: "<li>\r\n <button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n >\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n </button>\r\n</li>\r\n"
278
+ },] }
279
+ ];
280
+ SacContextmenuItemButtonComponent.ctorParameters = () => [
281
+ { type: SacContextmenuCommon }
282
+ ];
283
+
284
+ /**
285
+ * Splitter Komponente in Context Menü
286
+ */
287
+ class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
288
+ }
289
+ SacContextmenuItemSplitterComponent.decorators = [
290
+ { type: Component, args: [{
291
+ selector: 'sac-contextmenusplitter',
292
+ template: "<li><div class=\"dropdown-divider\"></div></li>\r\n"
293
+ },] }
294
+ ];
295
+
296
+ /**
297
+ * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
298
+ */
299
+ class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {
300
+ // #region Constructors
301
+ /**
302
+ * Konstruktor
303
+ * @param elementRef HTML DOM Referenz
304
+ */
305
+ constructor(elementRef) {
306
+ super(elementRef);
307
+ }
308
+ }
309
+ SacContextmenuAnchorDirective.decorators = [
310
+ { type: Directive, args: [{
311
+ selector: '[sacContextMenuAnchor]',
312
+ providers: [
313
+ {
314
+ provide: SacContextmenuAnchorCommon,
315
+ useExisting: forwardRef(() => SacContextmenuAnchorDirective),
316
+ },
317
+ ],
318
+ },] }
319
+ ];
320
+ SacContextmenuAnchorDirective.ctorParameters = () => [
321
+ { type: ElementRef }
322
+ ];
323
+
324
+ /**
325
+ * Marker Komponente für Context Menü
326
+ */
327
+ class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {
328
+ // #region Constructors
329
+ /**
330
+ * Konstruktor
331
+ * @param elementRef Referenz auf DOM Element
332
+ */
333
+ constructor(elementRef) {
334
+ super(elementRef);
335
+ }
336
+ }
337
+ SacContextmenuContainerDirective.decorators = [
338
+ { type: Directive, args: [{
339
+ selector: '[sacContextMenuContainer]',
340
+ providers: [
341
+ {
342
+ provide: SacContextMenuContrainerCommon,
343
+ useExisting: forwardRef(() => SacContextmenuContainerDirective),
344
+ },
345
+ ],
346
+ },] }
347
+ ];
348
+ SacContextmenuContainerDirective.ctorParameters = () => [
349
+ { type: ElementRef }
350
+ ];
351
+
352
+ class SACBootstrap5ContextmenuModule {
353
+ }
354
+ SACBootstrap5ContextmenuModule.decorators = [
355
+ { type: NgModule, args: [{
356
+ declarations: [
357
+ SacContextmenuComponent,
358
+ SacContextmenuItemButtonComponent,
359
+ SacContextmenuItemSplitterComponent,
360
+ SacContextmenuAnchorDirective,
361
+ SacContextmenuContainerDirective,
362
+ ],
363
+ imports: [CommonModule],
364
+ exports: [
365
+ SacContextmenuComponent,
366
+ SacContextmenuItemButtonComponent,
367
+ SacContextmenuItemSplitterComponent,
368
+ SacContextmenuAnchorDirective,
369
+ ],
370
+ },] }
371
+ ];
372
+
373
+ /**
374
+ * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
375
+ *
376
+ * @example Beispiel über Div Container
377
+ *
378
+ * <div ngForm></div>
379
+ *
380
+ * @example Beispiel über Form Tag
381
+ *
382
+ * <form></form>
383
+ *
384
+ */
385
+ class SacFormDirective extends SacFormCommon {
386
+ /**
387
+ * Konstruktor
388
+ * @param form Instanz von NgForm für eigene automatische Formular Logik
389
+ */
390
+ constructor(form) {
391
+ super(form);
392
+ /**
393
+ * Setzt die Standard CSS Klasse für auf dem Form Container
394
+ */
395
+ this.cssClassForm = true;
396
+ }
397
+ }
398
+ SacFormDirective.decorators = [
399
+ { type: Directive, args: [{
400
+ selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
401
+ exportAs: 'sacform',
402
+ },] }
403
+ ];
404
+ SacFormDirective.ctorParameters = () => [
405
+ { type: NgForm }
406
+ ];
407
+ SacFormDirective.propDecorators = {
408
+ cssClassForm: [{ type: HostBinding, args: ['class.form',] }]
409
+ };
410
+
411
+ /**
412
+ * Factory Methode für SacForm
413
+ * @param form SacFormular
414
+ */
415
+ function SACFORM_FACTORY(form) {
416
+ return form;
417
+ }
418
+ /**
419
+ * Factory Methode für NgForm
420
+ * @param form NgForm
421
+ */
422
+ function NGFORM_FACTORY(form) {
423
+ return form;
424
+ }
425
+ /**
426
+ * Directive zum erben eines NgForm/NgFormular einer übergeordneten Komponente
427
+ *
428
+ * @example Implementation in Markup
429
+ *
430
+ * <div sacInheritForm>
431
+ * </div>
432
+ *
433
+ * @example Model an Sub-Komponente übergeben
434
+ *
435
+ * <div sacInheritForm>
436
+ * <div>SubForm</div>
437
+ * <div>
438
+ * <ngInput [(ngModel)]="mymodel.fieldarea2" name="subformField3" label="field 3" [isrequired]="true"></ngInput>
439
+ * </div>
440
+ * </div>
441
+ *
442
+ *
443
+ * (at)Component({
444
+ * selector: 'sacInheritForm',
445
+ * templateUrl: './subform.component.html'
446
+ * })
447
+ * export class SubFormComponent implements DoCheck {
448
+ *
449
+ * (at)Input() mymodel;
450
+ * (at)Output() mymodelChange = new EventEmitter();
451
+ *
452
+ * ngDoCheck() {
453
+ * this.mymodelChange.next(this.mymodel);
454
+ * }
455
+ *}
456
+ *
457
+ */
458
+ class SacInheritFormDirective {
459
+ }
460
+ SacInheritFormDirective.decorators = [
461
+ { type: Directive, args: [{
462
+ selector: '[sacInheritForm]',
463
+ providers: [
464
+ {
465
+ provide: SacFormDirective,
466
+ useFactory: SACFORM_FACTORY,
467
+ deps: [[new SkipSelf(), SacFormDirective]]
468
+ }, {
469
+ provide: ControlContainer,
470
+ useFactory: NGFORM_FACTORY,
471
+ deps: [NgForm]
472
+ }
473
+ ]
474
+ },] }
475
+ ];
476
+
477
+ class SACBootstrap5FormModule {
478
+ }
479
+ SACBootstrap5FormModule.decorators = [
480
+ { type: NgModule, args: [{
481
+ declarations: [SacFormDirective, SacInheritFormDirective],
482
+ imports: [CommonModule, FormsModule],
483
+ exports: [SacFormDirective, SacInheritFormDirective],
484
+ },] }
485
+ ];
486
+
487
+ class SacFormLayoutDirective extends SacFormLayoutCommon {
488
+ }
489
+ SacFormLayoutDirective.decorators = [
490
+ { type: Directive, args: [{
491
+ selector: '[sacFormLayout]',
492
+ },] }
493
+ ];
494
+
495
+ class SacToControlHeightPipe {
496
+ // #region Public Methods
497
+ /**
498
+ * Returns the CSS class that defines the height for the control
499
+ * @param value ControlHeight value or null
500
+ */
501
+ transform(value) {
502
+ // Return default value
503
+ if (!value) {
504
+ return '';
505
+ }
506
+ switch (value) {
507
+ case ControlHeight.Small:
508
+ return 'form-control-sm';
509
+ case ControlHeight.Large:
510
+ return 'form-control-lg';
511
+ default:
512
+ return '';
513
+ }
514
+ }
515
+ }
516
+ SacToControlHeightPipe.decorators = [
517
+ { type: Pipe, args: [{
518
+ name: 'toControlHeight',
519
+ },] }
520
+ ];
521
+
522
+ class SacToControlWidthCssPipe {
523
+ // #region Public Methods
524
+ /**
525
+ * Get CSS classes from label width configuration to set control size
526
+ * @param value Configuration with grid columns for different viewports
527
+ * @returns string with css classe for bootstrap3
528
+ */
529
+ transform(value) {
530
+ const classes = [];
531
+ if (value.labelSizeXs) {
532
+ classes.push('col-' + this.calcControlSize(value.labelSizeXs));
533
+ }
534
+ if (value.labelSizeSm) {
535
+ classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
536
+ }
537
+ if (value.labelSizeMd) {
538
+ classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
539
+ }
540
+ if (value.labelSizeLg) {
541
+ classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
542
+ }
543
+ if (value.labelSizeXl) {
544
+ classes.push('col-xl-' + this.calcControlSize(value.labelSizeXl));
545
+ }
546
+ if (value.labelSizeXxl) {
547
+ classes.push('col-xxl-' + this.calcControlSize(value.labelSizeXxl));
548
+ }
549
+ return classes.join(' ');
550
+ }
551
+ // #endregion Public Methods
552
+ // #region Private Methods
553
+ /**
554
+ * calculate the control size
555
+ * @param labelsize grid size of label
556
+ * @returns grid size for control. should be between 1 and 12
557
+ */
558
+ calcControlSize(labelsize) {
559
+ if (labelsize === 12) {
560
+ return 12;
561
+ }
562
+ if (!labelsize) {
563
+ return 12;
564
+ }
565
+ return 12 - labelsize;
566
+ }
567
+ }
568
+ SacToControlWidthCssPipe.decorators = [
569
+ { type: Pipe, args: [{
570
+ name: 'toControlWidthCss',
571
+ },] }
572
+ ];
573
+
574
+ class SacToLabelHeightPipe {
575
+ // #region Public Methods
576
+ /**
577
+ * Returns the CSS class that defines the height for the control
578
+ * @param value ControlHeight value or null
579
+ */
580
+ transform(value) {
581
+ // Return default value
582
+ if (!value) {
583
+ return '';
584
+ }
585
+ switch (value) {
586
+ case ControlHeight.Small:
587
+ return 'col-form-label-sm';
588
+ case ControlHeight.Large:
589
+ return 'col-form-label-lg';
590
+ default:
591
+ return '';
592
+ }
593
+ }
594
+ }
595
+ SacToLabelHeightPipe.decorators = [
596
+ { type: Pipe, args: [{
597
+ name: 'toLabelHeight',
598
+ },] }
599
+ ];
600
+
601
+ class SacToLabelWidthCssPipe {
602
+ // #region Public Methods
603
+ /**
604
+ * Get CSS classes from label width configuration to set label size
605
+ * @param value Configuration with grid columns for different viewports
606
+ * @returns string with css classe for bootstrap3
607
+ */
608
+ transform(value) {
609
+ const classes = [];
610
+ if (value.labelSizeXs) {
611
+ classes.push('col-' + value.labelSizeXs);
612
+ }
613
+ if (value.labelSizeSm) {
614
+ classes.push('col-sm-' + value.labelSizeSm);
615
+ }
616
+ if (value.labelSizeMd) {
617
+ classes.push('col-md-' + value.labelSizeMd);
618
+ }
619
+ if (value.labelSizeLg) {
620
+ classes.push('col-lg-' + value.labelSizeLg);
621
+ }
622
+ if (value.labelSizeXl) {
623
+ classes.push('col-xl-' + value.labelSizeXl);
624
+ }
625
+ if (value.labelSizeXxl) {
626
+ classes.push('col-xxl-' + value.labelSizeXxl);
627
+ }
628
+ return classes.join(' ');
629
+ }
630
+ }
631
+ SacToLabelWidthCssPipe.decorators = [
632
+ { type: Pipe, args: [{
633
+ name: 'toLabelWidthCss',
634
+ },] }
635
+ ];
636
+
637
+ class SACBootstrap5LayoutModule {
638
+ }
639
+ SACBootstrap5LayoutModule.decorators = [
640
+ { type: NgModule, args: [{
641
+ declarations: [
642
+ SacFormLayoutDirective,
643
+ SacToControlHeightPipe,
644
+ SacToControlWidthCssPipe,
645
+ SacToLabelHeightPipe,
646
+ SacToLabelWidthCssPipe,
647
+ ],
648
+ imports: [CommonModule],
649
+ exports: [
650
+ SacFormLayoutDirective,
651
+ SacToControlHeightPipe,
652
+ SacToControlWidthCssPipe,
653
+ SacToLabelHeightPipe,
654
+ SacToLabelWidthCssPipe,
655
+ ],
656
+ },] }
657
+ ];
658
+
659
+ /**
660
+ * Dropzone Komponente für mehrere Uploads
661
+ * @see https://github.com/kukhariev/ngx-uploadx/
662
+ */
663
+ class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
664
+ // #region Constructors
665
+ /**
666
+ * Constructor
667
+ * @param formLayout SacFormLayout to define scoped layout settings
668
+ * @param injector Injector for injecting services
669
+ * @param renderer Angular rendering engine
670
+ * @param ngZone ngZone to manage external javascripts
671
+ */
672
+ constructor(formLayout, injector, renderer, ngZone) {
673
+ super(formLayout, injector, renderer, ngZone);
674
+ }
675
+ // #endregion Constructors
676
+ // #region Public Methods
677
+ /**
678
+ * Initialisiert das Control
679
+ */
680
+ ngOnInit() {
681
+ super.ngOnInit();
682
+ }
683
+ }
684
+ SacDropzoneMultipleComponent.decorators = [
685
+ { type: Component, args: [{
686
+ selector: 'sac-dropzonemultiple',
687
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\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 >\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\"\r\n >\r\n <div class=\"align-self-center text-center\">\r\n <div\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"flex-fill progress-container\">\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 >\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 >\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 >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\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 />\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
688
+ providers: [
689
+ {
690
+ provide: NG_VALUE_ACCESSOR,
691
+ multi: true,
692
+ useExisting: SacDropzoneMultipleComponent,
693
+ },
694
+ {
695
+ provide: NG_VALIDATORS,
696
+ multi: true,
697
+ useExisting: forwardRef(() => SacDropzoneMultipleComponent),
698
+ },
699
+ ],
700
+ styles: [".dropzone{background:transparent;border:.125rem dashed #d3d3d3;border-radius:.5rem;min-height:9.75rem}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{bottom:0;left:0;position:relative;right:0;top:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0;height:100%}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;position:absolute;right:0}.dropzone .custom-file-input{height:unset;min-height:100%;opacity:0;position:absolute;width:100%}"]
701
+ },] }
702
+ ];
703
+ SacDropzoneMultipleComponent.ctorParameters = () => [
704
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
705
+ { type: Injector },
706
+ { type: Renderer2 },
707
+ { type: NgZone }
708
+ ];
709
+
710
+ /**
711
+ * Dropzone Komponente für den Upload eines Files
712
+ * @see https://github.com/kukhariev/ngx-uploadx/
713
+ */
714
+ class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
715
+ // #region Constructors
716
+ /**
717
+ * Constructor
718
+ * @param formLayout SacFormLayout to define scoped layout settings
719
+ * @param injector Injector for injecting services
720
+ * @param renderer Angular rendering engine
721
+ * @param ngZone ngZone to manage external javascripts
722
+ */
723
+ constructor(formLayout, injector, renderer, ngZone) {
724
+ super(formLayout, injector, renderer, ngZone);
725
+ }
726
+ // #endregion Constructors
727
+ // #region Public Methods
728
+ /**
729
+ * Initialisiert das Control
730
+ */
731
+ ngOnInit() {
732
+ super.ngOnInit();
733
+ }
734
+ }
735
+ SacDropzoneSingleComponent.decorators = [
736
+ { type: Component, args: [{
737
+ selector: 'sac-dropzonesingle',
738
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\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 >\r\n <div\r\n class=\"content d-flex justify-content-center position-relative\"\r\n *ngIf=\"uploads.length === 0\"\r\n >\r\n <div class=\"align-self-center text-center\">\r\n <div\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"flex-fill progress-container\">\r\n <div class=\"dropzone-uploadstates\" *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 >\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 >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\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 />\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
739
+ providers: [
740
+ {
741
+ provide: NG_VALUE_ACCESSOR,
742
+ multi: true,
743
+ useExisting: SacDropzoneSingleComponent,
744
+ },
745
+ {
746
+ provide: NG_VALIDATORS,
747
+ multi: true,
748
+ useExisting: forwardRef(() => SacDropzoneSingleComponent),
749
+ },
750
+ ],
751
+ styles: [".dropzone{background:transparent;border:.125rem dashed #d3d3d3;border-radius:.5rem;min-height:9.75rem}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{bottom:0;left:0;position:relative;right:0;top:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0;height:100%}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;position:absolute;right:0}.dropzone .custom-file-input{height:unset;min-height:100%;opacity:0;position:absolute;width:100%}"]
752
+ },] }
753
+ ];
754
+ SacDropzoneSingleComponent.ctorParameters = () => [
755
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
756
+ { type: Injector },
757
+ { type: Renderer2 },
758
+ { type: NgZone }
759
+ ];
760
+
761
+ /**
762
+ * Upload Komponten
763
+ * @see https://github.com/kukhariev/ngx-uploadx/
764
+ */
765
+ class SacUploadComponent extends SacUploadSingleCommon {
766
+ // #region Constructors
767
+ /**
768
+ * Constructor
769
+ * @param formLayout SacFormLayout to define scoped layout settings
770
+ * @param injector Injector for injecting services
771
+ * @param renderer Angular rendering engine
772
+ * @param ngZone ngZone to manage external javascripts
773
+ */
774
+ constructor(formLayout, injector, renderer, ngZone) {
775
+ super(formLayout, injector, renderer, ngZone);
776
+ }
777
+ }
778
+ SacUploadComponent.decorators = [
779
+ { type: Component, args: [{
780
+ selector: 'sac-upload',
781
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\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 [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\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-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i class=\"pe-2\" [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\"\r\n >{{\r\n lngResourceService.GetString(validationKeyService.UploadButtonBrowse)\r\n | async }}</span\r\n >\r\n <input\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 />\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\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 >\r\n <span class=\"progress-text text-dark\"\r\n >{{ Filename() | async }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\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.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pe-2\"></span>{{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload) |\r\n async }}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
782
+ providers: [
783
+ {
784
+ provide: NG_VALUE_ACCESSOR,
785
+ multi: true,
786
+ useExisting: SacUploadComponent,
787
+ },
788
+ {
789
+ provide: NG_VALIDATORS,
790
+ multi: true,
791
+ useExisting: forwardRef(() => SacUploadComponent),
792
+ },
793
+ ],
794
+ styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.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{border:0;padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{left:0;position:absolute;right:0}"]
795
+ },] }
796
+ ];
797
+ SacUploadComponent.ctorParameters = () => [
798
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
799
+ { type: Injector },
800
+ { type: Renderer2 },
801
+ { type: NgZone }
802
+ ];
803
+
804
+ /**
805
+ * Upload Komponente für den Upload mehrer Files
806
+ * @see https://github.com/kukhariev/ngx-uploadx/
807
+ */
808
+ class SacUploadMultipleComponent extends SacUploadMultipleCommon {
809
+ // #region Constructors
810
+ /**
811
+ * Constructor
812
+ * @param formLayout SacFormLayout to define scoped layout settings
813
+ * @param injector Injector for injecting services
814
+ * @param renderer Angular rendering engine
815
+ * @param ngZone ngZone to manage external javascripts
816
+ */
817
+ constructor(formLayout, injector, renderer, ngZone) {
818
+ super(formLayout, injector, renderer, ngZone);
819
+ }
820
+ }
821
+ SacUploadMultipleComponent.decorators = [
822
+ { type: Component, args: [{
823
+ selector: 'sac-uploadmultiple',
824
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\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 [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\" class=\"pe-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\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 />\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 >\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\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-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pe-2\"></span> {{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload)\r\n | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" 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 >\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\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 >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\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-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pe-2\"></span>{{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload)\r\n | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
825
+ providers: [
826
+ {
827
+ provide: NG_VALUE_ACCESSOR,
828
+ multi: true,
829
+ useExisting: SacUploadMultipleComponent,
830
+ },
831
+ {
832
+ provide: NG_VALIDATORS,
833
+ multi: true,
834
+ useExisting: forwardRef(() => SacUploadMultipleComponent),
835
+ },
836
+ ],
837
+ styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.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{border:0;padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{left:0;position:absolute;right:0}"]
838
+ },] }
839
+ ];
840
+ SacUploadMultipleComponent.ctorParameters = () => [
841
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
842
+ { type: Injector },
843
+ { type: Renderer2 },
844
+ { type: NgZone }
845
+ ];
846
+
847
+ class SACBootstrap5UploadModule {
848
+ }
849
+ SACBootstrap5UploadModule.decorators = [
850
+ { type: NgModule, args: [{
851
+ declarations: [
852
+ SacUploadComponent,
853
+ SacUploadMultipleComponent,
854
+ SacDropzoneSingleComponent,
855
+ SacDropzoneMultipleComponent,
856
+ ],
857
+ imports: [CommonModule, FormsModule, SACBootstrap5LayoutModule],
858
+ exports: [
859
+ SacUploadComponent,
860
+ SacUploadMultipleComponent,
861
+ SacDropzoneSingleComponent,
862
+ SacDropzoneMultipleComponent,
863
+ ],
864
+ },] }
865
+ ];
866
+
867
+ /**
868
+ * Server File Browser Komponente
869
+ */
870
+ class SacBrowserComponent extends SacFileBrowserCommon {
871
+ // #endregion Properties
872
+ // #region Constructors
873
+ /**
874
+ * Konstruktor
875
+ * @param httpClient HTTP Client
876
+ * @param injector Angular Dependency Injection Service
877
+ * @param confirmService Confirm Service
878
+ */
879
+ constructor(httpClient, injector, confirmService) {
880
+ super(httpClient, injector);
881
+ this.confirmService = confirmService;
882
+ }
883
+ // #endregion Constructors
884
+ // #region Public Methods
885
+ /**
886
+ * Confirm Action wenn ein File gelöscht werden soll
887
+ * @param file File das gelöscht werden soll.
888
+ * @returns Observable ob File gelöscht werden kann.
889
+ */
890
+ confirmDeleteFile(file) {
891
+ return new Observable((observer) => {
892
+ forkJoin({
893
+ title: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
894
+ message: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
895
+ }).subscribe((text) => {
896
+ this.confirmService
897
+ .ConfirmMessage(text.title, text.message)
898
+ .subscribe((result) => {
899
+ if (result === 'yes') {
900
+ observer.next(true);
901
+ }
902
+ else {
903
+ observer.next(false);
904
+ }
905
+ observer.complete();
906
+ });
907
+ });
908
+ });
909
+ }
910
+ /**
911
+ * Confirm Action wenn ein Ordner gelöscht werden soll
912
+ * @param node Ordner der gelöscht werden soll
913
+ * @returns Observable ob Ordner gelöscht kann.
914
+ */
915
+ confirmDeleteNode(node) {
916
+ return new Observable((observer) => {
917
+ forkJoin({
918
+ title: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
919
+ message: this.lngResourceService.GetString(this.validationKeyService.FilebrowserConfirmTextDeleteFolder),
920
+ }).subscribe((text) => {
921
+ this.confirmService
922
+ .ConfirmMessage(text.title, text.message)
923
+ .subscribe((result) => {
924
+ if (result === 'yes') {
925
+ observer.next(true);
926
+ }
927
+ else {
928
+ observer.next(false);
929
+ }
930
+ observer.complete();
931
+ });
932
+ });
933
+ });
934
+ }
935
+ /**
936
+ * Erzeugt ein Array von einer bestimmten grösse
937
+ * @param anzahl Grösse des Array
938
+ * @returns Array
939
+ */
940
+ count(anzahl) {
941
+ return new Array(anzahl);
942
+ }
943
+ /**
944
+ * Methode wird aufgerufen, wenn eine Datei verschoben wird
945
+ * @param uploadid Upload ID
946
+ */
947
+ uploadedFileMoved(uploadid) {
948
+ const item = this.uploadComponent.uploads.find((itm) => itm.documentid === uploadid);
949
+ if (item) {
950
+ this.uploadComponent.cancel(item.uploadId);
951
+ }
952
+ }
953
+ }
954
+ SacBrowserComponent.decorators = [
955
+ { type: Component, args: [{
956
+ selector: 'sac-filebrowser',
957
+ template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{\r\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\r\n | async }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\r\n | async }}\r\n </th>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\r\n | async }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\r\n | async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
958
+ providers: [ServiceConfirm]
959
+ },] }
960
+ ];
961
+ SacBrowserComponent.ctorParameters = () => [
962
+ { type: HttpClient },
963
+ { type: Injector },
964
+ { type: ServiceConfirm }
965
+ ];
966
+ SacBrowserComponent.propDecorators = {
967
+ uploadComponent: [{ type: ViewChild, args: [SacDropzoneMultipleComponent, { static: false },] }]
968
+ };
969
+
970
+ class SACBootstrap5BrowserModule {
971
+ }
972
+ SACBootstrap5BrowserModule.decorators = [
973
+ { type: NgModule, args: [{
974
+ declarations: [SacBrowserComponent],
975
+ imports: [
976
+ CommonModule,
977
+ HttpClientModule,
978
+ SACBootstrap5ConfirmModule,
979
+ SACBootstrap5ContextmenuModule,
980
+ SACBootstrap5UploadModule,
981
+ SACBootstrap5FormModule,
982
+ FormsModule,
983
+ ],
984
+ exports: [SacBrowserComponent],
985
+ bootstrap: [SacBrowserComponent],
986
+ },] }
987
+ ];
988
+
989
+ /**
990
+ * Checkbox Kompontente
991
+ */
992
+ class SacCheckboxComponent extends SacCheckboxCommon {
993
+ // #region Constructors
994
+ /**
995
+ * Constructor
996
+ * @param formLayout SacFormLayout to define scoped layout settings
997
+ * @param injector Injector for injecting services
998
+ */
999
+ constructor(formLayout, injector) {
1000
+ super(formLayout, injector);
1001
+ }
1002
+ }
1003
+ SacCheckboxComponent.decorators = [
1004
+ { type: Component, args: [{
1005
+ selector: 'sac-checkbox',
1006
+ template: "<div class=\"row\" [class.g-0]=\"disablelabel\" [class.mb-3]=\"!stacked\">\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden' ]\"\r\n >\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{name}}\"\r\n class=\"col-form-label\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n <div\r\n class=\"align-self-center col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <input\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <ng-container *ngIf=\"checkboxtext\">{{checkboxtext}}</ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n",
1007
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1008
+ providers: [
1009
+ {
1010
+ provide: NG_VALUE_ACCESSOR,
1011
+ multi: true,
1012
+ useExisting: SacCheckboxComponent,
1013
+ },
1014
+ {
1015
+ provide: NG_VALIDATORS,
1016
+ useExisting: forwardRef(() => SacCheckboxComponent),
1017
+ multi: true,
1018
+ },
1019
+ ],
1020
+ styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{height:1rem;width:1rem}.form-check-input-sm{height:.875rem;margin-top:.4rem;width:.875rem}.form-check-input-lg{height:1.25rem;margin-left:-1.75rem;width:1.25rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}"]
1021
+ },] }
1022
+ ];
1023
+ SacCheckboxComponent.ctorParameters = () => [
1024
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1025
+ { type: Injector }
1026
+ ];
1027
+
1028
+ /**
1029
+ * Radiobuttons Group Komponente
1030
+ */
1031
+ class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
1032
+ // #region Constructors
1033
+ /**
1034
+ * Constructor
1035
+ * @param formLayout SacFormLayout to define scoped layout settings
1036
+ * @param injector Injector for injecting services
1037
+ */
1038
+ constructor(formLayout, injector) {
1039
+ super(formLayout, injector);
1040
+ }
1041
+ }
1042
+ SacRadiobuttonsComponent.decorators = [
1043
+ { type: Component, args: [{
1044
+ selector: 'sac-radiobuttons',
1045
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <div\r\n *ngIf=\"disablelabel === false\"\r\n class=\"col-12 pt-0\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden' ]\"\r\n >\r\n <label\r\n class=\"col-form-label\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n *ngIf=\"!disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\r\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n",
1046
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1047
+ providers: [
1048
+ {
1049
+ provide: NG_VALUE_ACCESSOR,
1050
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
1051
+ multi: true,
1052
+ },
1053
+ {
1054
+ provide: NG_VALIDATORS,
1055
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
1056
+ multi: true,
1057
+ },
1058
+ ]
1059
+ },] }
1060
+ ];
1061
+ SacRadiobuttonsComponent.ctorParameters = () => [
1062
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1063
+ { type: Injector }
1064
+ ];
1065
+
1066
+ /**
1067
+ * Radiobutton Komponente
1068
+ */
1069
+ class SacRadiobuttonComponent extends SacRadiobuttonCommon {
1070
+ /**
1071
+ * Konstruktor
1072
+ * @param SacRadioButtons Radio Buttons Group Komponente
1073
+ */
1074
+ constructor(sacRadioButtons) {
1075
+ super(sacRadioButtons);
1076
+ }
1077
+ }
1078
+ SacRadiobuttonComponent.decorators = [
1079
+ { type: Component, args: [{
1080
+ selector: 'sac-radiobutton',
1081
+ template: "<div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n *ngIf=\"hidden===false\"\r\n>\r\n <input\r\n id=\"{{getName}}_{{getIndex}}\"\r\n name=\"{{getName}}\"\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n <label\r\n for=\"{{getName}}_{{getIndex}}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate;context:{ label: label }\"\r\n >\r\n </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">{{label}}</ng-template>\r\n",
1082
+ styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{height:1rem;width:1rem}.form-check-input-sm{height:.875rem;margin-top:.4rem;width:.875rem}.form-check-input-lg{height:1.25rem;margin-left:-1.75rem;margin-top:.4rem;width:1.25rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}"]
1083
+ },] }
1084
+ ];
1085
+ SacRadiobuttonComponent.ctorParameters = () => [
1086
+ { type: SacRadiobuttonsComponent, decorators: [{ type: Host }] }
1087
+ ];
1088
+
1089
+ class SACBootstrap5CheckboxModule {
1090
+ }
1091
+ SACBootstrap5CheckboxModule.decorators = [
1092
+ { type: NgModule, args: [{
1093
+ declarations: [
1094
+ SacCheckboxComponent,
1095
+ SacRadiobuttonComponent,
1096
+ SacRadiobuttonsComponent,
1097
+ ],
1098
+ imports: [CommonModule, SACBootstrap5LayoutModule],
1099
+ exports: [
1100
+ SacCheckboxComponent,
1101
+ SacRadiobuttonComponent,
1102
+ SacRadiobuttonsComponent,
1103
+ ],
1104
+ },] }
1105
+ ];
1106
+
1107
+ /**
1108
+ * Referenz auf Moment.JS
1109
+ */
1110
+ const moment = moment_;
1111
+ /**
1112
+ * Komponente für Datumauswahl
1113
+ */
1114
+ class SacDateComponent extends SacDateCommon {
1115
+ // #region Constructors
1116
+ /**
1117
+ * Constructor
1118
+ * @param formLayout SacFormLayout to define scoped layout settings
1119
+ * @param injector Injector for injecting services
1120
+ * @param elementRef Reference to html dom element
1121
+ */
1122
+ constructor(formLayout, injector, elementRef) {
1123
+ super(formLayout, injector, elementRef);
1124
+ }
1125
+ }
1126
+ SacDateComponent.decorators = [
1127
+ { type: Component, args: [{
1128
+ selector: 'sac-date',
1129
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <button\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"popover fade bs-popover-bottom show position-absolute\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: unset;\r\n max-width: 325px;\r\n margin-top: 7px;\r\n \"\r\n >\r\n <div\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.right.rem]=\"componentHeight === ControlHeight.Small ? 1.1 : componentHeight === ControlHeight.Large ? 1.8 : 1.4\"\r\n ></div>\r\n <h3 class=\"popover-header\" style=\"display: none\"></h3>\r\n <div class=\"popover-body\">\r\n <sac-dateselector\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",
1130
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1131
+ providers: [
1132
+ {
1133
+ provide: NG_VALUE_ACCESSOR,
1134
+ multi: true,
1135
+ useExisting: forwardRef(() => SacDateComponent),
1136
+ },
1137
+ {
1138
+ provide: NG_VALIDATORS,
1139
+ multi: true,
1140
+ useExisting: forwardRef(() => SacDateComponent),
1141
+ },
1142
+ ]
1143
+ },] }
1144
+ ];
1145
+ SacDateComponent.ctorParameters = () => [
1146
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1147
+ { type: Injector },
1148
+ { type: ElementRef }
1149
+ ];
1150
+
1151
+ /**
1152
+ * DateTime Selektor Komponente
1153
+ */
1154
+ class SacDateSelectorComponent extends SacDateSelectorCommon {
1155
+ }
1156
+ SacDateSelectorComponent.decorators = [
1157
+ { type: Component, args: [{
1158
+ selector: 'sac-dateselector',
1159
+ template: "<div class=\"calendar-selector\">\r\n <div *ngIf=\"dateselection\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col text-start\">\r\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\r\n </div>\r\n <div class=\"col text-center\">{{month+1}}/{{year}}</div>\r\n <div class=\"col text-end\">\r\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\r\n </div>\r\n </div>\r\n </div>\r\n <div></div>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <ng-container *ngFor=\"let item of week\">\r\n <div\r\n class=\"p-2 col text-center\"\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 </div>\r\n </ng-container>\r\n <div class=\"w-100\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-start\" *ngIf=\"timeselection\">\r\n <div class=\"p-2\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control form-control-sm\"\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=\"p-2\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control form-control-sm\"\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 class=\"d-flex flex-row\">\r\n <div class=\"flex-grow-1 p-2\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"p-2\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"resetSelection()\"\r\n >\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"p-2\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"applySelection()\">\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n"
1160
+ },] }
1161
+ ];
1162
+
1163
+ /**
1164
+ * Date und Time Komponente
1165
+ */
1166
+ class SacDateTimeComponent extends SacDateTimeCommon {
1167
+ // #region Constructors
1168
+ /**
1169
+ * Constructor
1170
+ * @param formLayout SacFormLayout to define scoped layout settings
1171
+ * @param injector Injector for injecting services
1172
+ * @param elementRef Reference to html dom element
1173
+ */
1174
+ constructor(formLayout, injector, elementRef) {
1175
+ super(formLayout, injector, elementRef);
1176
+ }
1177
+ }
1178
+ SacDateTimeComponent.decorators = [
1179
+ { type: Component, args: [{
1180
+ selector: 'sac-datetime',
1181
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <button\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"popover fade bs-popover-bottom show position-absolute\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: unset;\r\n max-width: 325px;\r\n margin-top: 7px;\r\n \"\r\n >\r\n <div\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.right.rem]=\"componentHeight === ControlHeight.Small ? 1.1 : componentHeight === ControlHeight.Large ? 1.8 : 1.4\"\r\n ></div>\r\n <h3 class=\"popover-header\" style=\"display: none\"></h3>\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1182
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1183
+ providers: [
1184
+ {
1185
+ provide: NG_VALUE_ACCESSOR,
1186
+ multi: true,
1187
+ useExisting: forwardRef(() => SacDateTimeComponent),
1188
+ },
1189
+ {
1190
+ provide: NG_VALIDATORS,
1191
+ multi: true,
1192
+ useExisting: forwardRef(() => SacDateTimeComponent),
1193
+ },
1194
+ ]
1195
+ },] }
1196
+ ];
1197
+ SacDateTimeComponent.ctorParameters = () => [
1198
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1199
+ { type: Injector },
1200
+ { type: ElementRef }
1201
+ ];
1202
+
1203
+ /**
1204
+ * Time Auswahl Komponente
1205
+ */
1206
+ class SacTimeComponent extends SacTimeCommon {
1207
+ // #region Constructors
1208
+ /**
1209
+ * Constructor
1210
+ * @param formLayout SacFormLayout to define scoped layout settings
1211
+ * @param injector Injector for injecting services
1212
+ * @param elementRef Reference to html dom element
1213
+ */
1214
+ constructor(formLayout, injector, elementRef) {
1215
+ super(formLayout, injector, elementRef);
1216
+ }
1217
+ }
1218
+ SacTimeComponent.decorators = [
1219
+ { type: Component, args: [{
1220
+ selector: 'sac-time',
1221
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <button\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"popover fade bs-popover-bottom show position-absolute\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: unset;\r\n max-width: 325px;\r\n margin-top: 7px;\r\n \"\r\n >\r\n <div\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.right.rem]=\"componentHeight === ControlHeight.Small ? 1.1 : componentHeight === ControlHeight.Large ? 1.8 : 1.4\"\r\n ></div>\r\n <h3 class=\"popover-header\" style=\"display: none\"></h3>\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1222
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1223
+ providers: [
1224
+ {
1225
+ provide: NG_VALUE_ACCESSOR,
1226
+ multi: true,
1227
+ useExisting: forwardRef(() => SacTimeComponent),
1228
+ },
1229
+ {
1230
+ provide: NG_VALIDATORS,
1231
+ multi: true,
1232
+ useExisting: forwardRef(() => SacTimeComponent),
1233
+ },
1234
+ ]
1235
+ },] }
1236
+ ];
1237
+ SacTimeComponent.ctorParameters = () => [
1238
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1239
+ { type: Injector },
1240
+ { type: ElementRef }
1241
+ ];
1242
+
1243
+ class SACBootstrap5DateTimeModule {
1244
+ }
1245
+ SACBootstrap5DateTimeModule.decorators = [
1246
+ { type: NgModule, args: [{
1247
+ declarations: [
1248
+ SacDateComponent,
1249
+ SacDateTimeComponent,
1250
+ SacTimeComponent,
1251
+ SacDateSelectorComponent,
1252
+ ],
1253
+ imports: [CommonModule, IMaskModule, SACBootstrap5LayoutModule],
1254
+ exports: [
1255
+ SacDateComponent,
1256
+ SacDateTimeComponent,
1257
+ SacTimeComponent,
1258
+ SacDateSelectorComponent,
1259
+ ],
1260
+ },] }
1261
+ ];
1262
+
1263
+ /**
1264
+ * Grid Komponente
1265
+ */
1266
+ class SacGridComponent extends SacGridCommon {
1267
+ // #endregion Properties
1268
+ // #region Constructors
1269
+ /**
1270
+ * Konstrukor
1271
+ * @param cdRef Change Detection Reference
1272
+ */
1273
+ constructor(cdRef, injector) {
1274
+ super(cdRef, injector);
1275
+ /**
1276
+ * Setzt die Ellipsis Funktion auf der Column
1277
+ */
1278
+ this.ellipsis = false;
1279
+ }
1280
+ }
1281
+ SacGridComponent.decorators = [
1282
+ { type: Component, args: [{
1283
+ selector: 'sac-grid',
1284
+ template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id={{name}}>\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <ng-container *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\">\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 *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\">\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf=\"value === undefined || value === null || value.length===0\">\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n <tr>\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging name=\"{{name}}Paging\" (paging)=\"pageChange($event)\" [pagerdata]=\"pagerdata\" [pagesizes]=\"pagesizes\" [pagingtext]=\"pagingtext\" [pagesizetext]=\"pagesizetext\" [pagesizedisabled]=\"pagesizedisabled\"></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n",
1285
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1286
+ providers: [
1287
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
1288
+ {
1289
+ provide: NG_VALIDATORS,
1290
+ multi: true,
1291
+ useExisting: forwardRef(() => SacGridComponent),
1292
+ },
1293
+ ]
1294
+ },] }
1295
+ ];
1296
+ SacGridComponent.ctorParameters = () => [
1297
+ { type: ChangeDetectorRef },
1298
+ { type: Injector }
1299
+ ];
1300
+ SacGridComponent.propDecorators = {
1301
+ template: [{ type: ContentChild, args: [TemplateRef, { static: false },] }]
1302
+ };
1303
+
1304
+ /**
1305
+ * Grid Action Button
1306
+ *
1307
+ * @example Standard Action
1308
+ *
1309
+ * <ngGridButton icon="edit" (clicked)="action('edit')" [isdisabled]="true"></ngGridButton>
1310
+ *
1311
+ * @example Custom Action
1312
+ *
1313
+ * <ngGridButton iconstyle="sprite" icon="icon-sprite-base-main_info" (clicked)="action("info")"></ngGridButton>
1314
+ *
1315
+ */
1316
+ class SacGridButtonComponent extends SacGridButtonCommon {
1317
+ /**
1318
+ * Gibt das Icon für den Button zurück
1319
+ */
1320
+ getIconClass() {
1321
+ let iconset = this.iconstyle;
1322
+ let iconcss = this.icon;
1323
+ if (iconset === '') {
1324
+ switch (this.icon) {
1325
+ case 'edit':
1326
+ iconset = 'sprite';
1327
+ iconcss = 'icon-sprite-base-main_edit';
1328
+ break;
1329
+ case 'delete':
1330
+ iconset = 'sprite';
1331
+ iconcss = 'icon-sprite-base-main_delete';
1332
+ break;
1333
+ }
1334
+ }
1335
+ if (this._isdisabledvalue) {
1336
+ iconcss += '_disabled';
1337
+ }
1338
+ const result = iconset + ' ' + iconcss;
1339
+ return result.trim();
1340
+ }
1341
+ }
1342
+ SacGridButtonComponent.decorators = [
1343
+ { type: Component, args: [{
1344
+ selector: 'sac-gridbutton',
1345
+ template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\r\n"
1346
+ },] }
1347
+ ];
1348
+
1349
+ /**
1350
+ * Grid Column Komponente
1351
+ */
1352
+ class SacGridColumnComponent extends SacGridColumnCommon {
1353
+ /**
1354
+ * Konstruktor
1355
+ * @param grid Grid Referenz
1356
+ * @param el HTML DOM Element
1357
+ */
1358
+ constructor(grid, injector, el) {
1359
+ super(grid, injector, el);
1360
+ }
1361
+ }
1362
+ SacGridColumnComponent.decorators = [
1363
+ { type: Component, args: [{
1364
+ selector: 'sac-gridcolumn',
1365
+ template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\"\r\n>\r\n <span>{{header}}</span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortDown\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='desc'\"\r\n ></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>\r\n <span [attr.title]=\"IsEllipsis() ? value : null\"> {{value}} </span>\r\n</td>\r\n",
1366
+ providers: [
1367
+ {
1368
+ provide: SacGridColumnBaseCommon,
1369
+ useExisting: forwardRef(() => SacGridColumnComponent),
1370
+ },
1371
+ ]
1372
+ },] }
1373
+ ];
1374
+ SacGridColumnComponent.ctorParameters = () => [
1375
+ { type: SacGridComponent },
1376
+ { type: Injector },
1377
+ { type: ElementRef }
1378
+ ];
1379
+
1380
+ /**
1381
+ * Grid Action Komponent
1382
+ */
1383
+ class SacGridColumnActionComponent extends SacGridColumnActionCommon {
1384
+ /**
1385
+ * Konstruktor
1386
+ * @param grid Referenz auf Grid
1387
+ * @param el HTML Element Referenz
1388
+ */
1389
+ constructor(grid, injector, el) {
1390
+ super(grid, injector, el);
1391
+ this.width = '60px';
1392
+ }
1393
+ }
1394
+ SacGridColumnActionComponent.decorators = [
1395
+ { type: Component, args: [{
1396
+ selector: 'sac-gridcolumnaction',
1397
+ template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" class=\"px-2\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n",
1398
+ providers: [
1399
+ {
1400
+ provide: SacGridColumnBaseCommon,
1401
+ useExisting: forwardRef(() => SacGridColumnActionComponent),
1402
+ },
1403
+ ]
1404
+ },] }
1405
+ ];
1406
+ SacGridColumnActionComponent.ctorParameters = () => [
1407
+ { type: SacGridComponent },
1408
+ { type: Injector },
1409
+ { type: ElementRef }
1410
+ ];
1411
+
1412
+ /**
1413
+ * Image Item für Grid
1414
+ */
1415
+ class SacGridImageComponent extends SacGridImageCommon {
1416
+ /**
1417
+ * Gibt die CSS Klassen für Sprite Images zurück
1418
+ * @returns CSS Klasse
1419
+ */
1420
+ getIconClass() {
1421
+ switch (this.iconstyle) {
1422
+ case 'edit':
1423
+ return 'sprite icon-sprite-base-main_edit';
1424
+ case 'delete':
1425
+ return 'sprite icon-sprite-base-main_delete';
1426
+ default:
1427
+ return this.iconstyle;
1428
+ }
1429
+ }
1430
+ }
1431
+ SacGridImageComponent.decorators = [
1432
+ { type: Component, args: [{
1433
+ selector: 'sac-gridimage',
1434
+ template: "<span><span class=\"{{getIconClass()}}\"></span></span>\r\n"
1435
+ },] }
1436
+ ];
1437
+
1438
+ /**
1439
+ * Paging Komponente
1440
+ */
1441
+ class SacPagingComponent extends SacPagingCommon {
1442
+ /**
1443
+ * Konstruktor
1444
+ * @param injector Angular Dependency Injection Service
1445
+ */
1446
+ constructor(injector) {
1447
+ super(injector);
1448
+ }
1449
+ }
1450
+ SacPagingComponent.decorators = [
1451
+ { type: Component, args: [{
1452
+ selector: 'sac-paging',
1453
+ template: "<div\r\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\r\n id=\"{{name}}\"\r\n>\r\n <div class=\"col-pagination order-2 order-md-1\" id=\"{{name}}_pages\">\r\n <ul class=\"pagination mb-4 mb-md-0\">\r\n <li\r\n class=\"page-item\"\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n class=\"page-item\"\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n class=\"page-item\"\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-summary order-1 order-md-2\">\r\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\r\n </div>\r\n <div class=\"col-pagesize order-3\" *ngIf=\"!pagesizedisabled\">\r\n <div class=\"d-flex align-items-center\" id=\"{{name}}_size\">\r\n <select\r\n class=\"form-select form-select-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 <div class=\"ms-2\">{{ PageSizeText | async }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1454
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1455
+ providers: [
1456
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1457
+ {
1458
+ provide: NG_VALIDATORS,
1459
+ multi: true,
1460
+ useExisting: forwardRef(() => SacPagingComponent),
1461
+ },
1462
+ ]
1463
+ },] }
1464
+ ];
1465
+ SacPagingComponent.ctorParameters = () => [
1466
+ { type: Injector }
1467
+ ];
1468
+
1469
+ class SACBootstrap5GridModule {
1470
+ }
1471
+ SACBootstrap5GridModule.decorators = [
1472
+ { type: NgModule, args: [{
1473
+ declarations: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent],
1474
+ imports: [
1475
+ CommonModule, FormsModule
1476
+ ],
1477
+ exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent]
1478
+ },] }
1479
+ ];
1480
+
1481
+ /**
1482
+ * Input Komponente
1483
+ */
1484
+ class SacInputComponent extends SacInputCommon {
1485
+ // #region Constructors
1486
+ /**
1487
+ * Constructor
1488
+ * @param formLayout SacFormLayout to define scoped layout settings
1489
+ * @param injector Injector for injecting services
1490
+ */
1491
+ constructor(formLayout, injector) {
1492
+ super(formLayout, injector);
1493
+ }
1494
+ }
1495
+ SacInputComponent.decorators = [
1496
+ { type: Component, args: [{
1497
+ selector: 'sac-input',
1498
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1499
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1500
+ providers: [
1501
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
1502
+ {
1503
+ provide: NG_VALIDATORS,
1504
+ multi: true,
1505
+ useExisting: forwardRef(() => SacInputComponent),
1506
+ },
1507
+ ]
1508
+ },] }
1509
+ ];
1510
+ SacInputComponent.ctorParameters = () => [
1511
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1512
+ { type: Injector }
1513
+ ];
1514
+
1515
+ /**
1516
+ * Input Box für lange Texte
1517
+ */
1518
+ class SacInputAreaComponent extends SacInputAreaCommon {
1519
+ // #region Constructors
1520
+ /**
1521
+ * Constructor
1522
+ * @param formLayout SacFormLayout to define scoped layout settings
1523
+ * @param injector Injector for injecting services
1524
+ */
1525
+ constructor(formLayout, injector) {
1526
+ super(formLayout, injector);
1527
+ }
1528
+ }
1529
+ SacInputAreaComponent.decorators = [
1530
+ { type: Component, args: [{
1531
+ selector: 'sac-inputarea',
1532
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <textarea\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"\"\r\n class=\"form-control\"\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 [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [attr.maxlength]=\"maxlength\"\r\n [readonly]=\"readonly\"\r\n ></textarea>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1533
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1534
+ providers: [
1535
+ {
1536
+ provide: NG_VALUE_ACCESSOR,
1537
+ multi: true,
1538
+ useExisting: forwardRef(() => SacInputAreaComponent),
1539
+ },
1540
+ {
1541
+ provide: NG_VALIDATORS,
1542
+ multi: true,
1543
+ useExisting: forwardRef(() => SacInputAreaComponent),
1544
+ },
1545
+ ]
1546
+ },] }
1547
+ ];
1548
+ SacInputAreaComponent.ctorParameters = () => [
1549
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1550
+ { type: Injector }
1551
+ ];
1552
+
1553
+ /**
1554
+ * Input Control für Währungen
1555
+ */
1556
+ class SacInputCurrencyComponent extends SacInputCurrencyCommon {
1557
+ // #region Constructors
1558
+ /**
1559
+ * Constructor
1560
+ * @param formLayout SacFormLayout to define scoped layout settings
1561
+ * @param injector Injector for injecting services
1562
+ */
1563
+ constructor(formLayout, injector) {
1564
+ super(formLayout, injector);
1565
+ }
1566
+ }
1567
+ SacInputCurrencyComponent.decorators = [
1568
+ { type: Component, args: [{
1569
+ selector: 'sac-inputcurrency',
1570
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"input-group input-group-sm\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n />\r\n <span class=\"input-group-text\">{{currency}}</span>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1571
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1572
+ providers: [
1573
+ {
1574
+ provide: NG_VALUE_ACCESSOR,
1575
+ multi: true,
1576
+ useExisting: forwardRef(() => SacInputCurrencyComponent),
1577
+ },
1578
+ {
1579
+ provide: NG_VALIDATORS,
1580
+ multi: true,
1581
+ useExisting: forwardRef(() => SacInputCurrencyComponent),
1582
+ },
1583
+ ]
1584
+ },] }
1585
+ ];
1586
+ SacInputCurrencyComponent.ctorParameters = () => [
1587
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1588
+ { type: Injector }
1589
+ ];
1590
+
1591
+ /**
1592
+ * Input Komponente für Zahlen
1593
+ */
1594
+ class SacInputDecimalComponent extends SacInputDecimalCommon {
1595
+ // #region Constructors
1596
+ /**
1597
+ * Constructor
1598
+ * @param formLayout SacFormLayout to define scoped layout settings
1599
+ * @param injector Injector for injecting services
1600
+ */
1601
+ constructor(formLayout, injector) {
1602
+ super(formLayout, injector);
1603
+ }
1604
+ }
1605
+ SacInputDecimalComponent.decorators = [
1606
+ { type: Component, args: [{
1607
+ selector: 'sac-inputdecimal',
1608
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1609
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1610
+ providers: [
1611
+ {
1612
+ provide: NG_VALUE_ACCESSOR,
1613
+ multi: true,
1614
+ useExisting: forwardRef(() => SacInputDecimalComponent),
1615
+ },
1616
+ {
1617
+ provide: NG_VALIDATORS,
1618
+ multi: true,
1619
+ useExisting: forwardRef(() => SacInputDecimalComponent),
1620
+ },
1621
+ ]
1622
+ },] }
1623
+ ];
1624
+ SacInputDecimalComponent.ctorParameters = () => [
1625
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1626
+ { type: Injector }
1627
+ ];
1628
+
1629
+ /**
1630
+ * Input Box für E-Mail Adressen
1631
+ */
1632
+ class SacInputEmailComponent extends SacInputEmailCommon {
1633
+ // #region Constructors
1634
+ /**
1635
+ * Constructor
1636
+ * @param formLayout SacFormLayout to define scoped layout settings
1637
+ * @param injector Injector for injecting services
1638
+ */
1639
+ constructor(formLayout, injector) {
1640
+ super(formLayout, injector);
1641
+ }
1642
+ }
1643
+ SacInputEmailComponent.decorators = [
1644
+ { type: Component, args: [{
1645
+ selector: 'sac-inputemail',
1646
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <span class=\"input-group-text\">@</span>\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"email\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1647
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1648
+ providers: [
1649
+ {
1650
+ provide: NG_VALUE_ACCESSOR,
1651
+ multi: true,
1652
+ useExisting: forwardRef(() => SacInputEmailComponent),
1653
+ },
1654
+ {
1655
+ provide: NG_VALIDATORS,
1656
+ multi: true,
1657
+ useExisting: forwardRef(() => SacInputEmailComponent),
1658
+ },
1659
+ ]
1660
+ },] }
1661
+ ];
1662
+ SacInputEmailComponent.ctorParameters = () => [
1663
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1664
+ { type: Injector }
1665
+ ];
1666
+
1667
+ /**
1668
+ * Input Komponten für Ganzzahlen
1669
+ */
1670
+ class SacInputIntegerComponent extends SacInputIntegerCommon {
1671
+ // #region Constructors
1672
+ /**
1673
+ * Constructor
1674
+ * @param formLayout SacFormLayout to define scoped layout settings
1675
+ * @param injector Injector for injecting services
1676
+ */
1677
+ constructor(formLayout, injector) {
1678
+ super(formLayout, injector);
1679
+ }
1680
+ }
1681
+ SacInputIntegerComponent.decorators = [
1682
+ { type: Component, args: [{
1683
+ selector: 'sac-inputinteger',
1684
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1685
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1686
+ providers: [
1687
+ {
1688
+ provide: NG_VALUE_ACCESSOR,
1689
+ multi: true,
1690
+ useExisting: SacInputIntegerComponent,
1691
+ },
1692
+ {
1693
+ provide: NG_VALIDATORS,
1694
+ multi: true,
1695
+ useExisting: forwardRef(() => SacInputIntegerComponent),
1696
+ },
1697
+ ]
1698
+ },] }
1699
+ ];
1700
+ SacInputIntegerComponent.ctorParameters = () => [
1701
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1702
+ { type: Injector }
1703
+ ];
1704
+
1705
+ /**
1706
+ * Input Box für Passwörter
1707
+ */
1708
+ class SacInputPasswordComponent extends SacInputPasswordCommon {
1709
+ // #region Constructors
1710
+ /**
1711
+ * Constructor
1712
+ * @param formLayout SacFormLayout to define scoped layout settings
1713
+ * @param injector Injector for injecting services
1714
+ */
1715
+ constructor(formLayout, injector) {
1716
+ super(formLayout, injector);
1717
+ }
1718
+ }
1719
+ SacInputPasswordComponent.decorators = [
1720
+ { type: Component, args: [{
1721
+ selector: 'sac-inputpassword',
1722
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"new-password\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1723
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1724
+ providers: [
1725
+ {
1726
+ provide: NG_VALUE_ACCESSOR,
1727
+ multi: true,
1728
+ useExisting: SacInputPasswordComponent,
1729
+ },
1730
+ {
1731
+ provide: NG_VALIDATORS,
1732
+ multi: true,
1733
+ useExisting: forwardRef(() => SacInputPasswordComponent),
1734
+ },
1735
+ ]
1736
+ },] }
1737
+ ];
1738
+ SacInputPasswordComponent.ctorParameters = () => [
1739
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1740
+ { type: Injector }
1741
+ ];
1742
+
1743
+ /**
1744
+ * Input Box für Suche
1745
+ */
1746
+ class SacInputSearchComponent extends SacInputSearchCommon {
1747
+ // #region Constructors
1748
+ /**
1749
+ * Constructor
1750
+ * @param formLayout SacFormLayout to define scoped layout settings
1751
+ * @param injector Injector for injecting services
1752
+ */
1753
+ constructor(formLayout, injector) {
1754
+ super(formLayout, injector);
1755
+ }
1756
+ }
1757
+ SacInputSearchComponent.decorators = [
1758
+ { type: Component, args: [{
1759
+ selector: 'sac-inputsearch',
1760
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\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 [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <input\r\n type=\"submit\"\r\n class=\"btn btn-secondary\"\r\n id=\"{{name}}_search\"\r\n (click)=\"searchClick()\"\r\n [value]=\"buttontext\"\r\n />\r\n </div>\r\n </div>\r\n</div>\r\n",
1761
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1762
+ providers: [
1763
+ {
1764
+ provide: NG_VALUE_ACCESSOR,
1765
+ multi: true,
1766
+ useExisting: SacInputSearchComponent,
1767
+ },
1768
+ {
1769
+ provide: NG_VALIDATORS,
1770
+ multi: true,
1771
+ useExisting: forwardRef(() => SacInputSearchComponent),
1772
+ },
1773
+ ]
1774
+ },] }
1775
+ ];
1776
+ SacInputSearchComponent.ctorParameters = () => [
1777
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1778
+ { type: Injector }
1779
+ ];
1780
+
1781
+ class SACBootstrap5InputModule {
1782
+ }
1783
+ SACBootstrap5InputModule.decorators = [
1784
+ { type: NgModule, args: [{
1785
+ declarations: [
1786
+ SacInputComponent,
1787
+ SacInputAreaComponent,
1788
+ SacInputCurrencyComponent,
1789
+ SacInputDecimalComponent,
1790
+ SacInputEmailComponent,
1791
+ SacInputIntegerComponent,
1792
+ SacInputPasswordComponent,
1793
+ SacInputSearchComponent,
1794
+ ],
1795
+ imports: [CommonModule, SACBootstrap5LayoutModule],
1796
+ exports: [
1797
+ SacInputComponent,
1798
+ SacInputAreaComponent,
1799
+ SacInputCurrencyComponent,
1800
+ SacInputDecimalComponent,
1801
+ SacInputEmailComponent,
1802
+ SacInputIntegerComponent,
1803
+ SacInputPasswordComponent,
1804
+ SacInputSearchComponent,
1805
+ ],
1806
+ },] }
1807
+ ];
1808
+
1809
+ // #region Classes
1810
+ /**
1811
+ * Dropdown Komponente
1812
+ */
1813
+ class SacDropdownComponent extends SacDropdownCommon {
1814
+ // #region Constructors
1815
+ /**
1816
+ * Constructor
1817
+ * @param formLayout SacFormLayout to define scoped layout settings
1818
+ * @param injector Injector for injecting services
1819
+ * @param renderer Angular rendering engine
1820
+ * @param elementRef Reference to html dom element
1821
+ */
1822
+ constructor(formLayout, injector, renderer, elementRef) {
1823
+ super(formLayout, injector, renderer, elementRef);
1824
+ }
1825
+ }
1826
+ SacDropdownComponent.decorators = [
1827
+ { type: Component, args: [{
1828
+ selector: 'sac-dropdown',
1829
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <select\r\n #dropdownitem\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-select\"\r\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <option *ngIf=\"emptylabel !== ''\" [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 >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel], item: item }\"\r\n >\r\n </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 >\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 >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel], item: item }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n",
1830
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1831
+ providers: [
1832
+ {
1833
+ provide: NG_VALUE_ACCESSOR,
1834
+ multi: true,
1835
+ useExisting: SacDropdownComponent,
1836
+ },
1837
+ {
1838
+ provide: NG_VALIDATORS,
1839
+ multi: true,
1840
+ useExisting: forwardRef(() => SacDropdownComponent),
1841
+ },
1842
+ ]
1843
+ },] }
1844
+ ];
1845
+ SacDropdownComponent.ctorParameters = () => [
1846
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1847
+ { type: Injector },
1848
+ { type: Renderer2 },
1849
+ { type: ElementRef }
1850
+ ];
1851
+ /**
1852
+ * Direktive für Dropdown Option List
1853
+ */
1854
+ class SacDropdownOptionDirective extends SacDropdownOptionCommon {
1855
+ // #region Constructors
1856
+ /**
1857
+ * Konstruktor
1858
+ * @param elementRef Referenz auf HTML DOM Element
1859
+ * @param renderer Angular Rendering Engine
1860
+ * @param dropdownList Referenz auf DropDown Komponente
1861
+ */
1862
+ constructor(elementRef, renderer, dropdownList) {
1863
+ super(elementRef, renderer, dropdownList);
1864
+ }
1865
+ }
1866
+ SacDropdownOptionDirective.decorators = [
1867
+ { type: Directive, args: [{ selector: '[sacOption],option' },] }
1868
+ ];
1869
+ SacDropdownOptionDirective.ctorParameters = () => [
1870
+ { type: ElementRef },
1871
+ { type: Renderer2 },
1872
+ { type: SacDropdownComponent, decorators: [{ type: Optional }, { type: Host }] }
1873
+ ];
1874
+ // #endregion Classes
1875
+
1876
+ class SACBootstrap5DropdownModule {
1877
+ }
1878
+ SACBootstrap5DropdownModule.decorators = [
1879
+ { type: NgModule, args: [{
1880
+ declarations: [SacDropdownComponent, SacDropdownOptionDirective],
1881
+ imports: [CommonModule, SACBootstrap5LayoutModule],
1882
+ exports: [SacDropdownComponent, SacDropdownOptionDirective],
1883
+ },] }
1884
+ ];
1885
+
1886
+ // #region Classes
1887
+ /**
1888
+ * Listbox Komponente
1889
+ */
1890
+ class SacListboxComponent extends SacListboxCommon {
1891
+ // #region Constructors
1892
+ /**
1893
+ * Constructor
1894
+ * @param formLayout SacFormLayout to define scoped layout settings
1895
+ * @param injector Injector for injecting services
1896
+ */
1897
+ constructor(formLayout, injector) {
1898
+ super(formLayout, injector);
1899
+ }
1900
+ }
1901
+ SacListboxComponent.decorators = [
1902
+ { type: Component, args: [{
1903
+ selector: 'sac-listbox',
1904
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <select\r\n multiple\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-select\"\r\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\r\n [size]=\"rowsize\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\"\r\n >\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 >\r\n {{option[optionlabel]}}\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 >\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 >\r\n {{item[optionlabel]}}\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1905
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1906
+ providers: [
1907
+ {
1908
+ provide: NG_VALUE_ACCESSOR,
1909
+ multi: true,
1910
+ useExisting: SacListboxComponent,
1911
+ },
1912
+ {
1913
+ provide: NG_VALIDATORS,
1914
+ multi: true,
1915
+ useExisting: forwardRef(() => SacListboxComponent),
1916
+ },
1917
+ ]
1918
+ },] }
1919
+ ];
1920
+ SacListboxComponent.ctorParameters = () => [
1921
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1922
+ { type: Injector }
1923
+ ];
1924
+ /**
1925
+ * Option Item in Listbox
1926
+ */
1927
+ class SacListboxOptionDirective extends SacListboxOptionCommon {
1928
+ // #region Constructors
1929
+ /**
1930
+ * Konstruktor
1931
+ * @param elementRef Referenz auf DOM Element
1932
+ * @param renderer Angular Rendering Engine
1933
+ * @param listbox Referenz auf Listbox Komponente
1934
+ */
1935
+ constructor(elementRef, renderer, listbox) {
1936
+ super(elementRef, renderer, listbox);
1937
+ }
1938
+ }
1939
+ SacListboxOptionDirective.decorators = [
1940
+ { type: Directive, args: [{ selector: '[sacOption],option' },] }
1941
+ ];
1942
+ SacListboxOptionDirective.ctorParameters = () => [
1943
+ { type: ElementRef },
1944
+ { type: Renderer2 },
1945
+ { type: SacListboxComponent, decorators: [{ type: Optional }, { type: Host }] }
1946
+ ];
1947
+ // #endregion Classes
1948
+
1949
+ class SACBootstrap5ListModule {
1950
+ }
1951
+ SACBootstrap5ListModule.decorators = [
1952
+ { type: NgModule, args: [{
1953
+ declarations: [SacListboxComponent, SacListboxOptionDirective],
1954
+ imports: [CommonModule, SACBootstrap5LayoutModule],
1955
+ exports: [SacListboxComponent, SacListboxOptionDirective],
1956
+ },] }
1957
+ ];
1958
+
1959
+ /**
1960
+ * Componente für Mehrsprache Texte
1961
+ */
1962
+ class SacMultilanguageInputComponent extends SacMultilanguageInputCommon {
1963
+ // #endregion Properties
1964
+ // #region Constructors
1965
+ /**
1966
+ * Constructor
1967
+ * @param formLayout SacFormLayout to define scoped layout settings
1968
+ * @param injector Injector for injecting services
1969
+ */
1970
+ constructor(formLayout, injector) {
1971
+ super(formLayout, injector);
1972
+ // #region Properties
1973
+ /**
1974
+ * Enum für IconType in HTML Template
1975
+ */
1976
+ this.IconType = IconType;
1977
+ }
1978
+ }
1979
+ SacMultilanguageInputComponent.decorators = [
1980
+ { type: Component, args: [{
1981
+ selector: 'sac-multilanguageinput',
1982
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n placement=\"bottom-right\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n [inputtemplate]=\"menuInput\"\r\n [validationtemplate]=\"validationMessage\"\r\n #contextmenu\r\n >\r\n <ng-template #menuInput>\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\"\r\n >\r\n <img\r\n src=\"{{SelectedIcon}}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\"\r\n />\r\n <span\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"\r\n ></span>\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #validationMessage>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div></ng-template\r\n >\r\n\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{sprache.Text}}\"\r\n image=\"{{sprache.Icon}}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger': ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"\r\n ></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{sprache.Text}}\"\r\n icon=\"{{sprache.Icon}}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger': ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"\r\n ></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n",
1983
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1984
+ providers: [
1985
+ {
1986
+ provide: NG_VALUE_ACCESSOR,
1987
+ multi: true,
1988
+ useExisting: SacMultilanguageInputComponent,
1989
+ },
1990
+ {
1991
+ provide: NG_VALIDATORS,
1992
+ multi: true,
1993
+ useExisting: forwardRef(() => SacMultilanguageInputComponent),
1994
+ },
1995
+ ]
1996
+ },] }
1997
+ ];
1998
+ SacMultilanguageInputComponent.ctorParameters = () => [
1999
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
2000
+ { type: Injector }
2001
+ ];
2002
+
2003
+ /**
2004
+ * Componente für Mehrsprache Texte als mehrzeiliger Text
2005
+ */
2006
+ class SacMultilanguageInputAreaComponent extends SacMultilanguageInputAreaCommon {
2007
+ // #endregion Properties
2008
+ // #region Constructors
2009
+ /**
2010
+ * Constructor
2011
+ * @param formLayout SacFormLayout to define scoped layout settings
2012
+ * @param injector Injector for injecting services
2013
+ */
2014
+ constructor(formLayout, injector) {
2015
+ super(formLayout, injector);
2016
+ // #region Properties
2017
+ /**
2018
+ * Enum für IconType in HTML Template
2019
+ */
2020
+ this.IconType = IconType;
2021
+ }
2022
+ }
2023
+ SacMultilanguageInputAreaComponent.decorators = [
2024
+ { type: Component, args: [{
2025
+ selector: 'sac-multilanguageinputarea',
2026
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\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 [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n placement=\"bottom-right\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n [inputtemplate]=\"menuInput\"\r\n [validationtemplate]=\"validationMessage\"\r\n #contextmenu\r\n >\r\n <ng-template #menuInput>\r\n <textarea\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n style=\"height: auto\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.rows]=\"rows\"\r\n [attr.maxlength]=\"maxlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n ></textarea>\r\n </ng-template>\r\n\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\"\r\n >\r\n <img\r\n src=\"{{SelectedIcon}}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\"\r\n />\r\n <i\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"\r\n ></i>\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #validationMessage>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div></ng-template\r\n >\r\n\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{sprache.Text}}\"\r\n image=\"{{sprache.Icon}}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger': ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"\r\n ></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{sprache.Text}}\"\r\n icon=\"{{sprache.Icon}}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger': ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"\r\n ></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n",
2027
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2028
+ providers: [
2029
+ {
2030
+ provide: NG_VALUE_ACCESSOR,
2031
+ multi: true,
2032
+ useExisting: SacMultilanguageInputAreaComponent,
2033
+ },
2034
+ {
2035
+ provide: NG_VALIDATORS,
2036
+ multi: true,
2037
+ useExisting: forwardRef(() => SacMultilanguageInputAreaComponent),
2038
+ },
2039
+ ]
2040
+ },] }
2041
+ ];
2042
+ SacMultilanguageInputAreaComponent.ctorParameters = () => [
2043
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
2044
+ { type: Injector }
2045
+ ];
2046
+
2047
+ /**
2048
+ * Component für Contextmenü
2049
+ */
2050
+ class SacMultilanguagemenuComponent extends SacContextmenuCommon {
2051
+ // #endregion Properties
2052
+ // #region Constructors
2053
+ /**
2054
+ * Constructor
2055
+ * @param document Referenz auf HTML Document
2056
+ * @param ngZone Angular Zone Service
2057
+ * @param elementRef Referenz auf HTML Element der aktuellen Komponente
2058
+ * @param renderer Render Service von Angular
2059
+ * @param injector injector to resolve services in base component
2060
+ */
2061
+ constructor(document, ngZone, elementRef, renderer, injector) {
2062
+ super(document, ngZone, elementRef, renderer, injector);
2063
+ }
2064
+ }
2065
+ SacMultilanguagemenuComponent.decorators = [
2066
+ { type: Component, args: [{
2067
+ selector: '[sac-multilanguagemenu]',
2068
+ template: "<ng-container\r\n [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"\r\n></ng-container>\r\n<ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n></ng-container>\r\n<ng-container\r\n [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"\r\n></ng-container>\r\n\r\n<ul\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacMultilanguageMenuContainer\r\n [class.show]=\"isopen\"\r\n>\r\n <ng-content></ng-content>\r\n</ul>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n class=\"btn btn-secondary dropdown-toggle\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n ></button>\r\n</ng-template>\r\n\r\n<ng-template #defaultInputTemplate>\r\n <input type=\"text\" class=\"form-control\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultValidationTemplate></ng-template>\r\n",
2069
+ providers: [
2070
+ {
2071
+ provide: SacContextmenuCommon,
2072
+ useExisting: forwardRef(() => SacMultilanguagemenuComponent),
2073
+ },
2074
+ ]
2075
+ },] }
2076
+ ];
2077
+ SacMultilanguagemenuComponent.ctorParameters = () => [
2078
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
2079
+ { type: NgZone },
2080
+ { type: ElementRef },
2081
+ { type: Renderer2 },
2082
+ { type: Injector }
2083
+ ];
2084
+ SacMultilanguagemenuComponent.propDecorators = {
2085
+ inputtemplate: [{ type: Input }],
2086
+ validationtemplate: [{ type: Input }]
2087
+ };
2088
+
2089
+ /**
2090
+ * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
2091
+ */
2092
+ class SacMultilanguagemenuAnchorDirective extends SacContextmenuAnchorCommon {
2093
+ // #region Constructors
2094
+ /**
2095
+ * Konstruktor
2096
+ * @param elementRef HTML DOM Referenz
2097
+ */
2098
+ constructor(elementRef) {
2099
+ super(elementRef);
2100
+ }
2101
+ }
2102
+ SacMultilanguagemenuAnchorDirective.decorators = [
2103
+ { type: Directive, args: [{
2104
+ selector: '[sacMultilanguageMenuAnchor]',
2105
+ providers: [
2106
+ {
2107
+ provide: SacContextmenuAnchorCommon,
2108
+ useExisting: forwardRef(() => SacMultilanguagemenuAnchorDirective),
2109
+ },
2110
+ ],
2111
+ },] }
2112
+ ];
2113
+ SacMultilanguagemenuAnchorDirective.ctorParameters = () => [
2114
+ { type: ElementRef }
2115
+ ];
2116
+
2117
+ /**
2118
+ * Marker Komponente für Context Menü
2119
+ */
2120
+ class SacMultilanguagemenuContainerDirective extends SacContextMenuContrainerCommon {
2121
+ // #region Constructors
2122
+ /**
2123
+ * Konstruktor
2124
+ * @param elementRef Referenz auf DOM Element
2125
+ */
2126
+ constructor(elementRef) {
2127
+ super(elementRef);
2128
+ }
2129
+ }
2130
+ SacMultilanguagemenuContainerDirective.decorators = [
2131
+ { type: Directive, args: [{
2132
+ selector: '[sacMultilanguageMenuContainer]',
2133
+ providers: [
2134
+ {
2135
+ provide: SacContextMenuContrainerCommon,
2136
+ useExisting: forwardRef(() => SacMultilanguagemenuContainerDirective),
2137
+ },
2138
+ ],
2139
+ },] }
2140
+ ];
2141
+ SacMultilanguagemenuContainerDirective.ctorParameters = () => [
2142
+ { type: ElementRef }
2143
+ ];
2144
+
2145
+ /**
2146
+ * Component für Menü Eintrag in Context Menü
2147
+ */
2148
+ class SacMultilanguagemenuItemButtonComponent extends SacContextmenuItemButtonCommon {
2149
+ /**
2150
+ * Constructor
2151
+ * @param contextmenu Instance von Context Menü
2152
+ */
2153
+ constructor(contextmenu) {
2154
+ super(contextmenu);
2155
+ }
2156
+ }
2157
+ SacMultilanguagemenuItemButtonComponent.decorators = [
2158
+ { type: Component, args: [{
2159
+ selector: 'sac-multilanguagemenubutton',
2160
+ template: "<li>\r\n <button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n >\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n </button>\r\n</li>\r\n"
2161
+ },] }
2162
+ ];
2163
+ SacMultilanguagemenuItemButtonComponent.ctorParameters = () => [
2164
+ { type: SacContextmenuCommon }
2165
+ ];
2166
+
2167
+ class SACBootstrap5MultilanguageModule {
2168
+ }
2169
+ SACBootstrap5MultilanguageModule.decorators = [
2170
+ { type: NgModule, args: [{
2171
+ declarations: [
2172
+ SacMultilanguageInputComponent,
2173
+ SacMultilanguageInputAreaComponent,
2174
+ SacMultilanguagemenuComponent,
2175
+ SacMultilanguagemenuAnchorDirective,
2176
+ SacMultilanguagemenuContainerDirective,
2177
+ SacMultilanguagemenuItemButtonComponent,
2178
+ ],
2179
+ imports: [CommonModule, SACBootstrap5LayoutModule],
2180
+ exports: [SacMultilanguageInputComponent, SacMultilanguageInputAreaComponent],
2181
+ },] }
2182
+ ];
2183
+
2184
+ /**
2185
+ * Component für einbindung eines beliebigen Controls in die Form Struktur
2186
+ *
2187
+ * @example
2188
+ * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
2189
+ * <input type="range" class="form-control" />
2190
+ * </ngStaticFormContainer>
2191
+ *
2192
+ * @example
2193
+ * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
2194
+ * <input type="range" class="form-control" />
2195
+ * </ngStaticFormContainer>
2196
+ *
2197
+ **/
2198
+ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
2199
+ // #region Constructors
2200
+ /**
2201
+ * Constructor
2202
+ * @param formLayout SacFormLayout to define scoped layout settings
2203
+ * @param injector Injector for injecting services
2204
+ */
2205
+ constructor(formLayout, injector) {
2206
+ super(formLayout, injector);
2207
+ }
2208
+ }
2209
+ SacStaticFormContainerComponent.decorators = [
2210
+ { type: Component, args: [{
2211
+ selector: 'sac-staticformcontainer',
2212
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <ng-content></ng-content>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
2213
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2214
+ providers: [
2215
+ {
2216
+ provide: NG_VALUE_ACCESSOR,
2217
+ multi: true,
2218
+ useExisting: SacStaticFormContainerComponent,
2219
+ },
2220
+ {
2221
+ provide: NG_VALIDATORS,
2222
+ multi: true,
2223
+ useExisting: forwardRef(() => SacStaticFormContainerComponent),
2224
+ },
2225
+ ]
2226
+ },] }
2227
+ ];
2228
+ SacStaticFormContainerComponent.ctorParameters = () => [
2229
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
2230
+ { type: Injector }
2231
+ ];
2232
+
2233
+ /**
2234
+ * Komponente für statischen Text in einem Formular
2235
+ */
2236
+ class SacStaticLabelComponent extends SacStaticLabelCommon {
2237
+ // #region Constructors
2238
+ /**
2239
+ * Constructor
2240
+ * @param formLayout SacFormLayout to define scoped layout settings
2241
+ * @param injector Injector for injecting services
2242
+ */
2243
+ constructor(formLayout, injector) {
2244
+ super(formLayout, injector);
2245
+ }
2246
+ }
2247
+ SacStaticLabelComponent.decorators = [
2248
+ { type: Component, args: [{
2249
+ selector: 'sac-staticlabel',
2250
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"form-control-plaintext\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [innerHTML]=\"value\"\r\n ></div>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-left control-label\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n</div>\r\n",
2251
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2252
+ providers: [
2253
+ {
2254
+ provide: NG_VALUE_ACCESSOR,
2255
+ multi: true,
2256
+ useExisting: SacStaticLabelComponent,
2257
+ },
2258
+ {
2259
+ provide: NG_VALIDATORS,
2260
+ multi: true,
2261
+ useExisting: forwardRef(() => SacStaticLabelComponent),
2262
+ },
2263
+ ]
2264
+ },] }
2265
+ ];
2266
+ SacStaticLabelComponent.ctorParameters = () => [
2267
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
2268
+ { type: Injector }
2269
+ ];
2270
+
2271
+ class SACBootstrap5StaticLabelModule {
2272
+ }
2273
+ SACBootstrap5StaticLabelModule.decorators = [
2274
+ { type: NgModule, args: [{
2275
+ declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
2276
+ imports: [CommonModule, SACBootstrap5LayoutModule],
2277
+ exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
2278
+ },] }
2279
+ ];
2280
+
2281
+ /**
2282
+ * Tab Item Komponente
2283
+ */
2284
+ class SacTabItemComponent extends SacTabItemCommon {
2285
+ }
2286
+ SacTabItemComponent.decorators = [
2287
+ { type: Component, args: [{
2288
+ selector: 'sac-tabitem',
2289
+ template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\" *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n"
2290
+ },] }
2291
+ ];
2292
+
2293
+ /**
2294
+ * Komponente für Tabs
2295
+ */
2296
+ class SacTabComponent extends SacTabCommon {
2297
+ /**
2298
+ * Gibt die TabItems zurück
2299
+ * @returns Array von TabItems
2300
+ */
2301
+ tabItems() {
2302
+ return this._tabItems.toArray();
2303
+ }
2304
+ }
2305
+ SacTabComponent.decorators = [
2306
+ { type: Component, args: [{
2307
+ selector: 'sac-tab',
2308
+ template: "<!-- Nav tabs -->\r\n<ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li class=\"nav-item\" *ngFor=\"let item of _tabItems\">\r\n <a\r\n role=\"tab\"\r\n class=\"nav-link\"\r\n data-toggle=\"tab\"\r\n [ngClass]=\"{ 'active': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\r\n >{{item.label}}</a\r\n >\r\n </li>\r\n</ul>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content pl-3 pt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n"
2309
+ },] }
2310
+ ];
2311
+ SacTabComponent.propDecorators = {
2312
+ _tabItems: [{ type: ContentChildren, args: [SacTabItemComponent,] }]
2313
+ };
2314
+
2315
+ class SACBootstrap5TabsModule {
2316
+ }
2317
+ SACBootstrap5TabsModule.decorators = [
2318
+ { type: NgModule, args: [{
2319
+ declarations: [SacTabComponent, SacTabItemComponent],
2320
+ imports: [CommonModule],
2321
+ exports: [SacTabComponent, SacTabItemComponent],
2322
+ },] }
2323
+ ];
2324
+
2325
+ /**
2326
+ * TinyMCE Komponente
2327
+ */
2328
+ class SacTinyMceComponent extends SacTinyMceCommon {
2329
+ // #region Constructors
2330
+ /**
2331
+ * Constructor
2332
+ * @param formLayout SacFormLayout to define scoped layout settings
2333
+ * @param injector Injector for injecting services
2334
+ * @param ngZone ngZone to manage external javascripts
2335
+ */
2336
+ constructor(formLayout, injector, ngZone) {
2337
+ super(formLayout, injector, ngZone);
2338
+ }
2339
+ // #endregion Constructors
2340
+ // #region Public Methods
2341
+ /**
2342
+ * overwrite tinymce defaults
2343
+ * @returns boostrap4 has no overwrites
2344
+ */
2345
+ overwriteDefaultSettings() {
2346
+ return {};
2347
+ }
2348
+ }
2349
+ SacTinyMceComponent.decorators = [
2350
+ { type: Component, args: [{
2351
+ selector: 'sac-tinymce',
2352
+ template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\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)\"\r\n ></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\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>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </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()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n",
2353
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2354
+ providers: [
2355
+ {
2356
+ provide: NG_VALUE_ACCESSOR,
2357
+ multi: true,
2358
+ useExisting: SacTinyMceComponent,
2359
+ },
2360
+ {
2361
+ provide: NG_VALIDATORS,
2362
+ useExisting: forwardRef(() => SacTinyMceComponent),
2363
+ multi: true,
2364
+ },
2365
+ ],
2366
+ styles: [".is-invalid{border:1px solid var(--bs-form-invalid-border-color)}"]
2367
+ },] }
2368
+ ];
2369
+ SacTinyMceComponent.ctorParameters = () => [
2370
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
2371
+ { type: Injector },
2372
+ { type: NgZone }
2373
+ ];
2374
+
2375
+ class SACBootstrap5TinyMceModule {
2376
+ }
2377
+ SACBootstrap5TinyMceModule.decorators = [
2378
+ { type: NgModule, args: [{
2379
+ declarations: [SacTinyMceComponent],
2380
+ imports: [
2381
+ CommonModule,
2382
+ FormsModule,
2383
+ EditorModule,
2384
+ SACBootstrap5ButtonModule,
2385
+ SACBootstrap5DialogModule,
2386
+ SACBootstrap5BrowserModule,
2387
+ SACBootstrap5LayoutModule,
2388
+ ],
2389
+ exports: [SacTinyMceComponent],
2390
+ },] }
2391
+ ];
2392
+
2393
+ /**
2394
+ * Validation Summary Kompontente
2395
+ */
2396
+ class SacValidationSummaryComponent extends SacValidationSummaryCommon {
2397
+ // #region Constructors
2398
+ /**
2399
+ * Constructor
2400
+ * @param formControl Instance of Form Component to receive invalid form controls
2401
+ * @param injector Injector for injecting services
2402
+ */
2403
+ constructor(formControl, injector) {
2404
+ super(formControl, injector);
2405
+ }
2406
+ }
2407
+ SacValidationSummaryComponent.decorators = [
2408
+ { type: Component, args: [{
2409
+ selector: 'sac-validationsummary',
2410
+ template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\r\n <ul class=\"mb-0\">\r\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\r\n </ul>\r\n</div>\r\n",
2411
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2412
+ providers: [
2413
+ {
2414
+ provide: NG_VALUE_ACCESSOR,
2415
+ multi: true,
2416
+ useExisting: SacValidationSummaryComponent,
2417
+ },
2418
+ ]
2419
+ },] }
2420
+ ];
2421
+ SacValidationSummaryComponent.ctorParameters = () => [
2422
+ { type: SacFormDirective, decorators: [{ type: Host }, { type: Optional }] },
2423
+ { type: Injector }
2424
+ ];
2425
+
2426
+ class SACBootstrap5ValidationSummaryModule {
2427
+ }
2428
+ SACBootstrap5ValidationSummaryModule.decorators = [
2429
+ { type: NgModule, args: [{
2430
+ declarations: [SacValidationSummaryComponent],
2431
+ imports: [
2432
+ CommonModule
2433
+ ],
2434
+ exports: [SacValidationSummaryComponent]
2435
+ },] }
2436
+ ];
2437
+
2438
+ /**
2439
+ * Wizard Komponente Item
2440
+ */
2441
+ class SacWizardItemComponent extends SacWizardItemCommon {
2442
+ }
2443
+ SacWizardItemComponent.decorators = [
2444
+ { type: Component, args: [{
2445
+ selector: 'sac-wizarditem',
2446
+ template: ""
2447
+ },] }
2448
+ ];
2449
+
2450
+ /**
2451
+ * Wizard Komponente
2452
+ */
2453
+ class SacWizardComponent extends SacWizardCommon {
2454
+ /**
2455
+ * Gibt die Wizard Items zurück
2456
+ * @returns Collection von WizardItems
2457
+ */
2458
+ wizardItems() {
2459
+ return this._wizardItems;
2460
+ }
2461
+ }
2462
+ SacWizardComponent.decorators = [
2463
+ { type: Component, args: [{
2464
+ selector: 'sac-wizard',
2465
+ template: "<ul 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",
2466
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2467
+ providers: [
2468
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent },
2469
+ ]
2470
+ },] }
2471
+ ];
2472
+ SacWizardComponent.propDecorators = {
2473
+ _wizardItems: [{ type: ContentChildren, args: [SacWizardItemComponent,] }]
2474
+ };
2475
+
2476
+ class SACBootstrap5WizardModule {
2477
+ }
2478
+ SACBootstrap5WizardModule.decorators = [
2479
+ { type: NgModule, args: [{
2480
+ declarations: [SacWizardComponent, SacWizardItemComponent],
2481
+ imports: [CommonModule, SACBootstrap5LayoutModule],
2482
+ exports: [SacWizardComponent, SacWizardItemComponent],
2483
+ },] }
2484
+ ];
2485
+
2486
+ /*
2487
+ * Public API Surface of sac-bootstrap5
2488
+ */
2489
+
2490
+ /**
2491
+ * Generated bundle index. Do not edit.
2492
+ */
2493
+
2494
+ export { SACBootstrap5BrowserModule, SACBootstrap5ButtonModule, SACBootstrap5CheckboxModule, SACBootstrap5ConfirmModule, SACBootstrap5ContextmenuModule, SACBootstrap5DateTimeModule, SACBootstrap5DialogModule, SACBootstrap5DropdownModule, SACBootstrap5FormModule, SACBootstrap5GridModule, SACBootstrap5InputModule, SACBootstrap5LayoutModule, SACBootstrap5ListModule, SACBootstrap5MultilanguageModule, SACBootstrap5StaticLabelModule, SACBootstrap5TabsModule, SACBootstrap5TinyMceModule, SACBootstrap5UploadModule, SACBootstrap5ValidationSummaryModule, SACBootstrap5WizardModule, SacFormDirective, ServiceConfirm, SacBrowserComponent as ɵa, SacDropzoneMultipleComponent as ɵb, SacTimeComponent as ɵba, SacDateSelectorComponent as ɵbb, SacGridComponent as ɵbc, SacGridColumnComponent as ɵbd, SacGridColumnActionComponent as ɵbe, SacPagingComponent as ɵbf, SacGridButtonComponent as ɵbg, SacGridImageComponent as ɵbh, SacInputComponent as ɵbi, SacInputAreaComponent as ɵbj, SacInputCurrencyComponent as ɵbk, SacInputDecimalComponent as ɵbl, SacInputEmailComponent as ɵbm, SacInputIntegerComponent as ɵbn, SacInputPasswordComponent as ɵbo, SacInputSearchComponent as ɵbp, SacDropdownComponent as ɵbq, SacDropdownOptionDirective as ɵbr, SacListboxComponent as ɵbs, SacListboxOptionDirective as ɵbt, SacMultilanguageInputComponent as ɵbu, SacMultilanguageInputAreaComponent as ɵbv, SacMultilanguagemenuComponent as ɵbw, SacMultilanguagemenuAnchorDirective as ɵbx, SacMultilanguagemenuContainerDirective as ɵby, SacMultilanguagemenuItemButtonComponent as ɵbz, SacFormLayoutDirective as ɵc, SacStaticLabelComponent as ɵca, SacStaticFormContainerComponent as ɵcb, SacTabComponent as ɵcc, SacTabItemComponent as ɵcd, SacTinyMceComponent as ɵce, SacValidationSummaryComponent as ɵcf, SacWizardComponent as ɵcg, SacWizardItemComponent as ɵch, SacConfirmComponent as ɵd, SacDialogComponent as ɵe, SacButtonComponent as ɵf, SacContextmenuComponent as ɵg, SacContextmenuItemButtonComponent as ɵh, SacContextmenuItemSplitterComponent as ɵi, SacContextmenuAnchorDirective as ɵj, SacContextmenuContainerDirective as ɵk, SacUploadComponent as ɵl, SacUploadMultipleComponent as ɵm, SacDropzoneSingleComponent as ɵn, SacToControlHeightPipe as ɵo, SacToControlWidthCssPipe as ɵp, SacToLabelHeightPipe as ɵq, SacToLabelWidthCssPipe as ɵr, SACFORM_FACTORY as ɵs, NGFORM_FACTORY as ɵt, SacInheritFormDirective as ɵu, SacCheckboxComponent as ɵv, SacRadiobuttonComponent as ɵw, SacRadiobuttonsComponent as ɵx, SacDateComponent as ɵy, SacDateTimeComponent as ɵz };
2495
+ //# sourceMappingURL=simpleangularcontrols-sac-bootstrap5.js.map