@simpleangularcontrols/sac-bootstrap4 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 (350) hide show
  1. package/README.md +18 -0
  2. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js +3279 -0
  3. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js.map +1 -0
  4. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js +2 -0
  5. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js.map +1 -0
  6. package/components/browser/browser.d.ts +45 -0
  7. package/components/browser/browser.module.d.ts +2 -0
  8. package/components/browser/browser.module.ngfactory.d.ts +3 -0
  9. package/components/browser/browser.ngfactory.d.ts +1 -0
  10. package/controls/buttons/button.d.ts +8 -0
  11. package/controls/buttons/button.module.d.ts +2 -0
  12. package/controls/buttons/button.module.ngfactory.d.ts +3 -0
  13. package/controls/buttons/button.ngfactory.d.ts +1 -0
  14. package/controls/checkbox/checkbox.d.ts +14 -0
  15. package/controls/checkbox/checkbox.module.d.ts +2 -0
  16. package/controls/checkbox/checkbox.module.ngfactory.d.ts +3 -0
  17. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -0
  18. package/controls/checkbox/checkbox.scss.ngstyle.d.ts +1 -0
  19. package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts +1 -0
  20. package/controls/checkbox/radiobutton.d.ts +12 -0
  21. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -0
  22. package/controls/checkbox/radiobutton.scss.ngstyle.d.ts +1 -0
  23. package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts +1 -0
  24. package/controls/checkbox/radiobuttons.d.ts +14 -0
  25. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -0
  26. package/controls/confirm/confirm.d.ts +6 -0
  27. package/controls/confirm/confirm.module.d.ts +11 -0
  28. package/controls/confirm/confirm.module.ngfactory.d.ts +3 -0
  29. package/controls/confirm/confirm.ngfactory.d.ts +1 -0
  30. package/controls/confirm/confirm.service.d.ts +54 -0
  31. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -0
  32. package/controls/contextmenu/contextmenu.d.ts +16 -0
  33. package/controls/contextmenu/contextmenu.module.d.ts +2 -0
  34. package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +3 -0
  35. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -0
  36. package/controls/contextmenu/contextmenuanchor.d.ts +12 -0
  37. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -0
  38. package/controls/contextmenu/contextmenucontainer.d.ts +12 -0
  39. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -0
  40. package/controls/contextmenu/contextmenuitembutton.d.ts +11 -0
  41. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -0
  42. package/controls/contextmenu/contextmenuitemsplitter.d.ts +6 -0
  43. package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +1 -0
  44. package/controls/datetime/date.d.ts +15 -0
  45. package/controls/datetime/date.ngfactory.d.ts +1 -0
  46. package/controls/datetime/dateselector.d.ts +6 -0
  47. package/controls/datetime/dateselector.ngfactory.d.ts +1 -0
  48. package/controls/datetime/datetime.d.ts +15 -0
  49. package/controls/datetime/datetime.module.d.ts +2 -0
  50. package/controls/datetime/datetime.module.ngfactory.d.ts +3 -0
  51. package/controls/datetime/datetime.ngfactory.d.ts +1 -0
  52. package/controls/datetime/time.d.ts +15 -0
  53. package/controls/datetime/time.ngfactory.d.ts +1 -0
  54. package/controls/dialog/dialog.d.ts +25 -0
  55. package/controls/dialog/dialog.module.d.ts +2 -0
  56. package/controls/dialog/dialog.module.ngfactory.d.ts +3 -0
  57. package/controls/dialog/dialog.ngfactory.d.ts +1 -0
  58. package/controls/form/form.d.ts +25 -0
  59. package/controls/form/form.module.d.ts +2 -0
  60. package/controls/form/form.module.ngfactory.d.ts +3 -0
  61. package/controls/form/form.ngfactory.d.ts +1 -0
  62. package/controls/form/inheritform.directive.d.ts +47 -0
  63. package/controls/form/inheritform.directive.ngfactory.d.ts +1 -0
  64. package/controls/grid/grid.d.ts +20 -0
  65. package/controls/grid/grid.module.d.ts +2 -0
  66. package/controls/grid/grid.module.ngfactory.d.ts +3 -0
  67. package/controls/grid/grid.ngfactory.d.ts +1 -0
  68. package/controls/grid/gridbutton.d.ts +19 -0
  69. package/controls/grid/gridbutton.ngfactory.d.ts +1 -0
  70. package/controls/grid/gridcolumn.d.ts +14 -0
  71. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -0
  72. package/controls/grid/gridcolumnaction.d.ts +14 -0
  73. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -0
  74. package/controls/grid/gridimage.d.ts +11 -0
  75. package/controls/grid/gridimage.ngfactory.d.ts +1 -0
  76. package/controls/grid/paging.d.ts +12 -0
  77. package/controls/grid/paging.ngfactory.d.ts +1 -0
  78. package/controls/input/input.d.ts +14 -0
  79. package/controls/input/input.module.d.ts +2 -0
  80. package/controls/input/input.module.ngfactory.d.ts +3 -0
  81. package/controls/input/input.ngfactory.d.ts +1 -0
  82. package/controls/input/inputarea.d.ts +14 -0
  83. package/controls/input/inputarea.ngfactory.d.ts +1 -0
  84. package/controls/input/inputcurrency.d.ts +14 -0
  85. package/controls/input/inputcurrency.ngfactory.d.ts +1 -0
  86. package/controls/input/inputdecimal.d.ts +14 -0
  87. package/controls/input/inputdecimal.ngfactory.d.ts +1 -0
  88. package/controls/input/inputemail.d.ts +14 -0
  89. package/controls/input/inputemail.ngfactory.d.ts +1 -0
  90. package/controls/input/inputinteger.d.ts +14 -0
  91. package/controls/input/inputinteger.ngfactory.d.ts +1 -0
  92. package/controls/input/inputpassword.d.ts +14 -0
  93. package/controls/input/inputpassword.ngfactory.d.ts +1 -0
  94. package/controls/input/inputsearch.d.ts +14 -0
  95. package/controls/input/inputsearch.ngfactory.d.ts +1 -0
  96. package/controls/layout/formlayout.directive.d.ts +3 -0
  97. package/controls/layout/formlayout.directive.ngfactory.d.ts +1 -0
  98. package/controls/layout/layout.module.d.ts +2 -0
  99. package/controls/layout/layout.module.ngfactory.d.ts +3 -0
  100. package/controls/layout/tocontrolheight.pipe.d.ts +9 -0
  101. package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +1 -0
  102. package/controls/layout/tocontrolwidthcss.pipe.d.ts +16 -0
  103. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +1 -0
  104. package/controls/layout/tolabelheight.pipe.d.ts +9 -0
  105. package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +1 -0
  106. package/controls/layout/tolabelwidthcss.pipe.d.ts +10 -0
  107. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +1 -0
  108. package/controls/list/dropdown.d.ts +28 -0
  109. package/controls/list/dropdown.module.d.ts +2 -0
  110. package/controls/list/dropdown.module.ngfactory.d.ts +3 -0
  111. package/controls/list/dropdown.ngfactory.d.ts +1 -0
  112. package/controls/list/list.module.d.ts +2 -0
  113. package/controls/list/list.module.ngfactory.d.ts +3 -0
  114. package/controls/list/listbox.d.ts +26 -0
  115. package/controls/list/listbox.ngfactory.d.ts +1 -0
  116. package/controls/multilanguage/multilanguage.module.d.ts +2 -0
  117. package/controls/multilanguage/multilanguage.module.ngfactory.d.ts +3 -0
  118. package/controls/multilanguage/multilanguageinput.d.ts +18 -0
  119. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +1 -0
  120. package/controls/multilanguage/multilanguageinputarea.d.ts +18 -0
  121. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +1 -0
  122. package/controls/multilanguage/multilanguagemenu.d.ts +16 -0
  123. package/controls/multilanguage/multilanguagemenu.ngfactory.d.ts +1 -0
  124. package/controls/multilanguage/multilanguagemenuanchor.d.ts +12 -0
  125. package/controls/multilanguage/multilanguagemenuanchor.ngfactory.d.ts +1 -0
  126. package/controls/multilanguage/multilanguagemenucontainer.d.ts +12 -0
  127. package/controls/multilanguage/multilanguagemenucontainer.ngfactory.d.ts +1 -0
  128. package/controls/multilanguage/multilanguagemenuitembutton.d.ts +11 -0
  129. package/controls/multilanguage/multilanguagemenuitembutton.ngfactory.d.ts +1 -0
  130. package/controls/static/formcontainer.d.ts +25 -0
  131. package/controls/static/formcontainer.ngfactory.d.ts +1 -0
  132. package/controls/static/staticlabel.d.ts +14 -0
  133. package/controls/static/staticlabel.module.d.ts +2 -0
  134. package/controls/static/staticlabel.module.ngfactory.d.ts +3 -0
  135. package/controls/static/staticlabel.ngfactory.d.ts +1 -0
  136. package/controls/tabs/tab.d.ts +17 -0
  137. package/controls/tabs/tab.ngfactory.d.ts +1 -0
  138. package/controls/tabs/tabitem.d.ts +6 -0
  139. package/controls/tabs/tabitem.ngfactory.d.ts +1 -0
  140. package/controls/tabs/tabs.module.d.ts +2 -0
  141. package/controls/tabs/tabs.module.ngfactory.d.ts +3 -0
  142. package/controls/tinymce/tinymce.d.ts +20 -0
  143. package/controls/tinymce/tinymce.module.d.ts +2 -0
  144. package/controls/tinymce/tinymce.module.ngfactory.d.ts +3 -0
  145. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -0
  146. package/controls/tinymce/tinymce.scss.ngstyle.d.ts +1 -0
  147. package/controls/tinymce/tinymce.scss.shim.ngstyle.d.ts +1 -0
  148. package/controls/upload/dropzone.scss.ngstyle.d.ts +1 -0
  149. package/controls/upload/dropzone.scss.shim.ngstyle.d.ts +1 -0
  150. package/controls/upload/dropzonemultiple.d.ts +21 -0
  151. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -0
  152. package/controls/upload/dropzonesingle.d.ts +21 -0
  153. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -0
  154. package/controls/upload/upload.d.ts +17 -0
  155. package/controls/upload/upload.module.d.ts +2 -0
  156. package/controls/upload/upload.module.ngfactory.d.ts +3 -0
  157. package/controls/upload/upload.ngfactory.d.ts +1 -0
  158. package/controls/upload/upload.scss.ngstyle.d.ts +1 -0
  159. package/controls/upload/upload.scss.shim.ngstyle.d.ts +1 -0
  160. package/controls/upload/uploadmultiple.d.ts +17 -0
  161. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -0
  162. package/controls/validation/validationsummary.d.ts +14 -0
  163. package/controls/validation/validationsummary.module.d.ts +2 -0
  164. package/controls/validation/validationsummary.module.ngfactory.d.ts +3 -0
  165. package/controls/validation/validationsummary.ngfactory.d.ts +1 -0
  166. package/controls/wizard/wizard.d.ts +17 -0
  167. package/controls/wizard/wizard.module.d.ts +2 -0
  168. package/controls/wizard/wizard.module.ngfactory.d.ts +3 -0
  169. package/controls/wizard/wizard.ngfactory.d.ts +1 -0
  170. package/controls/wizard/wizarditem.d.ts +6 -0
  171. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -0
  172. package/esm2015/components/browser/browser.js +109 -0
  173. package/esm2015/components/browser/browser.module.js +28 -0
  174. package/esm2015/components/browser/browser.module.ngfactory.js +7 -0
  175. package/esm2015/components/browser/browser.ngfactory.js +7 -0
  176. package/esm2015/controls/buttons/button.js +16 -0
  177. package/esm2015/controls/buttons/button.module.js +15 -0
  178. package/esm2015/controls/buttons/button.module.ngfactory.js +7 -0
  179. package/esm2015/controls/buttons/button.ngfactory.js +7 -0
  180. package/esm2015/controls/checkbox/checkbox.js +44 -0
  181. package/esm2015/controls/checkbox/checkbox.module.js +24 -0
  182. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +7 -0
  183. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -0
  184. package/esm2015/controls/checkbox/checkbox.scss.ngstyle.js +7 -0
  185. package/esm2015/controls/checkbox/checkbox.scss.shim.ngstyle.js +7 -0
  186. package/esm2015/controls/checkbox/radiobutton.js +26 -0
  187. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -0
  188. package/esm2015/controls/checkbox/radiobutton.scss.ngstyle.js +7 -0
  189. package/esm2015/controls/checkbox/radiobutton.scss.shim.ngstyle.js +7 -0
  190. package/esm2015/controls/checkbox/radiobuttons.js +42 -0
  191. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -0
  192. package/esm2015/controls/confirm/confirm.js +14 -0
  193. package/esm2015/controls/confirm/confirm.module.js +31 -0
  194. package/esm2015/controls/confirm/confirm.module.ngfactory.js +7 -0
  195. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -0
  196. package/esm2015/controls/confirm/confirm.service.js +102 -0
  197. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -0
  198. package/esm2015/controls/contextmenu/contextmenu.js +40 -0
  199. package/esm2015/controls/contextmenu/contextmenu.module.js +28 -0
  200. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -0
  201. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -0
  202. package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -0
  203. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -0
  204. package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -0
  205. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -0
  206. package/esm2015/controls/contextmenu/contextmenuitembutton.js +24 -0
  207. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -0
  208. package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +14 -0
  209. package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -0
  210. package/esm2015/controls/datetime/date.js +50 -0
  211. package/esm2015/controls/datetime/date.ngfactory.js +7 -0
  212. package/esm2015/controls/datetime/dateselector.js +14 -0
  213. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -0
  214. package/esm2015/controls/datetime/datetime.js +44 -0
  215. package/esm2015/controls/datetime/datetime.module.js +28 -0
  216. package/esm2015/controls/datetime/datetime.module.ngfactory.js +7 -0
  217. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -0
  218. package/esm2015/controls/datetime/time.js +44 -0
  219. package/esm2015/controls/datetime/time.ngfactory.js +7 -0
  220. package/esm2015/controls/dialog/dialog.js +44 -0
  221. package/esm2015/controls/dialog/dialog.module.js +15 -0
  222. package/esm2015/controls/dialog/dialog.module.ngfactory.js +7 -0
  223. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -0
  224. package/esm2015/controls/form/form.js +41 -0
  225. package/esm2015/controls/form/form.module.js +15 -0
  226. package/esm2015/controls/form/form.module.ngfactory.js +7 -0
  227. package/esm2015/controls/form/form.ngfactory.js +7 -0
  228. package/esm2015/controls/form/inheritform.directive.js +71 -0
  229. package/esm2015/controls/form/inheritform.directive.ngfactory.js +7 -0
  230. package/esm2015/controls/grid/grid.js +44 -0
  231. package/esm2015/controls/grid/grid.module.js +21 -0
  232. package/esm2015/controls/grid/grid.module.ngfactory.js +7 -0
  233. package/esm2015/controls/grid/grid.ngfactory.js +7 -0
  234. package/esm2015/controls/grid/gridbutton.js +47 -0
  235. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -0
  236. package/esm2015/controls/grid/gridcolumn.js +34 -0
  237. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -0
  238. package/esm2015/controls/grid/gridcolumnaction.js +35 -0
  239. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -0
  240. package/esm2015/controls/grid/gridimage.js +28 -0
  241. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -0
  242. package/esm2015/controls/grid/paging.js +34 -0
  243. package/esm2015/controls/grid/paging.ngfactory.js +7 -0
  244. package/esm2015/controls/input/input.js +38 -0
  245. package/esm2015/controls/input/input.module.js +39 -0
  246. package/esm2015/controls/input/input.module.ngfactory.js +7 -0
  247. package/esm2015/controls/input/input.ngfactory.js +7 -0
  248. package/esm2015/controls/input/inputarea.js +42 -0
  249. package/esm2015/controls/input/inputarea.ngfactory.js +7 -0
  250. package/esm2015/controls/input/inputcurrency.js +42 -0
  251. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -0
  252. package/esm2015/controls/input/inputdecimal.js +42 -0
  253. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -0
  254. package/esm2015/controls/input/inputemail.js +42 -0
  255. package/esm2015/controls/input/inputemail.ngfactory.js +7 -0
  256. package/esm2015/controls/input/inputinteger.js +42 -0
  257. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -0
  258. package/esm2015/controls/input/inputpassword.js +42 -0
  259. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -0
  260. package/esm2015/controls/input/inputsearch.js +42 -0
  261. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -0
  262. package/esm2015/controls/layout/formlayout.directive.js +10 -0
  263. package/esm2015/controls/layout/formlayout.directive.ngfactory.js +7 -0
  264. package/esm2015/controls/layout/layout.module.js +29 -0
  265. package/esm2015/controls/layout/layout.module.ngfactory.js +7 -0
  266. package/esm2015/controls/layout/tocontrolheight.pipe.js +29 -0
  267. package/esm2015/controls/layout/tocontrolheight.pipe.ngfactory.js +7 -0
  268. package/esm2015/controls/layout/tocontrolwidthcss.pipe.js +50 -0
  269. package/esm2015/controls/layout/tocontrolwidthcss.pipe.ngfactory.js +7 -0
  270. package/esm2015/controls/layout/tolabelheight.pipe.js +29 -0
  271. package/esm2015/controls/layout/tolabelheight.pipe.ngfactory.js +7 -0
  272. package/esm2015/controls/layout/tolabelwidthcss.pipe.js +34 -0
  273. package/esm2015/controls/layout/tolabelwidthcss.pipe.ngfactory.js +7 -0
  274. package/esm2015/controls/list/dropdown.js +71 -0
  275. package/esm2015/controls/list/dropdown.module.js +14 -0
  276. package/esm2015/controls/list/dropdown.module.ngfactory.js +7 -0
  277. package/esm2015/controls/list/dropdown.ngfactory.js +7 -0
  278. package/esm2015/controls/list/list.module.js +14 -0
  279. package/esm2015/controls/list/list.module.ngfactory.js +7 -0
  280. package/esm2015/controls/list/listbox.js +67 -0
  281. package/esm2015/controls/list/listbox.ngfactory.js +7 -0
  282. package/esm2015/controls/multilanguage/multilanguage.module.js +26 -0
  283. package/esm2015/controls/multilanguage/multilanguage.module.ngfactory.js +7 -0
  284. package/esm2015/controls/multilanguage/multilanguageinput.js +48 -0
  285. package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -0
  286. package/esm2015/controls/multilanguage/multilanguageinputarea.js +48 -0
  287. package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -0
  288. package/esm2015/controls/multilanguage/multilanguagemenu.js +40 -0
  289. package/esm2015/controls/multilanguage/multilanguagemenu.ngfactory.js +7 -0
  290. package/esm2015/controls/multilanguage/multilanguagemenuanchor.js +30 -0
  291. package/esm2015/controls/multilanguage/multilanguagemenuanchor.ngfactory.js +7 -0
  292. package/esm2015/controls/multilanguage/multilanguagemenucontainer.js +30 -0
  293. package/esm2015/controls/multilanguage/multilanguagemenucontainer.ngfactory.js +7 -0
  294. package/esm2015/controls/multilanguage/multilanguagemenuitembutton.js +24 -0
  295. package/esm2015/controls/multilanguage/multilanguagemenuitembutton.ngfactory.js +7 -0
  296. package/esm2015/controls/static/formcontainer.js +53 -0
  297. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -0
  298. package/esm2015/controls/static/staticlabel.js +42 -0
  299. package/esm2015/controls/static/staticlabel.module.js +15 -0
  300. package/esm2015/controls/static/staticlabel.module.ngfactory.js +7 -0
  301. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -0
  302. package/esm2015/controls/tabs/tab.js +25 -0
  303. package/esm2015/controls/tabs/tab.ngfactory.js +7 -0
  304. package/esm2015/controls/tabs/tabitem.js +14 -0
  305. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -0
  306. package/esm2015/controls/tabs/tabs.module.js +16 -0
  307. package/esm2015/controls/tabs/tabs.module.ngfactory.js +7 -0
  308. package/esm2015/controls/tinymce/tinymce.js +54 -0
  309. package/esm2015/controls/tinymce/tinymce.module.js +27 -0
  310. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +7 -0
  311. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -0
  312. package/esm2015/controls/tinymce/tinymce.scss.ngstyle.js +7 -0
  313. package/esm2015/controls/tinymce/tinymce.scss.shim.ngstyle.js +7 -0
  314. package/esm2015/controls/upload/dropzone.scss.ngstyle.js +7 -0
  315. package/esm2015/controls/upload/dropzone.scss.shim.ngstyle.js +7 -0
  316. package/esm2015/controls/upload/dropzonemultiple.js +55 -0
  317. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -0
  318. package/esm2015/controls/upload/dropzonesingle.js +55 -0
  319. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -0
  320. package/esm2015/controls/upload/upload.js +47 -0
  321. package/esm2015/controls/upload/upload.module.js +28 -0
  322. package/esm2015/controls/upload/upload.module.ngfactory.js +7 -0
  323. package/esm2015/controls/upload/upload.ngfactory.js +7 -0
  324. package/esm2015/controls/upload/upload.scss.ngstyle.js +7 -0
  325. package/esm2015/controls/upload/upload.scss.shim.ngstyle.js +7 -0
  326. package/esm2015/controls/upload/uploadmultiple.js +47 -0
  327. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -0
  328. package/esm2015/controls/validation/validationsummary.js +37 -0
  329. package/esm2015/controls/validation/validationsummary.module.js +15 -0
  330. package/esm2015/controls/validation/validationsummary.module.ngfactory.js +7 -0
  331. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -0
  332. package/esm2015/controls/wizard/wizard.js +30 -0
  333. package/esm2015/controls/wizard/wizard.module.js +16 -0
  334. package/esm2015/controls/wizard/wizard.module.ngfactory.js +7 -0
  335. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -0
  336. package/esm2015/controls/wizard/wizarditem.js +14 -0
  337. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -0
  338. package/esm2015/public_api.js +25 -0
  339. package/esm2015/public_api.ngfactory.js +7 -0
  340. package/esm2015/simpleangularcontrols-sac-bootstrap4.js +61 -0
  341. package/esm2015/simpleangularcontrols-sac-bootstrap4.ngfactory.js +7 -0
  342. package/fesm2015/simpleangularcontrols-sac-bootstrap4.js +2488 -0
  343. package/fesm2015/simpleangularcontrols-sac-bootstrap4.js.map +1 -0
  344. package/package.json +32 -0
  345. package/public_api.d.ts +21 -0
  346. package/public_api.ngfactory.d.ts +1 -0
  347. package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.1.tgz +0 -0
  348. package/simpleangularcontrols-sac-bootstrap4.d.ts +60 -0
  349. package/simpleangularcontrols-sac-bootstrap4.metadata.json +1 -0
  350. package/simpleangularcontrols-sac-bootstrap4.ngfactory.d.ts +1 -0
@@ -0,0 +1,3279 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/common/http'), require('@angular/core'), require('@angular/forms'), require('@simpleangularcontrols/sac-common'), require('rxjs'), require('rxjs/operators'), require('angular-imask'), require('moment'), require('@tinymce/tinymce-angular')) :
3
+ typeof define === 'function' && define.amd ? define('@simpleangularcontrols/sac-bootstrap4', ['exports', '@angular/common', '@angular/common/http', '@angular/core', '@angular/forms', '@simpleangularcontrols/sac-common', 'rxjs', 'rxjs/operators', 'angular-imask', 'moment', '@tinymce/tinymce-angular'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.simpleangularcontrols = global.simpleangularcontrols || {}, global.simpleangularcontrols['sac-bootstrap4'] = {}), global.ng.common, global.ng.common.http, global.ng.core, global.ng.forms, global.sacCommon, global.rxjs, global.rxjs.operators, global.angularImask, global.moment, global.tinymceAngular));
5
+ }(this, (function (exports, common, http, core, forms, sacCommon, rxjs, operators, angularImask, moment_, tinymceAngular) { 'use strict';
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var moment___default = /*#__PURE__*/_interopDefaultLegacy(moment_);
10
+
11
+ /******************************************************************************
12
+ Copyright (c) Microsoft Corporation.
13
+
14
+ Permission to use, copy, modify, and/or distribute this software for any
15
+ purpose with or without fee is hereby granted.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
18
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
19
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
20
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
21
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
22
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
23
+ PERFORMANCE OF THIS SOFTWARE.
24
+ ***************************************************************************** */
25
+ /* global Reflect, Promise, SuppressedError, Symbol */
26
+ var extendStatics = function (d, b) {
27
+ extendStatics = Object.setPrototypeOf ||
28
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
29
+ function (d, b) { for (var p in b)
30
+ if (Object.prototype.hasOwnProperty.call(b, p))
31
+ d[p] = b[p]; };
32
+ return extendStatics(d, b);
33
+ };
34
+ function __extends(d, b) {
35
+ if (typeof b !== "function" && b !== null)
36
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
37
+ extendStatics(d, b);
38
+ function __() { this.constructor = d; }
39
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
40
+ }
41
+ var __assign = function () {
42
+ __assign = Object.assign || function __assign(t) {
43
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
44
+ s = arguments[i];
45
+ for (var p in s)
46
+ if (Object.prototype.hasOwnProperty.call(s, p))
47
+ t[p] = s[p];
48
+ }
49
+ return t;
50
+ };
51
+ return __assign.apply(this, arguments);
52
+ };
53
+ function __rest(s, e) {
54
+ var t = {};
55
+ for (var p in s)
56
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
57
+ t[p] = s[p];
58
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
59
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
60
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
61
+ t[p[i]] = s[p[i]];
62
+ }
63
+ return t;
64
+ }
65
+ function __decorate(decorators, target, key, desc) {
66
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
67
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
68
+ r = Reflect.decorate(decorators, target, key, desc);
69
+ else
70
+ for (var i = decorators.length - 1; i >= 0; i--)
71
+ if (d = decorators[i])
72
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
73
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
74
+ }
75
+ function __param(paramIndex, decorator) {
76
+ return function (target, key) { decorator(target, key, paramIndex); };
77
+ }
78
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
79
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
80
+ throw new TypeError("Function expected"); return f; }
81
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
82
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
83
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
84
+ var _, done = false;
85
+ for (var i = decorators.length - 1; i >= 0; i--) {
86
+ var context = {};
87
+ for (var p in contextIn)
88
+ context[p] = p === "access" ? {} : contextIn[p];
89
+ for (var p in contextIn.access)
90
+ context.access[p] = contextIn.access[p];
91
+ context.addInitializer = function (f) { if (done)
92
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
93
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
94
+ if (kind === "accessor") {
95
+ if (result === void 0)
96
+ continue;
97
+ if (result === null || typeof result !== "object")
98
+ throw new TypeError("Object expected");
99
+ if (_ = accept(result.get))
100
+ descriptor.get = _;
101
+ if (_ = accept(result.set))
102
+ descriptor.set = _;
103
+ if (_ = accept(result.init))
104
+ initializers.unshift(_);
105
+ }
106
+ else if (_ = accept(result)) {
107
+ if (kind === "field")
108
+ initializers.unshift(_);
109
+ else
110
+ descriptor[key] = _;
111
+ }
112
+ }
113
+ if (target)
114
+ Object.defineProperty(target, contextIn.name, descriptor);
115
+ done = true;
116
+ }
117
+ ;
118
+ function __runInitializers(thisArg, initializers, value) {
119
+ var useValue = arguments.length > 2;
120
+ for (var i = 0; i < initializers.length; i++) {
121
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
122
+ }
123
+ return useValue ? value : void 0;
124
+ }
125
+ ;
126
+ function __propKey(x) {
127
+ return typeof x === "symbol" ? x : "".concat(x);
128
+ }
129
+ ;
130
+ function __setFunctionName(f, name, prefix) {
131
+ if (typeof name === "symbol")
132
+ name = name.description ? "[".concat(name.description, "]") : "";
133
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
134
+ }
135
+ ;
136
+ function __metadata(metadataKey, metadataValue) {
137
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
138
+ return Reflect.metadata(metadataKey, metadataValue);
139
+ }
140
+ function __awaiter(thisArg, _arguments, P, generator) {
141
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
142
+ return new (P || (P = Promise))(function (resolve, reject) {
143
+ function fulfilled(value) { try {
144
+ step(generator.next(value));
145
+ }
146
+ catch (e) {
147
+ reject(e);
148
+ } }
149
+ function rejected(value) { try {
150
+ step(generator["throw"](value));
151
+ }
152
+ catch (e) {
153
+ reject(e);
154
+ } }
155
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
156
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
157
+ });
158
+ }
159
+ function __generator(thisArg, body) {
160
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
161
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
162
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
163
+ function verb(n) { return function (v) { return step([n, v]); }; }
164
+ function step(op) {
165
+ if (f)
166
+ throw new TypeError("Generator is already executing.");
167
+ while (g && (g = 0, op[0] && (_ = 0)), _)
168
+ try {
169
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
170
+ return t;
171
+ if (y = 0, t)
172
+ op = [op[0] & 2, t.value];
173
+ switch (op[0]) {
174
+ case 0:
175
+ case 1:
176
+ t = op;
177
+ break;
178
+ case 4:
179
+ _.label++;
180
+ return { value: op[1], done: false };
181
+ case 5:
182
+ _.label++;
183
+ y = op[1];
184
+ op = [0];
185
+ continue;
186
+ case 7:
187
+ op = _.ops.pop();
188
+ _.trys.pop();
189
+ continue;
190
+ default:
191
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
192
+ _ = 0;
193
+ continue;
194
+ }
195
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
196
+ _.label = op[1];
197
+ break;
198
+ }
199
+ if (op[0] === 6 && _.label < t[1]) {
200
+ _.label = t[1];
201
+ t = op;
202
+ break;
203
+ }
204
+ if (t && _.label < t[2]) {
205
+ _.label = t[2];
206
+ _.ops.push(op);
207
+ break;
208
+ }
209
+ if (t[2])
210
+ _.ops.pop();
211
+ _.trys.pop();
212
+ continue;
213
+ }
214
+ op = body.call(thisArg, _);
215
+ }
216
+ catch (e) {
217
+ op = [6, e];
218
+ y = 0;
219
+ }
220
+ finally {
221
+ f = t = 0;
222
+ }
223
+ if (op[0] & 5)
224
+ throw op[1];
225
+ return { value: op[0] ? op[1] : void 0, done: true };
226
+ }
227
+ }
228
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
229
+ if (k2 === undefined)
230
+ k2 = k;
231
+ var desc = Object.getOwnPropertyDescriptor(m, k);
232
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
233
+ desc = { enumerable: true, get: function () { return m[k]; } };
234
+ }
235
+ Object.defineProperty(o, k2, desc);
236
+ }) : (function (o, m, k, k2) {
237
+ if (k2 === undefined)
238
+ k2 = k;
239
+ o[k2] = m[k];
240
+ });
241
+ function __exportStar(m, o) {
242
+ for (var p in m)
243
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
244
+ __createBinding(o, m, p);
245
+ }
246
+ function __values(o) {
247
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
248
+ if (m)
249
+ return m.call(o);
250
+ if (o && typeof o.length === "number")
251
+ return {
252
+ next: function () {
253
+ if (o && i >= o.length)
254
+ o = void 0;
255
+ return { value: o && o[i++], done: !o };
256
+ }
257
+ };
258
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
259
+ }
260
+ function __read(o, n) {
261
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
262
+ if (!m)
263
+ return o;
264
+ var i = m.call(o), r, ar = [], e;
265
+ try {
266
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
267
+ ar.push(r.value);
268
+ }
269
+ catch (error) {
270
+ e = { error: error };
271
+ }
272
+ finally {
273
+ try {
274
+ if (r && !r.done && (m = i["return"]))
275
+ m.call(i);
276
+ }
277
+ finally {
278
+ if (e)
279
+ throw e.error;
280
+ }
281
+ }
282
+ return ar;
283
+ }
284
+ /** @deprecated */
285
+ function __spread() {
286
+ for (var ar = [], i = 0; i < arguments.length; i++)
287
+ ar = ar.concat(__read(arguments[i]));
288
+ return ar;
289
+ }
290
+ /** @deprecated */
291
+ function __spreadArrays() {
292
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
293
+ s += arguments[i].length;
294
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
295
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
296
+ r[k] = a[j];
297
+ return r;
298
+ }
299
+ function __spreadArray(to, from, pack) {
300
+ if (pack || arguments.length === 2)
301
+ for (var i = 0, l = from.length, ar; i < l; i++) {
302
+ if (ar || !(i in from)) {
303
+ if (!ar)
304
+ ar = Array.prototype.slice.call(from, 0, i);
305
+ ar[i] = from[i];
306
+ }
307
+ }
308
+ return to.concat(ar || Array.prototype.slice.call(from));
309
+ }
310
+ function __await(v) {
311
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
312
+ }
313
+ function __asyncGenerator(thisArg, _arguments, generator) {
314
+ if (!Symbol.asyncIterator)
315
+ throw new TypeError("Symbol.asyncIterator is not defined.");
316
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
317
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
318
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
319
+ function verb(n, f) { if (g[n]) {
320
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
321
+ if (f)
322
+ i[n] = f(i[n]);
323
+ } }
324
+ function resume(n, v) { try {
325
+ step(g[n](v));
326
+ }
327
+ catch (e) {
328
+ settle(q[0][3], e);
329
+ } }
330
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
331
+ function fulfill(value) { resume("next", value); }
332
+ function reject(value) { resume("throw", value); }
333
+ function settle(f, v) { if (f(v), q.shift(), q.length)
334
+ resume(q[0][0], q[0][1]); }
335
+ }
336
+ function __asyncDelegator(o) {
337
+ var i, p;
338
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
339
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
340
+ }
341
+ function __asyncValues(o) {
342
+ if (!Symbol.asyncIterator)
343
+ throw new TypeError("Symbol.asyncIterator is not defined.");
344
+ var m = o[Symbol.asyncIterator], i;
345
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
346
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
347
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
348
+ }
349
+ function __makeTemplateObject(cooked, raw) {
350
+ if (Object.defineProperty) {
351
+ Object.defineProperty(cooked, "raw", { value: raw });
352
+ }
353
+ else {
354
+ cooked.raw = raw;
355
+ }
356
+ return cooked;
357
+ }
358
+ ;
359
+ var __setModuleDefault = Object.create ? (function (o, v) {
360
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
361
+ }) : function (o, v) {
362
+ o["default"] = v;
363
+ };
364
+ function __importStar(mod) {
365
+ if (mod && mod.__esModule)
366
+ return mod;
367
+ var result = {};
368
+ if (mod != null)
369
+ for (var k in mod)
370
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
371
+ __createBinding(result, mod, k);
372
+ __setModuleDefault(result, mod);
373
+ return result;
374
+ }
375
+ function __importDefault(mod) {
376
+ return (mod && mod.__esModule) ? mod : { default: mod };
377
+ }
378
+ function __classPrivateFieldGet(receiver, state, kind, f) {
379
+ if (kind === "a" && !f)
380
+ throw new TypeError("Private accessor was defined without a getter");
381
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
382
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
383
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
384
+ }
385
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
386
+ if (kind === "m")
387
+ throw new TypeError("Private method is not writable");
388
+ if (kind === "a" && !f)
389
+ throw new TypeError("Private accessor was defined without a setter");
390
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
391
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
392
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
393
+ }
394
+ function __classPrivateFieldIn(state, receiver) {
395
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
396
+ throw new TypeError("Cannot use 'in' operator on non-object");
397
+ return typeof state === "function" ? receiver === state : state.has(receiver);
398
+ }
399
+ function __addDisposableResource(env, value, async) {
400
+ if (value !== null && value !== void 0) {
401
+ if (typeof value !== "object" && typeof value !== "function")
402
+ throw new TypeError("Object expected.");
403
+ var dispose, inner;
404
+ if (async) {
405
+ if (!Symbol.asyncDispose)
406
+ throw new TypeError("Symbol.asyncDispose is not defined.");
407
+ dispose = value[Symbol.asyncDispose];
408
+ }
409
+ if (dispose === void 0) {
410
+ if (!Symbol.dispose)
411
+ throw new TypeError("Symbol.dispose is not defined.");
412
+ dispose = value[Symbol.dispose];
413
+ if (async)
414
+ inner = dispose;
415
+ }
416
+ if (typeof dispose !== "function")
417
+ throw new TypeError("Object not disposable.");
418
+ if (inner)
419
+ dispose = function () { try {
420
+ inner.call(this);
421
+ }
422
+ catch (e) {
423
+ return Promise.reject(e);
424
+ } };
425
+ env.stack.push({ value: value, dispose: dispose, async: async });
426
+ }
427
+ else if (async) {
428
+ env.stack.push({ async: true });
429
+ }
430
+ return value;
431
+ }
432
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
433
+ var e = new Error(message);
434
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
435
+ };
436
+ function __disposeResources(env) {
437
+ function fail(e) {
438
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
439
+ env.hasError = true;
440
+ }
441
+ function next() {
442
+ while (env.stack.length) {
443
+ var rec = env.stack.pop();
444
+ try {
445
+ var result = rec.dispose && rec.dispose.call(rec.value);
446
+ if (rec.async)
447
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
448
+ }
449
+ catch (e) {
450
+ fail(e);
451
+ }
452
+ }
453
+ if (env.hasError)
454
+ throw env.error;
455
+ }
456
+ return next();
457
+ }
458
+ var tslib_es6 = {
459
+ __extends: __extends,
460
+ __assign: __assign,
461
+ __rest: __rest,
462
+ __decorate: __decorate,
463
+ __param: __param,
464
+ __metadata: __metadata,
465
+ __awaiter: __awaiter,
466
+ __generator: __generator,
467
+ __createBinding: __createBinding,
468
+ __exportStar: __exportStar,
469
+ __values: __values,
470
+ __read: __read,
471
+ __spread: __spread,
472
+ __spreadArrays: __spreadArrays,
473
+ __spreadArray: __spreadArray,
474
+ __await: __await,
475
+ __asyncGenerator: __asyncGenerator,
476
+ __asyncDelegator: __asyncDelegator,
477
+ __asyncValues: __asyncValues,
478
+ __makeTemplateObject: __makeTemplateObject,
479
+ __importStar: __importStar,
480
+ __importDefault: __importDefault,
481
+ __classPrivateFieldGet: __classPrivateFieldGet,
482
+ __classPrivateFieldSet: __classPrivateFieldSet,
483
+ __classPrivateFieldIn: __classPrivateFieldIn,
484
+ __addDisposableResource: __addDisposableResource,
485
+ __disposeResources: __disposeResources,
486
+ };
487
+
488
+ /**
489
+ * Button Component
490
+ *
491
+ * <example-url>http://localhost/demo/mysample.component.html</example-url>
492
+ */
493
+ var SacButtonComponent = /** @class */ (function (_super) {
494
+ __extends(SacButtonComponent, _super);
495
+ function SacButtonComponent() {
496
+ return _super !== null && _super.apply(this, arguments) || this;
497
+ }
498
+ return SacButtonComponent;
499
+ }(sacCommon.SacButtonCommon));
500
+ SacButtonComponent.decorators = [
501
+ { type: core.Component, args: [{
502
+ selector: 'sac-button',
503
+ 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 mr-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.mr-2]=\"text\"></i\r\n >{{text}}\r\n</button>\r\n"
504
+ },] }
505
+ ];
506
+
507
+ var SACBootstrap4ButtonModule = /** @class */ (function () {
508
+ function SACBootstrap4ButtonModule() {
509
+ }
510
+ return SACBootstrap4ButtonModule;
511
+ }());
512
+ SACBootstrap4ButtonModule.decorators = [
513
+ { type: core.NgModule, args: [{
514
+ declarations: [SacButtonComponent],
515
+ imports: [
516
+ common.CommonModule
517
+ ],
518
+ exports: [SacButtonComponent]
519
+ },] }
520
+ ];
521
+
522
+ /**
523
+ * Dialog Komponente
524
+ */
525
+ var SacDialogComponent = /** @class */ (function (_super) {
526
+ __extends(SacDialogComponent, _super);
527
+ /**
528
+ * Konstruktor
529
+ * @param el DOM Element Referenz
530
+ * @param cdRef Change Detection Service
531
+ */
532
+ function SacDialogComponent(el, cdRef) {
533
+ var _this = _super.call(this, cdRef) || this;
534
+ _this.element = el.nativeElement;
535
+ return _this;
536
+ }
537
+ /**
538
+ * Event wenn Komponente initialisiert wird
539
+ */
540
+ SacDialogComponent.prototype.ngOnInit = function () {
541
+ // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
542
+ document.body.appendChild(this.element);
543
+ };
544
+ /**
545
+ * Event wenn Element entfernt wird
546
+ */
547
+ SacDialogComponent.prototype.ngOnDestroy = function () {
548
+ this.hide();
549
+ if (document.body.contains(this.element)) {
550
+ document.body.removeChild(this.element);
551
+ }
552
+ _super.prototype.ngOnDestroy.call(this);
553
+ };
554
+ return SacDialogComponent;
555
+ }(sacCommon.SacDialogCommon));
556
+ SacDialogComponent.decorators = [
557
+ { type: core.Component, args: [{
558
+ selector: 'sac-dialog',
559
+ template: "<div #dialog class=\"modal show\" style=\"display: block\" tabindex=\"-1\" role=\"dialog\" *ngIf=\"_show\">\r\n <div class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\" 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 <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{title}}</h5>\r\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"hide()\" *ngIf=\"closebutton\"><span aria-hidden=\"true\">&times;</span></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><!-- /.modal-content -->\r\n </div><!-- /.modal-dialog -->\r\n</div><!-- /.modal -->\r\n<div class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n"
560
+ },] }
561
+ ];
562
+ SacDialogComponent.ctorParameters = function () { return [
563
+ { type: core.ElementRef },
564
+ { type: core.ChangeDetectorRef }
565
+ ]; };
566
+
567
+ var SACBootstrap4DialogModule = /** @class */ (function () {
568
+ function SACBootstrap4DialogModule() {
569
+ }
570
+ return SACBootstrap4DialogModule;
571
+ }());
572
+ SACBootstrap4DialogModule.decorators = [
573
+ { type: core.NgModule, args: [{
574
+ declarations: [SacDialogComponent],
575
+ imports: [
576
+ common.CommonModule
577
+ ],
578
+ exports: [SacDialogComponent]
579
+ },] }
580
+ ];
581
+
582
+ /**
583
+ * Confirm Komponente
584
+ */
585
+ var SacConfirmComponent = /** @class */ (function (_super) {
586
+ __extends(SacConfirmComponent, _super);
587
+ function SacConfirmComponent() {
588
+ return _super !== null && _super.apply(this, arguments) || this;
589
+ }
590
+ return SacConfirmComponent;
591
+ }(sacCommon.SacConfirmCommon));
592
+ SacConfirmComponent.decorators = [
593
+ { type: core.Component, args: [{
594
+ selector: 'sac-confirm',
595
+ 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=\"media\">\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 class=\"media-body\">{{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"
596
+ },] }
597
+ ];
598
+
599
+ /**
600
+ * Service für Confirm Messages in TypeScript Code
601
+ *
602
+ * @example
603
+ * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
604
+ * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
605
+ *
606
+ * @example
607
+ * // Beispiel für ConfirmMessage mit eigenen Buttons
608
+ * let buttons: SacConfirmButton[] = [];
609
+ * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
610
+ * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
611
+ * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
612
+ */
613
+ var ServiceConfirm = /** @class */ (function (_super) {
614
+ __extends(ServiceConfirm, _super);
615
+ // #endregion Properties
616
+ // #region Constructors
617
+ /**
618
+ * Konstruktor
619
+ * @param componentFactoryResolver Component Factory Resolver Instanz
620
+ * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
621
+ * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
622
+ */
623
+ function ServiceConfirm(componentFactoryResolver, appRef, injector) {
624
+ var _this = _super.call(this, appRef, injector) || this;
625
+ _this.componentFactoryResolver = componentFactoryResolver;
626
+ // #region Properties
627
+ /**
628
+ * Collection von Buttons die angezeigt werden müssen.
629
+ */
630
+ _this.buttons = [];
631
+ /**
632
+ * Message die in Dialog angezeigt werden soll.
633
+ */
634
+ _this.message = '';
635
+ /**
636
+ * Titel der im Dialog angezeigt werden soll.
637
+ */
638
+ _this.title = '';
639
+ return _this;
640
+ }
641
+ // #endregion Constructors
642
+ // #region Public Methods
643
+ /**
644
+ * Confirm Dialog anzeigen
645
+ * @param message Nachricht die angezeigt werden soll.
646
+ * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
647
+ */
648
+ ServiceConfirm.prototype.ConfirmMessage = function (title, message, buttons) {
649
+ var _this = this;
650
+ if (buttons === void 0) { buttons = null; }
651
+ this.title = title;
652
+ this.message = message;
653
+ // Default Buttons setzen, wenn keine Buttons angegeben sind
654
+ if (!sacCommon.isDefined(buttons)) {
655
+ this.buttons = [];
656
+ rxjs.forkJoin({
657
+ button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),
658
+ button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),
659
+ })
660
+ .pipe(operators.take(1))
661
+ .subscribe(function (texte) {
662
+ _this.buttons.push(new sacCommon.SacConfirmButton('yes', texte.button_yes, 'primary'));
663
+ _this.buttons.push(new sacCommon.SacConfirmButton('no', texte.button_no));
664
+ });
665
+ }
666
+ else {
667
+ this.buttons = buttons;
668
+ }
669
+ return _super.prototype.Confirm.call(this);
670
+ };
671
+ /**
672
+ * Erzeugen einer Component Factory für einen Dialog
673
+ */
674
+ ServiceConfirm.prototype.GetComponentFactory = function () {
675
+ return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
676
+ };
677
+ // #endregion Public Methods
678
+ // #region Protected Methods
679
+ /**
680
+ * Konfiguration des Dialogs
681
+ * @param instance Instanz eines SacConfirm Dialogs
682
+ */
683
+ ServiceConfirm.prototype.ConfigureDialog = function (instance) {
684
+ // Text in Dialog setzen
685
+ instance.title = this.title;
686
+ instance.message = this.message;
687
+ instance.buttons = this.buttons;
688
+ instance.image = this.iconService.ConfirmDefaultImage;
689
+ };
690
+ return ServiceConfirm;
691
+ }(sacCommon.ServiceConfirmCommon));
692
+ ServiceConfirm.decorators = [
693
+ { type: core.Injectable }
694
+ ];
695
+ ServiceConfirm.ctorParameters = function () { return [
696
+ { type: core.ComponentFactoryResolver, decorators: [{ type: core.Inject, args: [core.ComponentFactoryResolver,] }] },
697
+ { type: core.ApplicationRef },
698
+ { type: core.Injector }
699
+ ]; };
700
+
701
+ /**
702
+ * Module für Confirm Messages
703
+ *
704
+ * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap4ConfirmModule.forRoot()
705
+ *
706
+ */
707
+ var SACBootstrap4ConfirmModule = /** @class */ (function () {
708
+ function SACBootstrap4ConfirmModule() {
709
+ }
710
+ // #region Public Static Methods
711
+ SACBootstrap4ConfirmModule.forRoot = function () {
712
+ return {
713
+ ngModule: SACBootstrap4ConfirmModule,
714
+ providers: [ServiceConfirm],
715
+ };
716
+ };
717
+ return SACBootstrap4ConfirmModule;
718
+ }());
719
+ SACBootstrap4ConfirmModule.decorators = [
720
+ { type: core.NgModule, args: [{
721
+ declarations: [SacConfirmComponent],
722
+ imports: [common.CommonModule, SACBootstrap4DialogModule, SACBootstrap4ButtonModule],
723
+ exports: [SacConfirmComponent],
724
+ entryComponents: [SacConfirmComponent],
725
+ },] }
726
+ ];
727
+
728
+ /**
729
+ * Component für Contextmenü
730
+ */
731
+ var SacContextmenuComponent = /** @class */ (function (_super) {
732
+ __extends(SacContextmenuComponent, _super);
733
+ // #region Constructors
734
+ /**
735
+ * Constructor
736
+ * @param document Referenz auf HTML Document
737
+ * @param ngZone Angular Zone Service
738
+ * @param elementRef Referenz auf HTML Element der aktuellen Komponente
739
+ * @param renderer Render Service von Angular
740
+ * @param injector injector to resolve services
741
+ */
742
+ function SacContextmenuComponent(document, ngZone, elementRef, renderer, injector) {
743
+ return _super.call(this, document, ngZone, elementRef, renderer, injector) || this;
744
+ }
745
+ return SacContextmenuComponent;
746
+ }(sacCommon.SacContextmenuCommon));
747
+ SacContextmenuComponent.decorators = [
748
+ { type: core.Component, args: [{
749
+ selector: 'sac-contextmenu',
750
+ template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n ></ng-container>\r\n\r\n <div\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\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",
751
+ providers: [
752
+ {
753
+ provide: sacCommon.SacContextmenuCommon,
754
+ useExisting: core.forwardRef(function () { return SacContextmenuComponent; }),
755
+ },
756
+ ]
757
+ },] }
758
+ ];
759
+ SacContextmenuComponent.ctorParameters = function () { return [
760
+ { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] },
761
+ { type: core.NgZone },
762
+ { type: core.ElementRef },
763
+ { type: core.Renderer2 },
764
+ { type: core.Injector }
765
+ ]; };
766
+
767
+ /**
768
+ * Component für Menü Eintrag in Context Menü
769
+ */
770
+ var SacContextmenuItemButtonComponent = /** @class */ (function (_super) {
771
+ __extends(SacContextmenuItemButtonComponent, _super);
772
+ /**
773
+ * Constructor
774
+ * @param contextmenu Instance von Context Menü
775
+ */
776
+ function SacContextmenuItemButtonComponent(contextmenu) {
777
+ return _super.call(this, contextmenu) || this;
778
+ }
779
+ return SacContextmenuItemButtonComponent;
780
+ }(sacCommon.SacContextmenuItemButtonCommon));
781
+ SacContextmenuItemButtonComponent.decorators = [
782
+ { type: core.Component, args: [{
783
+ selector: 'sac-contextmenubutton',
784
+ template: "<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"
785
+ },] }
786
+ ];
787
+ SacContextmenuItemButtonComponent.ctorParameters = function () { return [
788
+ { type: sacCommon.SacContextmenuCommon }
789
+ ]; };
790
+
791
+ /**
792
+ * Splitter Komponente in Context Menü
793
+ */
794
+ var SacContextmenuItemSplitterComponent = /** @class */ (function (_super) {
795
+ __extends(SacContextmenuItemSplitterComponent, _super);
796
+ function SacContextmenuItemSplitterComponent() {
797
+ return _super !== null && _super.apply(this, arguments) || this;
798
+ }
799
+ return SacContextmenuItemSplitterComponent;
800
+ }(sacCommon.SacContextmenuItemCommon));
801
+ SacContextmenuItemSplitterComponent.decorators = [
802
+ { type: core.Component, args: [{
803
+ selector: 'sac-contextmenusplitter',
804
+ template: "<div class=\"dropdown-divider\"></div>"
805
+ },] }
806
+ ];
807
+
808
+ /**
809
+ * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
810
+ */
811
+ var SacContextmenuAnchorDirective = /** @class */ (function (_super) {
812
+ __extends(SacContextmenuAnchorDirective, _super);
813
+ // #region Constructors
814
+ /**
815
+ * Konstruktor
816
+ * @param elementRef HTML DOM Referenz
817
+ */
818
+ function SacContextmenuAnchorDirective(elementRef) {
819
+ return _super.call(this, elementRef) || this;
820
+ }
821
+ return SacContextmenuAnchorDirective;
822
+ }(sacCommon.SacContextmenuAnchorCommon));
823
+ SacContextmenuAnchorDirective.decorators = [
824
+ { type: core.Directive, args: [{
825
+ selector: '[sacContextMenuAnchor]',
826
+ providers: [
827
+ {
828
+ provide: sacCommon.SacContextmenuAnchorCommon,
829
+ useExisting: core.forwardRef(function () { return SacContextmenuAnchorDirective; }),
830
+ },
831
+ ],
832
+ },] }
833
+ ];
834
+ SacContextmenuAnchorDirective.ctorParameters = function () { return [
835
+ { type: core.ElementRef }
836
+ ]; };
837
+
838
+ /**
839
+ * Marker Komponente für Context Menü
840
+ */
841
+ var SacContextmenuContainerDirective = /** @class */ (function (_super) {
842
+ __extends(SacContextmenuContainerDirective, _super);
843
+ // #region Constructors
844
+ /**
845
+ * Konstruktor
846
+ * @param elementRef Referenz auf DOM Element
847
+ */
848
+ function SacContextmenuContainerDirective(elementRef) {
849
+ return _super.call(this, elementRef) || this;
850
+ }
851
+ return SacContextmenuContainerDirective;
852
+ }(sacCommon.SacContextMenuContrainerCommon));
853
+ SacContextmenuContainerDirective.decorators = [
854
+ { type: core.Directive, args: [{
855
+ selector: '[sacContextMenuContainer]',
856
+ providers: [
857
+ {
858
+ provide: sacCommon.SacContextMenuContrainerCommon,
859
+ useExisting: core.forwardRef(function () { return SacContextmenuContainerDirective; }),
860
+ },
861
+ ],
862
+ },] }
863
+ ];
864
+ SacContextmenuContainerDirective.ctorParameters = function () { return [
865
+ { type: core.ElementRef }
866
+ ]; };
867
+
868
+ var SACBootstrap4ContextmenuModule = /** @class */ (function () {
869
+ function SACBootstrap4ContextmenuModule() {
870
+ }
871
+ return SACBootstrap4ContextmenuModule;
872
+ }());
873
+ SACBootstrap4ContextmenuModule.decorators = [
874
+ { type: core.NgModule, args: [{
875
+ declarations: [
876
+ SacContextmenuComponent,
877
+ SacContextmenuItemButtonComponent,
878
+ SacContextmenuItemSplitterComponent,
879
+ SacContextmenuAnchorDirective,
880
+ SacContextmenuContainerDirective,
881
+ ],
882
+ imports: [common.CommonModule],
883
+ exports: [
884
+ SacContextmenuComponent,
885
+ SacContextmenuItemButtonComponent,
886
+ SacContextmenuItemSplitterComponent,
887
+ SacContextmenuAnchorDirective,
888
+ ],
889
+ },] }
890
+ ];
891
+
892
+ /**
893
+ * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
894
+ *
895
+ * @example Beispiel über Div Container
896
+ *
897
+ * <div ngForm></div>
898
+ *
899
+ * @example Beispiel über Form Tag
900
+ *
901
+ * <form></form>
902
+ *
903
+ */
904
+ var SacFormDirective = /** @class */ (function (_super) {
905
+ __extends(SacFormDirective, _super);
906
+ /**
907
+ * Konstruktor
908
+ * @param form Instanz von NgForm für eigene automatische Formular Logik
909
+ */
910
+ function SacFormDirective(form) {
911
+ var _this = _super.call(this, form) || this;
912
+ /**
913
+ * Setzt die Standard CSS Klasse für auf dem Form Container
914
+ */
915
+ _this.cssClassForm = true;
916
+ return _this;
917
+ }
918
+ return SacFormDirective;
919
+ }(sacCommon.SacFormCommon));
920
+ SacFormDirective.decorators = [
921
+ { type: core.Directive, args: [{
922
+ selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
923
+ exportAs: 'sacform',
924
+ },] }
925
+ ];
926
+ SacFormDirective.ctorParameters = function () { return [
927
+ { type: forms.NgForm }
928
+ ]; };
929
+ SacFormDirective.propDecorators = {
930
+ cssClassForm: [{ type: core.HostBinding, args: ['class.form',] }]
931
+ };
932
+
933
+ /**
934
+ * Factory Methode für SacForm
935
+ * @param form SacFormular
936
+ */
937
+ function SACFORM_FACTORY(form) {
938
+ return form;
939
+ }
940
+ /**
941
+ * Factory Methode für NgForm
942
+ * @param form NgForm
943
+ */
944
+ function NGFORM_FACTORY(form) {
945
+ return form;
946
+ }
947
+ /**
948
+ * Directive zum erben eines NgForm/NgFormular einer übergeordneten Komponente
949
+ *
950
+ * @example Implementation in Markup
951
+ *
952
+ * <div sacInheritForm>
953
+ * </div>
954
+ *
955
+ * @example Model an Sub-Komponente übergeben
956
+ *
957
+ * <div sacInheritForm>
958
+ * <div>SubForm</div>
959
+ * <div>
960
+ * <ngInput [(ngModel)]="mymodel.fieldarea2" name="subformField3" label="field 3" [isrequired]="true"></ngInput>
961
+ * </div>
962
+ * </div>
963
+ *
964
+ *
965
+ * (at)Component({
966
+ * selector: 'sacInheritForm',
967
+ * templateUrl: './subform.component.html'
968
+ * })
969
+ * export class SubFormComponent implements DoCheck {
970
+ *
971
+ * (at)Input() mymodel;
972
+ * (at)Output() mymodelChange = new EventEmitter();
973
+ *
974
+ * ngDoCheck() {
975
+ * this.mymodelChange.next(this.mymodel);
976
+ * }
977
+ *}
978
+ *
979
+ */
980
+ var SacInheritFormDirective = /** @class */ (function () {
981
+ function SacInheritFormDirective() {
982
+ }
983
+ return SacInheritFormDirective;
984
+ }());
985
+ SacInheritFormDirective.decorators = [
986
+ { type: core.Directive, args: [{
987
+ selector: '[sacInheritForm]',
988
+ providers: [
989
+ {
990
+ provide: SacFormDirective,
991
+ useFactory: SACFORM_FACTORY,
992
+ deps: [[new core.SkipSelf(), SacFormDirective]]
993
+ }, {
994
+ provide: forms.ControlContainer,
995
+ useFactory: NGFORM_FACTORY,
996
+ deps: [forms.NgForm]
997
+ }
998
+ ]
999
+ },] }
1000
+ ];
1001
+
1002
+ var SACBootstrap4FormModule = /** @class */ (function () {
1003
+ function SACBootstrap4FormModule() {
1004
+ }
1005
+ return SACBootstrap4FormModule;
1006
+ }());
1007
+ SACBootstrap4FormModule.decorators = [
1008
+ { type: core.NgModule, args: [{
1009
+ declarations: [SacFormDirective, SacInheritFormDirective],
1010
+ imports: [common.CommonModule, forms.FormsModule],
1011
+ exports: [SacFormDirective, SacInheritFormDirective],
1012
+ },] }
1013
+ ];
1014
+
1015
+ var SacFormLayoutDirective = /** @class */ (function (_super) {
1016
+ __extends(SacFormLayoutDirective, _super);
1017
+ function SacFormLayoutDirective() {
1018
+ return _super !== null && _super.apply(this, arguments) || this;
1019
+ }
1020
+ return SacFormLayoutDirective;
1021
+ }(sacCommon.SacFormLayoutCommon));
1022
+ SacFormLayoutDirective.decorators = [
1023
+ { type: core.Directive, args: [{
1024
+ selector: '[sacFormLayout]',
1025
+ },] }
1026
+ ];
1027
+
1028
+ var SacToControlHeightPipe = /** @class */ (function () {
1029
+ function SacToControlHeightPipe() {
1030
+ }
1031
+ // #region Public Methods
1032
+ /**
1033
+ * Returns the CSS class that defines the height for the control
1034
+ * @param value ControlHeight value or null
1035
+ */
1036
+ SacToControlHeightPipe.prototype.transform = function (value) {
1037
+ // Return default value
1038
+ if (!value) {
1039
+ return '';
1040
+ }
1041
+ switch (value) {
1042
+ case sacCommon.ControlHeight.Small:
1043
+ return 'form-control-sm';
1044
+ case sacCommon.ControlHeight.Large:
1045
+ return 'form-control-lg';
1046
+ default:
1047
+ return '';
1048
+ }
1049
+ };
1050
+ return SacToControlHeightPipe;
1051
+ }());
1052
+ SacToControlHeightPipe.decorators = [
1053
+ { type: core.Pipe, args: [{
1054
+ name: 'toControlHeight',
1055
+ },] }
1056
+ ];
1057
+
1058
+ var SacToControlWidthCssPipe = /** @class */ (function () {
1059
+ function SacToControlWidthCssPipe() {
1060
+ }
1061
+ // #region Public Methods
1062
+ /**
1063
+ * Get CSS classes from label width configuration to set control size
1064
+ * @param value Configuration with grid columns for different viewports
1065
+ * @returns string with css classe for bootstrap3
1066
+ */
1067
+ SacToControlWidthCssPipe.prototype.transform = function (value) {
1068
+ var classes = [];
1069
+ if (value.labelSizeXs) {
1070
+ classes.push('col-' + this.calcControlSize(value.labelSizeXs));
1071
+ }
1072
+ if (value.labelSizeSm) {
1073
+ classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
1074
+ }
1075
+ if (value.labelSizeMd) {
1076
+ classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
1077
+ }
1078
+ if (value.labelSizeLg) {
1079
+ classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
1080
+ }
1081
+ if (value.labelSizeXl) {
1082
+ classes.push('col-xl-' + this.calcControlSize(value.labelSizeXl));
1083
+ }
1084
+ return classes.join(' ');
1085
+ };
1086
+ // #endregion Public Methods
1087
+ // #region Private Methods
1088
+ /**
1089
+ * calculate the control size
1090
+ * @param labelsize grid size of label
1091
+ * @returns grid size for control. should be between 1 and 12
1092
+ */
1093
+ SacToControlWidthCssPipe.prototype.calcControlSize = function (labelsize) {
1094
+ if (labelsize === 12) {
1095
+ return 12;
1096
+ }
1097
+ if (!labelsize) {
1098
+ return 12;
1099
+ }
1100
+ return 12 - labelsize;
1101
+ };
1102
+ return SacToControlWidthCssPipe;
1103
+ }());
1104
+ SacToControlWidthCssPipe.decorators = [
1105
+ { type: core.Pipe, args: [{
1106
+ name: 'toControlWidthCss',
1107
+ },] }
1108
+ ];
1109
+
1110
+ var SacToLabelHeightPipe = /** @class */ (function () {
1111
+ function SacToLabelHeightPipe() {
1112
+ }
1113
+ // #region Public Methods
1114
+ /**
1115
+ * Returns the CSS class that defines the height for the control
1116
+ * @param value ControlHeight value or null
1117
+ */
1118
+ SacToLabelHeightPipe.prototype.transform = function (value) {
1119
+ // Return default value
1120
+ if (!value) {
1121
+ return '';
1122
+ }
1123
+ switch (value) {
1124
+ case sacCommon.ControlHeight.Small:
1125
+ return 'col-form-label-sm';
1126
+ case sacCommon.ControlHeight.Large:
1127
+ return 'col-form-label-lg';
1128
+ default:
1129
+ return '';
1130
+ }
1131
+ };
1132
+ return SacToLabelHeightPipe;
1133
+ }());
1134
+ SacToLabelHeightPipe.decorators = [
1135
+ { type: core.Pipe, args: [{
1136
+ name: 'toLabelHeight',
1137
+ },] }
1138
+ ];
1139
+
1140
+ var SacToLabelWidthCssPipe = /** @class */ (function () {
1141
+ function SacToLabelWidthCssPipe() {
1142
+ }
1143
+ // #region Public Methods
1144
+ /**
1145
+ * Get CSS classes from label width configuration to set label size
1146
+ * @param value Configuration with grid columns for different viewports
1147
+ * @returns string with css classe for bootstrap3
1148
+ */
1149
+ SacToLabelWidthCssPipe.prototype.transform = function (value) {
1150
+ var classes = [];
1151
+ if (value.labelSizeXs) {
1152
+ classes.push('col-' + value.labelSizeXs);
1153
+ }
1154
+ if (value.labelSizeSm) {
1155
+ classes.push('col-sm-' + value.labelSizeSm);
1156
+ }
1157
+ if (value.labelSizeMd) {
1158
+ classes.push('col-md-' + value.labelSizeMd);
1159
+ }
1160
+ if (value.labelSizeLg) {
1161
+ classes.push('col-lg-' + value.labelSizeLg);
1162
+ }
1163
+ if (value.labelSizeXl) {
1164
+ classes.push('col-xl-' + value.labelSizeXl);
1165
+ }
1166
+ return classes.join(' ');
1167
+ };
1168
+ return SacToLabelWidthCssPipe;
1169
+ }());
1170
+ SacToLabelWidthCssPipe.decorators = [
1171
+ { type: core.Pipe, args: [{
1172
+ name: 'toLabelWidthCss',
1173
+ },] }
1174
+ ];
1175
+
1176
+ var SACBootstrap4LayoutModule = /** @class */ (function () {
1177
+ function SACBootstrap4LayoutModule() {
1178
+ }
1179
+ return SACBootstrap4LayoutModule;
1180
+ }());
1181
+ SACBootstrap4LayoutModule.decorators = [
1182
+ { type: core.NgModule, args: [{
1183
+ declarations: [
1184
+ SacFormLayoutDirective,
1185
+ SacToControlHeightPipe,
1186
+ SacToControlWidthCssPipe,
1187
+ SacToLabelHeightPipe,
1188
+ SacToLabelWidthCssPipe,
1189
+ ],
1190
+ imports: [common.CommonModule],
1191
+ exports: [
1192
+ SacFormLayoutDirective,
1193
+ SacToControlHeightPipe,
1194
+ SacToControlWidthCssPipe,
1195
+ SacToLabelHeightPipe,
1196
+ SacToLabelWidthCssPipe,
1197
+ ],
1198
+ },] }
1199
+ ];
1200
+
1201
+ /**
1202
+ * Dropzone Komponente für mehrere Uploads
1203
+ * @see https://github.com/kukhariev/ngx-uploadx/
1204
+ */
1205
+ var SacDropzoneMultipleComponent = /** @class */ (function (_super) {
1206
+ __extends(SacDropzoneMultipleComponent, _super);
1207
+ // #region Constructors
1208
+ /**
1209
+ * Constructor
1210
+ * @param formLayout SacFormLayout to define scoped layout settings
1211
+ * @param injector Injector for injecting services
1212
+ * @param renderer Angular rendering engine
1213
+ * @param ngZone ngZone to manage external javascripts
1214
+ */
1215
+ function SacDropzoneMultipleComponent(formLayout, injector, renderer, ngZone) {
1216
+ return _super.call(this, formLayout, injector, renderer, ngZone) || this;
1217
+ }
1218
+ // #endregion Constructors
1219
+ // #region Public Methods
1220
+ /**
1221
+ * Initialisiert das Control
1222
+ */
1223
+ SacDropzoneMultipleComponent.prototype.ngOnInit = function () {
1224
+ _super.prototype.ngOnInit.call(this);
1225
+ };
1226
+ return SacDropzoneMultipleComponent;
1227
+ }(sacCommon.SacDropzoneMultipleCommon));
1228
+ SacDropzoneMultipleComponent.decorators = [
1229
+ { type: core.Component, args: [{
1230
+ selector: 'sac-dropzonemultiple',
1231
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"align-self-center 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 <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\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 </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",
1232
+ providers: [
1233
+ {
1234
+ provide: forms.NG_VALUE_ACCESSOR,
1235
+ multi: true,
1236
+ useExisting: SacDropzoneMultipleComponent,
1237
+ },
1238
+ {
1239
+ provide: forms.NG_VALIDATORS,
1240
+ multi: true,
1241
+ useExisting: core.forwardRef(function () { return SacDropzoneMultipleComponent; }),
1242
+ },
1243
+ ],
1244
+ styles: [".dropzone{background:transparent;border:.125rem dashed #d3d3d3;border-radius:.5rem;min-height:9.75rem}.dropzone.is-invalid{border-color:var(--red)}.dropzone .content{bottom:0;left:0;position:absolute;right:0;top:0}.dropzone .content .is-invalid{color:var(--red)}.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%}"]
1245
+ },] }
1246
+ ];
1247
+ SacDropzoneMultipleComponent.ctorParameters = function () { return [
1248
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1249
+ { type: core.Injector },
1250
+ { type: core.Renderer2 },
1251
+ { type: core.NgZone }
1252
+ ]; };
1253
+
1254
+ /**
1255
+ * Dropzone Komponente für den Upload eines Files
1256
+ * @see https://github.com/kukhariev/ngx-uploadx/
1257
+ */
1258
+ var SacDropzoneSingleComponent = /** @class */ (function (_super) {
1259
+ __extends(SacDropzoneSingleComponent, _super);
1260
+ // #region Constructors
1261
+ /**
1262
+ * Constructor
1263
+ * @param formLayout SacFormLayout to define scoped layout settings
1264
+ * @param injector Injector for injecting services
1265
+ * @param renderer Angular rendering engine
1266
+ * @param ngZone ngZone to manage external javascripts
1267
+ */
1268
+ function SacDropzoneSingleComponent(formLayout, injector, renderer, ngZone) {
1269
+ return _super.call(this, formLayout, injector, renderer, ngZone) || this;
1270
+ }
1271
+ // #endregion Constructors
1272
+ // #region Public Methods
1273
+ /**
1274
+ * Initialisiert das Control
1275
+ */
1276
+ SacDropzoneSingleComponent.prototype.ngOnInit = function () {
1277
+ _super.prototype.ngOnInit.call(this);
1278
+ };
1279
+ return SacDropzoneSingleComponent;
1280
+ }(sacCommon.SacDropzoneSingleCommon));
1281
+ SacDropzoneSingleComponent.decorators = [
1282
+ { type: core.Component, args: [{
1283
+ selector: 'sac-dropzonesingle',
1284
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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\"\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\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"align-self-center 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 <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\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 </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",
1285
+ providers: [
1286
+ {
1287
+ provide: forms.NG_VALUE_ACCESSOR,
1288
+ multi: true,
1289
+ useExisting: SacDropzoneSingleComponent,
1290
+ },
1291
+ {
1292
+ provide: forms.NG_VALIDATORS,
1293
+ multi: true,
1294
+ useExisting: core.forwardRef(function () { return SacDropzoneSingleComponent; }),
1295
+ },
1296
+ ],
1297
+ styles: [".dropzone{background:transparent;border:.125rem dashed #d3d3d3;border-radius:.5rem;min-height:9.75rem}.dropzone.is-invalid{border-color:var(--red)}.dropzone .content{bottom:0;left:0;position:absolute;right:0;top:0}.dropzone .content .is-invalid{color:var(--red)}.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%}"]
1298
+ },] }
1299
+ ];
1300
+ SacDropzoneSingleComponent.ctorParameters = function () { return [
1301
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1302
+ { type: core.Injector },
1303
+ { type: core.Renderer2 },
1304
+ { type: core.NgZone }
1305
+ ]; };
1306
+
1307
+ /**
1308
+ * Upload Komponten
1309
+ * @see https://github.com/kukhariev/ngx-uploadx/
1310
+ */
1311
+ var SacUploadComponent = /** @class */ (function (_super) {
1312
+ __extends(SacUploadComponent, _super);
1313
+ // #region Constructors
1314
+ /**
1315
+ * Constructor
1316
+ * @param formLayout SacFormLayout to define scoped layout settings
1317
+ * @param injector Injector for injecting services
1318
+ * @param renderer Angular rendering engine
1319
+ * @param ngZone ngZone to manage external javascripts
1320
+ */
1321
+ function SacUploadComponent(formLayout, injector, renderer, ngZone) {
1322
+ return _super.call(this, formLayout, injector, renderer, ngZone) || this;
1323
+ }
1324
+ return SacUploadComponent;
1325
+ }(sacCommon.SacUploadSingleCommon));
1326
+ SacUploadComponent.decorators = [
1327
+ { type: core.Component, args: [{
1328
+ selector: 'sac-upload',
1329
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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 <div class=\"input-group-prepend\">\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=\"pr-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 <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 <!-- <input type=\"textimage-preview-filename\" class=\"form-control image-preview-filename\" disabled=\"disabled\"> --><!-- don't give a name === doesn't send on POST/GET -->\r\n <div class=\"input-group-append\">\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.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=\"pr-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",
1330
+ providers: [
1331
+ {
1332
+ provide: forms.NG_VALUE_ACCESSOR,
1333
+ multi: true,
1334
+ useExisting: SacUploadComponent,
1335
+ },
1336
+ {
1337
+ provide: forms.NG_VALIDATORS,
1338
+ multi: true,
1339
+ useExisting: core.forwardRef(function () { return SacUploadComponent; }),
1340
+ },
1341
+ ],
1342
+ styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{bottom:0;left: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}"]
1343
+ },] }
1344
+ ];
1345
+ SacUploadComponent.ctorParameters = function () { return [
1346
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1347
+ { type: core.Injector },
1348
+ { type: core.Renderer2 },
1349
+ { type: core.NgZone }
1350
+ ]; };
1351
+
1352
+ /**
1353
+ * Upload Komponente für den Upload mehrer Files
1354
+ * @see https://github.com/kukhariev/ngx-uploadx/
1355
+ */
1356
+ var SacUploadMultipleComponent = /** @class */ (function (_super) {
1357
+ __extends(SacUploadMultipleComponent, _super);
1358
+ // #region Constructors
1359
+ /**
1360
+ * Constructor
1361
+ * @param formLayout SacFormLayout to define scoped layout settings
1362
+ * @param injector Injector for injecting services
1363
+ * @param renderer Angular rendering engine
1364
+ * @param ngZone ngZone to manage external javascripts
1365
+ */
1366
+ function SacUploadMultipleComponent(formLayout, injector, renderer, ngZone) {
1367
+ return _super.call(this, formLayout, injector, renderer, ngZone) || this;
1368
+ }
1369
+ return SacUploadMultipleComponent;
1370
+ }(sacCommon.SacUploadMultipleCommon));
1371
+ SacUploadMultipleComponent.decorators = [
1372
+ { type: core.Component, args: [{
1373
+ selector: 'sac-uploadmultiple',
1374
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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=\"pr-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=\"pr-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 <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\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=\"pr-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</div>\r\n",
1375
+ providers: [
1376
+ {
1377
+ provide: forms.NG_VALUE_ACCESSOR,
1378
+ multi: true,
1379
+ useExisting: SacUploadMultipleComponent,
1380
+ },
1381
+ {
1382
+ provide: forms.NG_VALIDATORS,
1383
+ multi: true,
1384
+ useExisting: core.forwardRef(function () { return SacUploadMultipleComponent; }),
1385
+ },
1386
+ ],
1387
+ styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{bottom:0;left: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}"]
1388
+ },] }
1389
+ ];
1390
+ SacUploadMultipleComponent.ctorParameters = function () { return [
1391
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1392
+ { type: core.Injector },
1393
+ { type: core.Renderer2 },
1394
+ { type: core.NgZone }
1395
+ ]; };
1396
+
1397
+ var SACBootstrap4UploadModule = /** @class */ (function () {
1398
+ function SACBootstrap4UploadModule() {
1399
+ }
1400
+ return SACBootstrap4UploadModule;
1401
+ }());
1402
+ SACBootstrap4UploadModule.decorators = [
1403
+ { type: core.NgModule, args: [{
1404
+ declarations: [
1405
+ SacUploadComponent,
1406
+ SacUploadMultipleComponent,
1407
+ SacDropzoneSingleComponent,
1408
+ SacDropzoneMultipleComponent,
1409
+ ],
1410
+ imports: [common.CommonModule, forms.FormsModule, SACBootstrap4LayoutModule],
1411
+ exports: [
1412
+ SacUploadComponent,
1413
+ SacUploadMultipleComponent,
1414
+ SacDropzoneSingleComponent,
1415
+ SacDropzoneMultipleComponent,
1416
+ ],
1417
+ },] }
1418
+ ];
1419
+
1420
+ /**
1421
+ * Server File Browser Komponente
1422
+ */
1423
+ var SacBrowserComponent = /** @class */ (function (_super) {
1424
+ __extends(SacBrowserComponent, _super);
1425
+ // #endregion Properties
1426
+ // #region Constructors
1427
+ /**
1428
+ * Konstruktor
1429
+ * @param httpClient HTTP Client
1430
+ * @param injector Angular Dependency Injection Service
1431
+ * @param confirmService Confirm Service
1432
+ */
1433
+ function SacBrowserComponent(httpClient, injector, confirmService) {
1434
+ var _this = _super.call(this, httpClient, injector) || this;
1435
+ _this.confirmService = confirmService;
1436
+ return _this;
1437
+ }
1438
+ // #endregion Constructors
1439
+ // #region Public Methods
1440
+ /**
1441
+ * Confirm Action wenn ein File gelöscht werden soll
1442
+ * @param file File das gelöscht werden soll.
1443
+ * @returns Observable ob File gelöscht werden kann.
1444
+ */
1445
+ SacBrowserComponent.prototype.confirmDeleteFile = function (file) {
1446
+ var _this = this;
1447
+ return new rxjs.Observable(function (observer) {
1448
+ rxjs.forkJoin({
1449
+ title: _this.lngResourceService.GetString(_this.validationKeyService.FilebrowserButtonDelete),
1450
+ message: _this.lngResourceService.GetString(_this.validationKeyService.FilebrowserConfirmTextDeleteFile),
1451
+ }).subscribe(function (text) {
1452
+ _this.confirmService
1453
+ .ConfirmMessage(text.title, text.message)
1454
+ .subscribe(function (result) {
1455
+ if (result === 'yes') {
1456
+ observer.next(true);
1457
+ }
1458
+ else {
1459
+ observer.next(false);
1460
+ }
1461
+ observer.complete();
1462
+ });
1463
+ });
1464
+ });
1465
+ };
1466
+ /**
1467
+ * Confirm Action wenn ein Ordner gelöscht werden soll
1468
+ * @param node Ordner der gelöscht werden soll
1469
+ * @returns Observable ob Ordner gelöscht kann.
1470
+ */
1471
+ SacBrowserComponent.prototype.confirmDeleteNode = function (node) {
1472
+ var _this = this;
1473
+ return new rxjs.Observable(function (observer) {
1474
+ rxjs.forkJoin({
1475
+ title: _this.lngResourceService.GetString(_this.validationKeyService.FilebrowserButtonDelete),
1476
+ message: _this.lngResourceService.GetString(_this.validationKeyService.FilebrowserConfirmTextDeleteFolder),
1477
+ }).subscribe(function (text) {
1478
+ _this.confirmService
1479
+ .ConfirmMessage(text.title, text.message)
1480
+ .subscribe(function (result) {
1481
+ if (result === 'yes') {
1482
+ observer.next(true);
1483
+ }
1484
+ else {
1485
+ observer.next(false);
1486
+ }
1487
+ observer.complete();
1488
+ });
1489
+ });
1490
+ });
1491
+ };
1492
+ /**
1493
+ * Erzeugt ein Array von einer bestimmten grösse
1494
+ * @param anzahl Grösse des Array
1495
+ * @returns Array
1496
+ */
1497
+ SacBrowserComponent.prototype.count = function (anzahl) {
1498
+ return new Array(anzahl);
1499
+ };
1500
+ /**
1501
+ * Methode wird aufgerufen, wenn eine Datei verschoben wird
1502
+ * @param uploadid Upload ID
1503
+ */
1504
+ SacBrowserComponent.prototype.uploadedFileMoved = function (uploadid) {
1505
+ var item = this.uploadComponent.uploads.find(function (itm) { return itm.documentid === uploadid; });
1506
+ if (item) {
1507
+ this.uploadComponent.cancel(item.uploadId);
1508
+ }
1509
+ };
1510
+ return SacBrowserComponent;
1511
+ }(sacCommon.SacFileBrowserCommon));
1512
+ SacBrowserComponent.decorators = [
1513
+ { type: core.Component, args: [{
1514
+ selector: 'sac-filebrowser',
1515
+ 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=\"mr-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",
1516
+ providers: [ServiceConfirm]
1517
+ },] }
1518
+ ];
1519
+ SacBrowserComponent.ctorParameters = function () { return [
1520
+ { type: http.HttpClient },
1521
+ { type: core.Injector },
1522
+ { type: ServiceConfirm }
1523
+ ]; };
1524
+ SacBrowserComponent.propDecorators = {
1525
+ uploadComponent: [{ type: core.ViewChild, args: [SacDropzoneMultipleComponent, { static: false },] }]
1526
+ };
1527
+
1528
+ var SACBootstrap4BrowserModule = /** @class */ (function () {
1529
+ function SACBootstrap4BrowserModule() {
1530
+ }
1531
+ return SACBootstrap4BrowserModule;
1532
+ }());
1533
+ SACBootstrap4BrowserModule.decorators = [
1534
+ { type: core.NgModule, args: [{
1535
+ declarations: [SacBrowserComponent],
1536
+ imports: [
1537
+ common.CommonModule,
1538
+ http.HttpClientModule,
1539
+ SACBootstrap4ConfirmModule,
1540
+ SACBootstrap4ContextmenuModule,
1541
+ SACBootstrap4UploadModule,
1542
+ SACBootstrap4FormModule,
1543
+ forms.FormsModule,
1544
+ ],
1545
+ exports: [SacBrowserComponent],
1546
+ bootstrap: [SacBrowserComponent],
1547
+ },] }
1548
+ ];
1549
+
1550
+ /**
1551
+ * Checkbox Kompontente
1552
+ */
1553
+ var SacCheckboxComponent = /** @class */ (function (_super) {
1554
+ __extends(SacCheckboxComponent, _super);
1555
+ // #region Constructors
1556
+ /**
1557
+ *
1558
+ * @param formLayout SacFormLayout to define scoped layout settings
1559
+ * @param injector Injector for injecting services
1560
+ */
1561
+ function SacCheckboxComponent(formLayout, injector) {
1562
+ return _super.call(this, formLayout, injector) || this;
1563
+ }
1564
+ return SacCheckboxComponent;
1565
+ }(sacCommon.SacCheckboxCommon));
1566
+ SacCheckboxComponent.decorators = [
1567
+ { type: core.Component, args: [{
1568
+ selector: 'sac-checkbox',
1569
+ template: "<div\r\n class=\"row\"\r\n [class.no-gutters]=\"disablelabel\"\r\n [class.form-group]=\"!stacked\"\r\n>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\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",
1570
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1571
+ providers: [
1572
+ {
1573
+ provide: forms.NG_VALUE_ACCESSOR,
1574
+ multi: true,
1575
+ useExisting: SacCheckboxComponent,
1576
+ },
1577
+ {
1578
+ provide: forms.NG_VALIDATORS,
1579
+ useExisting: core.forwardRef(function () { return SacCheckboxComponent; }),
1580
+ multi: true,
1581
+ },
1582
+ ],
1583
+ 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}"]
1584
+ },] }
1585
+ ];
1586
+ SacCheckboxComponent.ctorParameters = function () { return [
1587
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1588
+ { type: core.Injector }
1589
+ ]; };
1590
+
1591
+ /**
1592
+ * Radiobuttons Group Komponente
1593
+ */
1594
+ var SacRadiobuttonsComponent = /** @class */ (function (_super) {
1595
+ __extends(SacRadiobuttonsComponent, _super);
1596
+ // #region Constructors
1597
+ /**
1598
+ *
1599
+ * @param formLayout SacFormLayout to define scoped layout settings
1600
+ * @param injector Injector for injecting services
1601
+ */
1602
+ function SacRadiobuttonsComponent(formLayout, injector) {
1603
+ return _super.call(this, formLayout, injector) || this;
1604
+ }
1605
+ return SacRadiobuttonsComponent;
1606
+ }(sacCommon.SacRadiobuttonsCommon));
1607
+ SacRadiobuttonsComponent.decorators = [
1608
+ { type: core.Component, args: [{
1609
+ selector: 'sac-radiobuttons',
1610
+ template: "<div class=\"row form-group\">\r\n <div\r\n *ngIf=\"disablelabel === false\"\r\n class=\"col-12 pt-0\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\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",
1611
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1612
+ providers: [
1613
+ {
1614
+ provide: forms.NG_VALUE_ACCESSOR,
1615
+ useExisting: core.forwardRef(function () { return SacRadiobuttonsComponent; }),
1616
+ multi: true,
1617
+ },
1618
+ {
1619
+ provide: forms.NG_VALIDATORS,
1620
+ useExisting: core.forwardRef(function () { return SacRadiobuttonsComponent; }),
1621
+ multi: true,
1622
+ },
1623
+ ]
1624
+ },] }
1625
+ ];
1626
+ SacRadiobuttonsComponent.ctorParameters = function () { return [
1627
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1628
+ { type: core.Injector }
1629
+ ]; };
1630
+
1631
+ /**
1632
+ * Radiobutton Komponente
1633
+ */
1634
+ var SacRadiobuttonComponent = /** @class */ (function (_super) {
1635
+ __extends(SacRadiobuttonComponent, _super);
1636
+ /**
1637
+ * Konstruktor
1638
+ * @param SacRadioButtons Radio Buttons Group Komponente
1639
+ */
1640
+ function SacRadiobuttonComponent(sacRadioButtons) {
1641
+ return _super.call(this, sacRadioButtons) || this;
1642
+ }
1643
+ return SacRadiobuttonComponent;
1644
+ }(sacCommon.SacRadiobuttonCommon));
1645
+ SacRadiobuttonComponent.decorators = [
1646
+ { type: core.Component, args: [{
1647
+ selector: 'sac-radiobutton',
1648
+ 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",
1649
+ 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}"]
1650
+ },] }
1651
+ ];
1652
+ SacRadiobuttonComponent.ctorParameters = function () { return [
1653
+ { type: SacRadiobuttonsComponent, decorators: [{ type: core.Host }] }
1654
+ ]; };
1655
+
1656
+ var SACBootstrap4CheckboxModule = /** @class */ (function () {
1657
+ function SACBootstrap4CheckboxModule() {
1658
+ }
1659
+ return SACBootstrap4CheckboxModule;
1660
+ }());
1661
+ SACBootstrap4CheckboxModule.decorators = [
1662
+ { type: core.NgModule, args: [{
1663
+ declarations: [
1664
+ SacCheckboxComponent,
1665
+ SacRadiobuttonComponent,
1666
+ SacRadiobuttonsComponent,
1667
+ ],
1668
+ imports: [common.CommonModule, SACBootstrap4LayoutModule],
1669
+ exports: [
1670
+ SacCheckboxComponent,
1671
+ SacRadiobuttonComponent,
1672
+ SacRadiobuttonsComponent,
1673
+ ],
1674
+ },] }
1675
+ ];
1676
+
1677
+ /**
1678
+ * Referenz auf Moment.JS
1679
+ */
1680
+ var moment = moment___default['default'];
1681
+ /**
1682
+ * Komponente für Datumauswahl
1683
+ */
1684
+ var SacDateComponent = /** @class */ (function (_super) {
1685
+ __extends(SacDateComponent, _super);
1686
+ // #region Constructors
1687
+ /**
1688
+ * Constructor
1689
+ * @param formLayout SacFormLayout to define scoped layout settings
1690
+ * @param injector Injector for injecting services
1691
+ * @param elementRef Reference to html dom element
1692
+ */
1693
+ function SacDateComponent(formLayout, injector, elementRef) {
1694
+ return _super.call(this, formLayout, injector, elementRef) || this;
1695
+ }
1696
+ return SacDateComponent;
1697
+ }(sacCommon.SacDateCommon));
1698
+ SacDateComponent.decorators = [
1699
+ { type: core.Component, args: [{
1700
+ selector: 'sac-date',
1701
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <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 <div class=\"input-group-append\">\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 <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\"\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 \"\r\n >\r\n <div\r\n class=\"arrow\"\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",
1702
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1703
+ providers: [
1704
+ {
1705
+ provide: forms.NG_VALUE_ACCESSOR,
1706
+ multi: true,
1707
+ useExisting: core.forwardRef(function () { return SacDateComponent; }),
1708
+ },
1709
+ {
1710
+ provide: forms.NG_VALIDATORS,
1711
+ multi: true,
1712
+ useExisting: core.forwardRef(function () { return SacDateComponent; }),
1713
+ },
1714
+ ]
1715
+ },] }
1716
+ ];
1717
+ SacDateComponent.ctorParameters = function () { return [
1718
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1719
+ { type: core.Injector },
1720
+ { type: core.ElementRef }
1721
+ ]; };
1722
+
1723
+ /**
1724
+ * DateTime Selektor Komponente
1725
+ */
1726
+ var SacDateSelectorComponent = /** @class */ (function (_super) {
1727
+ __extends(SacDateSelectorComponent, _super);
1728
+ function SacDateSelectorComponent() {
1729
+ return _super !== null && _super.apply(this, arguments) || this;
1730
+ }
1731
+ return SacDateSelectorComponent;
1732
+ }(sacCommon.SacDateSelectorCommon));
1733
+ SacDateSelectorComponent.decorators = [
1734
+ { type: core.Component, args: [{
1735
+ selector: 'sac-dateselector',
1736
+ 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-left\">\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-right\">\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 flex-row 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=\"mr-auto 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"
1737
+ },] }
1738
+ ];
1739
+
1740
+ /**
1741
+ * Date und Time Komponente
1742
+ */
1743
+ var SacDateTimeComponent = /** @class */ (function (_super) {
1744
+ __extends(SacDateTimeComponent, _super);
1745
+ // #region Constructors
1746
+ /**
1747
+ * Constructor
1748
+ * @param formLayout SacFormLayout to define scoped layout settings
1749
+ * @param injector Injector for injecting services
1750
+ * @param elementRef Reference to html dom element
1751
+ */
1752
+ function SacDateTimeComponent(formLayout, injector, elementRef) {
1753
+ return _super.call(this, formLayout, injector, elementRef) || this;
1754
+ }
1755
+ return SacDateTimeComponent;
1756
+ }(sacCommon.SacDateTimeCommon));
1757
+ SacDateTimeComponent.decorators = [
1758
+ { type: core.Component, args: [{
1759
+ selector: 'sac-datetime',
1760
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <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 <div class=\"input-group-append\">\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 <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\"\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 \"\r\n >\r\n <div\r\n class=\"arrow\"\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",
1761
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1762
+ providers: [
1763
+ {
1764
+ provide: forms.NG_VALUE_ACCESSOR,
1765
+ multi: true,
1766
+ useExisting: core.forwardRef(function () { return SacDateTimeComponent; }),
1767
+ },
1768
+ {
1769
+ provide: forms.NG_VALIDATORS,
1770
+ multi: true,
1771
+ useExisting: core.forwardRef(function () { return SacDateTimeComponent; }),
1772
+ },
1773
+ ]
1774
+ },] }
1775
+ ];
1776
+ SacDateTimeComponent.ctorParameters = function () { return [
1777
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1778
+ { type: core.Injector },
1779
+ { type: core.ElementRef }
1780
+ ]; };
1781
+
1782
+ /**
1783
+ * Time Auswahl Komponente
1784
+ */
1785
+ var SacTimeComponent = /** @class */ (function (_super) {
1786
+ __extends(SacTimeComponent, _super);
1787
+ // #region Constructors
1788
+ /**
1789
+ * Constructor
1790
+ * @param formLayout SacFormLayout to define scoped layout settings
1791
+ * @param injector Injector for injecting services
1792
+ * @param elementRef Reference to html dom element
1793
+ */
1794
+ function SacTimeComponent(formLayout, injector, elementRef) {
1795
+ return _super.call(this, formLayout, injector, elementRef) || this;
1796
+ }
1797
+ return SacTimeComponent;
1798
+ }(sacCommon.SacTimeCommon));
1799
+ SacTimeComponent.decorators = [
1800
+ { type: core.Component, args: [{
1801
+ selector: 'sac-time',
1802
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <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 <div class=\"input-group-append\">\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 <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\"\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 \"\r\n >\r\n <div\r\n class=\"arrow\"\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",
1803
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1804
+ providers: [
1805
+ {
1806
+ provide: forms.NG_VALUE_ACCESSOR,
1807
+ multi: true,
1808
+ useExisting: core.forwardRef(function () { return SacTimeComponent; }),
1809
+ },
1810
+ {
1811
+ provide: forms.NG_VALIDATORS,
1812
+ multi: true,
1813
+ useExisting: core.forwardRef(function () { return SacTimeComponent; }),
1814
+ },
1815
+ ]
1816
+ },] }
1817
+ ];
1818
+ SacTimeComponent.ctorParameters = function () { return [
1819
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
1820
+ { type: core.Injector },
1821
+ { type: core.ElementRef }
1822
+ ]; };
1823
+
1824
+ var SACBootstrap4DateTimeModule = /** @class */ (function () {
1825
+ function SACBootstrap4DateTimeModule() {
1826
+ }
1827
+ return SACBootstrap4DateTimeModule;
1828
+ }());
1829
+ SACBootstrap4DateTimeModule.decorators = [
1830
+ { type: core.NgModule, args: [{
1831
+ declarations: [
1832
+ SacDateComponent,
1833
+ SacDateTimeComponent,
1834
+ SacTimeComponent,
1835
+ SacDateSelectorComponent,
1836
+ ],
1837
+ imports: [common.CommonModule, angularImask.IMaskModule, SACBootstrap4LayoutModule],
1838
+ exports: [
1839
+ SacDateComponent,
1840
+ SacDateTimeComponent,
1841
+ SacTimeComponent,
1842
+ SacDateSelectorComponent,
1843
+ ],
1844
+ },] }
1845
+ ];
1846
+
1847
+ /**
1848
+ * Grid Komponente
1849
+ */
1850
+ var SacGridComponent = /** @class */ (function (_super) {
1851
+ __extends(SacGridComponent, _super);
1852
+ // #endregion Properties
1853
+ // #region Constructors
1854
+ /**
1855
+ * Konstrukor
1856
+ * @param cdRef Change Detection Reference
1857
+ */
1858
+ function SacGridComponent(cdRef, injector) {
1859
+ var _this = _super.call(this, cdRef, injector) || this;
1860
+ /**
1861
+ * Setzt die Ellipsis Funktion auf der Column
1862
+ */
1863
+ _this.ellipsis = false;
1864
+ return _this;
1865
+ }
1866
+ return SacGridComponent;
1867
+ }(sacCommon.SacGridCommon));
1868
+ SacGridComponent.decorators = [
1869
+ { type: core.Component, args: [{
1870
+ selector: 'sac-grid',
1871
+ 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",
1872
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1873
+ providers: [
1874
+ { provide: forms.NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
1875
+ {
1876
+ provide: forms.NG_VALIDATORS,
1877
+ multi: true,
1878
+ useExisting: core.forwardRef(function () { return SacGridComponent; }),
1879
+ },
1880
+ ]
1881
+ },] }
1882
+ ];
1883
+ SacGridComponent.ctorParameters = function () { return [
1884
+ { type: core.ChangeDetectorRef },
1885
+ { type: core.Injector }
1886
+ ]; };
1887
+ SacGridComponent.propDecorators = {
1888
+ template: [{ type: core.ContentChild, args: [core.TemplateRef, { static: false },] }]
1889
+ };
1890
+
1891
+ /**
1892
+ * Grid Action Button
1893
+ *
1894
+ * @example Standard Action
1895
+ *
1896
+ * <ngGridButton icon="edit" (clicked)="action('edit')" [isdisabled]="true"></ngGridButton>
1897
+ *
1898
+ * @example Custom Action
1899
+ *
1900
+ * <ngGridButton iconstyle="sprite" icon="icon-sprite-base-main_info" (clicked)="action("info")"></ngGridButton>
1901
+ *
1902
+ */
1903
+ var SacGridButtonComponent = /** @class */ (function (_super) {
1904
+ __extends(SacGridButtonComponent, _super);
1905
+ function SacGridButtonComponent() {
1906
+ return _super !== null && _super.apply(this, arguments) || this;
1907
+ }
1908
+ /**
1909
+ * Gibt das Icon für den Button zurück
1910
+ */
1911
+ SacGridButtonComponent.prototype.getIconClass = function () {
1912
+ var iconset = this.iconstyle;
1913
+ var iconcss = this.icon;
1914
+ if (iconset === '') {
1915
+ switch (this.icon) {
1916
+ case 'edit':
1917
+ iconset = 'sprite';
1918
+ iconcss = 'icon-sprite-base-main_edit';
1919
+ break;
1920
+ case 'delete':
1921
+ iconset = 'sprite';
1922
+ iconcss = 'icon-sprite-base-main_delete';
1923
+ break;
1924
+ }
1925
+ }
1926
+ if (this._isdisabledvalue) {
1927
+ iconcss += '_disabled';
1928
+ }
1929
+ var result = iconset + ' ' + iconcss;
1930
+ return result.trim();
1931
+ };
1932
+ return SacGridButtonComponent;
1933
+ }(sacCommon.SacGridButtonCommon));
1934
+ SacGridButtonComponent.decorators = [
1935
+ { type: core.Component, args: [{
1936
+ selector: 'sac-gridbutton',
1937
+ template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\r\n"
1938
+ },] }
1939
+ ];
1940
+
1941
+ /**
1942
+ * Grid Column Komponente
1943
+ */
1944
+ var SacGridColumnComponent = /** @class */ (function (_super) {
1945
+ __extends(SacGridColumnComponent, _super);
1946
+ /**
1947
+ * Konstruktor
1948
+ * @param grid Grid Referenz
1949
+ * @param el HTML DOM Element
1950
+ */
1951
+ function SacGridColumnComponent(grid, injector, el) {
1952
+ return _super.call(this, grid, injector, el) || this;
1953
+ }
1954
+ return SacGridColumnComponent;
1955
+ }(sacCommon.SacGridColumnCommon));
1956
+ SacGridColumnComponent.decorators = [
1957
+ { type: core.Component, args: [{
1958
+ selector: 'sac-gridcolumn',
1959
+ 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=\"pl-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n class=\"pl-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",
1960
+ providers: [
1961
+ {
1962
+ provide: sacCommon.SacGridColumnBaseCommon,
1963
+ useExisting: core.forwardRef(function () { return SacGridColumnComponent; }),
1964
+ },
1965
+ ]
1966
+ },] }
1967
+ ];
1968
+ SacGridColumnComponent.ctorParameters = function () { return [
1969
+ { type: SacGridComponent },
1970
+ { type: core.Injector },
1971
+ { type: core.ElementRef }
1972
+ ]; };
1973
+
1974
+ /**
1975
+ * Grid Action Komponent
1976
+ */
1977
+ var SacGridColumnActionComponent = /** @class */ (function (_super) {
1978
+ __extends(SacGridColumnActionComponent, _super);
1979
+ /**
1980
+ * Konstruktor
1981
+ * @param grid Referenz auf Grid
1982
+ * @param el HTML Element Referenz
1983
+ */
1984
+ function SacGridColumnActionComponent(grid, injector, el) {
1985
+ var _this = _super.call(this, grid, injector, el) || this;
1986
+ _this.width = '60px';
1987
+ return _this;
1988
+ }
1989
+ return SacGridColumnActionComponent;
1990
+ }(sacCommon.SacGridColumnActionCommon));
1991
+ SacGridColumnActionComponent.decorators = [
1992
+ { type: core.Component, args: [{
1993
+ selector: 'sac-gridcolumnaction',
1994
+ 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",
1995
+ providers: [
1996
+ {
1997
+ provide: sacCommon.SacGridColumnBaseCommon,
1998
+ useExisting: core.forwardRef(function () { return SacGridColumnActionComponent; }),
1999
+ },
2000
+ ]
2001
+ },] }
2002
+ ];
2003
+ SacGridColumnActionComponent.ctorParameters = function () { return [
2004
+ { type: SacGridComponent },
2005
+ { type: core.Injector },
2006
+ { type: core.ElementRef }
2007
+ ]; };
2008
+
2009
+ /**
2010
+ * Image Item für Grid
2011
+ */
2012
+ var SacGridImageComponent = /** @class */ (function (_super) {
2013
+ __extends(SacGridImageComponent, _super);
2014
+ function SacGridImageComponent() {
2015
+ return _super !== null && _super.apply(this, arguments) || this;
2016
+ }
2017
+ /**
2018
+ * Gibt die CSS Klassen für Sprite Images zurück
2019
+ * @returns CSS Klasse
2020
+ */
2021
+ SacGridImageComponent.prototype.getIconClass = function () {
2022
+ switch (this.iconstyle) {
2023
+ case 'edit':
2024
+ return 'sprite icon-sprite-base-main_edit';
2025
+ case 'delete':
2026
+ return 'sprite icon-sprite-base-main_delete';
2027
+ default:
2028
+ return this.iconstyle;
2029
+ }
2030
+ };
2031
+ return SacGridImageComponent;
2032
+ }(sacCommon.SacGridImageCommon));
2033
+ SacGridImageComponent.decorators = [
2034
+ { type: core.Component, args: [{
2035
+ selector: 'sac-gridimage',
2036
+ template: "<span><span class=\"{{getIconClass()}}\"></span></span>\r\n"
2037
+ },] }
2038
+ ];
2039
+
2040
+ /**
2041
+ * Paging Komponente
2042
+ */
2043
+ var SacPagingComponent = /** @class */ (function (_super) {
2044
+ __extends(SacPagingComponent, _super);
2045
+ /**
2046
+ * Konstruktor
2047
+ * @param injector Angular Dependency Injection Service
2048
+ */
2049
+ function SacPagingComponent(injector) {
2050
+ return _super.call(this, injector) || this;
2051
+ }
2052
+ return SacPagingComponent;
2053
+ }(sacCommon.SacPagingCommon));
2054
+ SacPagingComponent.decorators = [
2055
+ { type: core.Component, args: [{
2056
+ selector: 'sac-paging',
2057
+ 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-control form-control-sm\"\r\n style=\"width: 85px\"\r\n [ngModel]=\"pageSize\"\r\n (ngModelChange)=\"changePageSize($event)\"\r\n >\r\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\r\n {{size}}\r\n </option>\r\n </select>\r\n <div class=\"ml-2\">{{ PageSizeText | async }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n",
2058
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2059
+ providers: [
2060
+ { provide: forms.NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
2061
+ {
2062
+ provide: forms.NG_VALIDATORS,
2063
+ multi: true,
2064
+ useExisting: core.forwardRef(function () { return SacPagingComponent; }),
2065
+ },
2066
+ ]
2067
+ },] }
2068
+ ];
2069
+ SacPagingComponent.ctorParameters = function () { return [
2070
+ { type: core.Injector }
2071
+ ]; };
2072
+
2073
+ var SACBootstrap4GridModule = /** @class */ (function () {
2074
+ function SACBootstrap4GridModule() {
2075
+ }
2076
+ return SACBootstrap4GridModule;
2077
+ }());
2078
+ SACBootstrap4GridModule.decorators = [
2079
+ { type: core.NgModule, args: [{
2080
+ declarations: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent],
2081
+ imports: [
2082
+ common.CommonModule, forms.FormsModule
2083
+ ],
2084
+ exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent]
2085
+ },] }
2086
+ ];
2087
+
2088
+ /**
2089
+ * Input Komponente
2090
+ */
2091
+ var SacInputComponent = /** @class */ (function (_super) {
2092
+ __extends(SacInputComponent, _super);
2093
+ // #region Constructors
2094
+ /**
2095
+ * Constructor
2096
+ * @param formLayout SacFormLayout to define scoped layout settings
2097
+ * @param injector Injector for injecting services
2098
+ */
2099
+ function SacInputComponent(formLayout, injector) {
2100
+ return _super.call(this, formLayout, injector) || this;
2101
+ }
2102
+ return SacInputComponent;
2103
+ }(sacCommon.SacInputCommon));
2104
+ SacInputComponent.decorators = [
2105
+ { type: core.Component, args: [{
2106
+ selector: 'sac-input',
2107
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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",
2108
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2109
+ providers: [
2110
+ { provide: forms.NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
2111
+ {
2112
+ provide: forms.NG_VALIDATORS,
2113
+ multi: true,
2114
+ useExisting: core.forwardRef(function () { return SacInputComponent; }),
2115
+ },
2116
+ ]
2117
+ },] }
2118
+ ];
2119
+ SacInputComponent.ctorParameters = function () { return [
2120
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2121
+ { type: core.Injector }
2122
+ ]; };
2123
+
2124
+ /**
2125
+ * Input Box für lange Texte
2126
+ */
2127
+ var SacInputAreaComponent = /** @class */ (function (_super) {
2128
+ __extends(SacInputAreaComponent, _super);
2129
+ // #region Constructors
2130
+ /**
2131
+ * Constructor
2132
+ * @param formLayout SacFormLayout to define scoped layout settings
2133
+ * @param injector Injector for injecting services
2134
+ */
2135
+ function SacInputAreaComponent(formLayout, injector) {
2136
+ return _super.call(this, formLayout, injector) || this;
2137
+ }
2138
+ return SacInputAreaComponent;
2139
+ }(sacCommon.SacInputAreaCommon));
2140
+ SacInputAreaComponent.decorators = [
2141
+ { type: core.Component, args: [{
2142
+ selector: 'sac-inputarea',
2143
+ template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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",
2144
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2145
+ providers: [
2146
+ {
2147
+ provide: forms.NG_VALUE_ACCESSOR,
2148
+ multi: true,
2149
+ useExisting: core.forwardRef(function () { return SacInputAreaComponent; }),
2150
+ },
2151
+ {
2152
+ provide: forms.NG_VALIDATORS,
2153
+ multi: true,
2154
+ useExisting: core.forwardRef(function () { return SacInputAreaComponent; }),
2155
+ },
2156
+ ]
2157
+ },] }
2158
+ ];
2159
+ SacInputAreaComponent.ctorParameters = function () { return [
2160
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2161
+ { type: core.Injector }
2162
+ ]; };
2163
+
2164
+ /**
2165
+ * Input Control für Währungen
2166
+ */
2167
+ var SacInputCurrencyComponent = /** @class */ (function (_super) {
2168
+ __extends(SacInputCurrencyComponent, _super);
2169
+ // #region Constructors
2170
+ /**
2171
+ * Constructor
2172
+ * @param formLayout SacFormLayout to define scoped layout settings
2173
+ * @param injector Injector for injecting services
2174
+ */
2175
+ function SacInputCurrencyComponent(formLayout, injector) {
2176
+ return _super.call(this, formLayout, injector) || this;
2177
+ }
2178
+ return SacInputCurrencyComponent;
2179
+ }(sacCommon.SacInputCurrencyCommon));
2180
+ SacInputCurrencyComponent.decorators = [
2181
+ { type: core.Component, args: [{
2182
+ selector: 'sac-inputcurrency',
2183
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <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 class=\"input-group-append\">\r\n <span class=\"input-group-text\">{{currency}}</span>\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</div>\r\n",
2184
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2185
+ providers: [
2186
+ {
2187
+ provide: forms.NG_VALUE_ACCESSOR,
2188
+ multi: true,
2189
+ useExisting: core.forwardRef(function () { return SacInputCurrencyComponent; }),
2190
+ },
2191
+ {
2192
+ provide: forms.NG_VALIDATORS,
2193
+ multi: true,
2194
+ useExisting: core.forwardRef(function () { return SacInputCurrencyComponent; }),
2195
+ },
2196
+ ]
2197
+ },] }
2198
+ ];
2199
+ SacInputCurrencyComponent.ctorParameters = function () { return [
2200
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2201
+ { type: core.Injector }
2202
+ ]; };
2203
+
2204
+ /**
2205
+ * Input Komponente für Zahlen
2206
+ */
2207
+ var SacInputDecimalComponent = /** @class */ (function (_super) {
2208
+ __extends(SacInputDecimalComponent, _super);
2209
+ // #region Constructors
2210
+ /**
2211
+ * Constructor
2212
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
2213
+ * @param injector Injector for injecting services
2214
+ */
2215
+ function SacInputDecimalComponent(formlayout, injector) {
2216
+ return _super.call(this, formlayout, injector) || this;
2217
+ }
2218
+ return SacInputDecimalComponent;
2219
+ }(sacCommon.SacInputDecimalCommon));
2220
+ SacInputDecimalComponent.decorators = [
2221
+ { type: core.Component, args: [{
2222
+ selector: 'sac-inputdecimal',
2223
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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",
2224
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2225
+ providers: [
2226
+ {
2227
+ provide: forms.NG_VALUE_ACCESSOR,
2228
+ multi: true,
2229
+ useExisting: core.forwardRef(function () { return SacInputDecimalComponent; }),
2230
+ },
2231
+ {
2232
+ provide: forms.NG_VALIDATORS,
2233
+ multi: true,
2234
+ useExisting: core.forwardRef(function () { return SacInputDecimalComponent; }),
2235
+ },
2236
+ ]
2237
+ },] }
2238
+ ];
2239
+ SacInputDecimalComponent.ctorParameters = function () { return [
2240
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2241
+ { type: core.Injector }
2242
+ ]; };
2243
+
2244
+ /**
2245
+ * Input Box für E-Mail Adressen
2246
+ */
2247
+ var SacInputEmailComponent = /** @class */ (function (_super) {
2248
+ __extends(SacInputEmailComponent, _super);
2249
+ // #region Constructors
2250
+ /**
2251
+ * Constructor
2252
+ * @param formLayout SacFormLayout to define scoped layout settings
2253
+ * @param injector Injector for injecting services
2254
+ */
2255
+ function SacInputEmailComponent(formLayout, injector) {
2256
+ return _super.call(this, formLayout, injector) || this;
2257
+ }
2258
+ return SacInputEmailComponent;
2259
+ }(sacCommon.SacInputEmailCommon));
2260
+ SacInputEmailComponent.decorators = [
2261
+ { type: core.Component, args: [{
2262
+ selector: 'sac-inputemail',
2263
+ template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <div class=\"input-group-prepend\">\r\n <span class=\"input-group-text\">@</span>\r\n </div>\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",
2264
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2265
+ providers: [
2266
+ {
2267
+ provide: forms.NG_VALUE_ACCESSOR,
2268
+ multi: true,
2269
+ useExisting: core.forwardRef(function () { return SacInputEmailComponent; }),
2270
+ },
2271
+ {
2272
+ provide: forms.NG_VALIDATORS,
2273
+ multi: true,
2274
+ useExisting: core.forwardRef(function () { return SacInputEmailComponent; }),
2275
+ },
2276
+ ]
2277
+ },] }
2278
+ ];
2279
+ SacInputEmailComponent.ctorParameters = function () { return [
2280
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2281
+ { type: core.Injector }
2282
+ ]; };
2283
+
2284
+ /**
2285
+ * Input Komponten für Ganzzahlen
2286
+ */
2287
+ var SacInputIntegerComponent = /** @class */ (function (_super) {
2288
+ __extends(SacInputIntegerComponent, _super);
2289
+ // #region Constructors
2290
+ /**
2291
+ * Constructor
2292
+ * @param formLayout SacFormLayout to define scoped layout settings
2293
+ * @param injector Injector for injecting services
2294
+ */
2295
+ function SacInputIntegerComponent(formLayout, injector) {
2296
+ return _super.call(this, formLayout, injector) || this;
2297
+ }
2298
+ return SacInputIntegerComponent;
2299
+ }(sacCommon.SacInputIntegerCommon));
2300
+ SacInputIntegerComponent.decorators = [
2301
+ { type: core.Component, args: [{
2302
+ selector: 'sac-inputinteger',
2303
+ template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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",
2304
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2305
+ providers: [
2306
+ {
2307
+ provide: forms.NG_VALUE_ACCESSOR,
2308
+ multi: true,
2309
+ useExisting: SacInputIntegerComponent,
2310
+ },
2311
+ {
2312
+ provide: forms.NG_VALIDATORS,
2313
+ multi: true,
2314
+ useExisting: core.forwardRef(function () { return SacInputIntegerComponent; }),
2315
+ },
2316
+ ]
2317
+ },] }
2318
+ ];
2319
+ SacInputIntegerComponent.ctorParameters = function () { return [
2320
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2321
+ { type: core.Injector }
2322
+ ]; };
2323
+
2324
+ /**
2325
+ * Input Box für Passwörter
2326
+ */
2327
+ var SacInputPasswordComponent = /** @class */ (function (_super) {
2328
+ __extends(SacInputPasswordComponent, _super);
2329
+ // #region Constructors
2330
+ /**
2331
+ * Constructor
2332
+ * @param formLayout SacFormLayout to define scoped layout settings
2333
+ * @param injector Injector for injecting services
2334
+ */
2335
+ function SacInputPasswordComponent(formLayout, injector) {
2336
+ return _super.call(this, formLayout, injector) || this;
2337
+ }
2338
+ return SacInputPasswordComponent;
2339
+ }(sacCommon.SacInputPasswordCommon));
2340
+ SacInputPasswordComponent.decorators = [
2341
+ { type: core.Component, args: [{
2342
+ selector: 'sac-inputpassword',
2343
+ template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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",
2344
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2345
+ providers: [
2346
+ {
2347
+ provide: forms.NG_VALUE_ACCESSOR,
2348
+ multi: true,
2349
+ useExisting: SacInputPasswordComponent,
2350
+ },
2351
+ {
2352
+ provide: forms.NG_VALIDATORS,
2353
+ multi: true,
2354
+ useExisting: core.forwardRef(function () { return SacInputPasswordComponent; }),
2355
+ },
2356
+ ]
2357
+ },] }
2358
+ ];
2359
+ SacInputPasswordComponent.ctorParameters = function () { return [
2360
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2361
+ { type: core.Injector }
2362
+ ]; };
2363
+
2364
+ /**
2365
+ * Input Box für Suche
2366
+ */
2367
+ var SacInputSearchComponent = /** @class */ (function (_super) {
2368
+ __extends(SacInputSearchComponent, _super);
2369
+ // #region Constructors
2370
+ /**
2371
+ * Constructor
2372
+ * @param formLayout SacFormLayout to define scoped layout settings
2373
+ * @param injector Injector for injecting services
2374
+ */
2375
+ function SacInputSearchComponent(formLayout, injector) {
2376
+ return _super.call(this, formLayout, injector) || this;
2377
+ }
2378
+ return SacInputSearchComponent;
2379
+ }(sacCommon.SacInputSearchCommon));
2380
+ SacInputSearchComponent.decorators = [
2381
+ { type: core.Component, args: [{
2382
+ selector: 'sac-inputsearch',
2383
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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 <div class=\"input-group-append\">\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</div>\r\n",
2384
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2385
+ providers: [
2386
+ {
2387
+ provide: forms.NG_VALUE_ACCESSOR,
2388
+ multi: true,
2389
+ useExisting: SacInputSearchComponent,
2390
+ },
2391
+ {
2392
+ provide: forms.NG_VALIDATORS,
2393
+ multi: true,
2394
+ useExisting: core.forwardRef(function () { return SacInputSearchComponent; }),
2395
+ },
2396
+ ]
2397
+ },] }
2398
+ ];
2399
+ SacInputSearchComponent.ctorParameters = function () { return [
2400
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2401
+ { type: core.Injector }
2402
+ ]; };
2403
+
2404
+ var SACBootstrap4InputModule = /** @class */ (function () {
2405
+ function SACBootstrap4InputModule() {
2406
+ }
2407
+ return SACBootstrap4InputModule;
2408
+ }());
2409
+ SACBootstrap4InputModule.decorators = [
2410
+ { type: core.NgModule, args: [{
2411
+ declarations: [
2412
+ SacInputComponent,
2413
+ SacInputAreaComponent,
2414
+ SacInputCurrencyComponent,
2415
+ SacInputDecimalComponent,
2416
+ SacInputEmailComponent,
2417
+ SacInputIntegerComponent,
2418
+ SacInputPasswordComponent,
2419
+ SacInputSearchComponent,
2420
+ ],
2421
+ imports: [common.CommonModule, SACBootstrap4LayoutModule],
2422
+ exports: [
2423
+ SacInputComponent,
2424
+ SacInputAreaComponent,
2425
+ SacInputCurrencyComponent,
2426
+ SacInputDecimalComponent,
2427
+ SacInputEmailComponent,
2428
+ SacInputIntegerComponent,
2429
+ SacInputPasswordComponent,
2430
+ SacInputSearchComponent,
2431
+ ],
2432
+ },] }
2433
+ ];
2434
+
2435
+ // #region Classes
2436
+ /**
2437
+ * Dropdown Komponente
2438
+ */
2439
+ var SacDropdownComponent = /** @class */ (function (_super) {
2440
+ __extends(SacDropdownComponent, _super);
2441
+ // #region Constructors
2442
+ /**
2443
+ * Constructor
2444
+ * @param formLayout SacFormLayout to define scoped layout settings
2445
+ * @param injector Injector for injecting services
2446
+ * @param renderer Angular rendering engine
2447
+ * @param elementRef Reference to html dom element
2448
+ */
2449
+ function SacDropdownComponent(formLayout, injector, renderer, elementRef) {
2450
+ return _super.call(this, formLayout, injector, renderer, elementRef) || this;
2451
+ }
2452
+ return SacDropdownComponent;
2453
+ }(sacCommon.SacDropdownCommon));
2454
+ SacDropdownComponent.decorators = [
2455
+ { type: core.Component, args: [{
2456
+ selector: 'sac-dropdown',
2457
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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-control\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\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",
2458
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2459
+ providers: [
2460
+ {
2461
+ provide: forms.NG_VALUE_ACCESSOR,
2462
+ multi: true,
2463
+ useExisting: SacDropdownComponent,
2464
+ },
2465
+ {
2466
+ provide: forms.NG_VALIDATORS,
2467
+ multi: true,
2468
+ useExisting: core.forwardRef(function () { return SacDropdownComponent; }),
2469
+ },
2470
+ ]
2471
+ },] }
2472
+ ];
2473
+ SacDropdownComponent.ctorParameters = function () { return [
2474
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2475
+ { type: core.Injector },
2476
+ { type: core.Renderer2 },
2477
+ { type: core.ElementRef }
2478
+ ]; };
2479
+ /**
2480
+ * Direktive für Dropdown Option List
2481
+ */
2482
+ var SacDropdownOptionDirective = /** @class */ (function (_super) {
2483
+ __extends(SacDropdownOptionDirective, _super);
2484
+ // #region Constructors
2485
+ /**
2486
+ * Konstruktor
2487
+ * @param elementRef Referenz auf HTML DOM Element
2488
+ * @param renderer Angular Rendering Engine
2489
+ * @param dropdownList Referenz auf DropDown Komponente
2490
+ */
2491
+ function SacDropdownOptionDirective(elementRef, renderer, dropdownList) {
2492
+ return _super.call(this, elementRef, renderer, dropdownList) || this;
2493
+ }
2494
+ return SacDropdownOptionDirective;
2495
+ }(sacCommon.SacDropdownOptionCommon));
2496
+ SacDropdownOptionDirective.decorators = [
2497
+ { type: core.Directive, args: [{ selector: '[sacOption],option' },] }
2498
+ ];
2499
+ SacDropdownOptionDirective.ctorParameters = function () { return [
2500
+ { type: core.ElementRef },
2501
+ { type: core.Renderer2 },
2502
+ { type: SacDropdownComponent, decorators: [{ type: core.Optional }, { type: core.Host }] }
2503
+ ]; };
2504
+ // #endregion Classes
2505
+
2506
+ var SACBootstrap4DropdownModule = /** @class */ (function () {
2507
+ function SACBootstrap4DropdownModule() {
2508
+ }
2509
+ return SACBootstrap4DropdownModule;
2510
+ }());
2511
+ SACBootstrap4DropdownModule.decorators = [
2512
+ { type: core.NgModule, args: [{
2513
+ declarations: [SacDropdownComponent, SacDropdownOptionDirective],
2514
+ imports: [common.CommonModule, SACBootstrap4LayoutModule],
2515
+ exports: [SacDropdownComponent, SacDropdownOptionDirective],
2516
+ },] }
2517
+ ];
2518
+
2519
+ // #region Classes
2520
+ /**
2521
+ * Listbox Komponente
2522
+ */
2523
+ var SacListboxComponent = /** @class */ (function (_super) {
2524
+ __extends(SacListboxComponent, _super);
2525
+ // #region Constructors
2526
+ /**
2527
+ * Constructor
2528
+ * @param formLayout SacFormLayout to define scoped layout settings
2529
+ * @param injector Injector for injecting services
2530
+ */
2531
+ function SacListboxComponent(formLayout, injector) {
2532
+ return _super.call(this, formLayout, injector) || this;
2533
+ }
2534
+ return SacListboxComponent;
2535
+ }(sacCommon.SacListboxCommon));
2536
+ SacListboxComponent.decorators = [
2537
+ { type: core.Component, args: [{
2538
+ selector: 'sac-listbox',
2539
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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-control\"\r\n [size]=\"rowsize\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\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",
2540
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2541
+ providers: [
2542
+ {
2543
+ provide: forms.NG_VALUE_ACCESSOR,
2544
+ multi: true,
2545
+ useExisting: SacListboxComponent,
2546
+ },
2547
+ {
2548
+ provide: forms.NG_VALIDATORS,
2549
+ multi: true,
2550
+ useExisting: core.forwardRef(function () { return SacListboxComponent; }),
2551
+ },
2552
+ ]
2553
+ },] }
2554
+ ];
2555
+ SacListboxComponent.ctorParameters = function () { return [
2556
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2557
+ { type: core.Injector }
2558
+ ]; };
2559
+ /**
2560
+ * Option Item in Listbox
2561
+ */
2562
+ var SacListboxOptionDirective = /** @class */ (function (_super) {
2563
+ __extends(SacListboxOptionDirective, _super);
2564
+ // #region Constructors
2565
+ /**
2566
+ * Konstruktor
2567
+ * @param elementRef Referenz auf DOM Element
2568
+ * @param renderer Angular Rendering Engine
2569
+ * @param listbox Referenz auf Listbox Komponente
2570
+ */
2571
+ function SacListboxOptionDirective(elementRef, renderer, listbox) {
2572
+ return _super.call(this, elementRef, renderer, listbox) || this;
2573
+ }
2574
+ return SacListboxOptionDirective;
2575
+ }(sacCommon.SacListboxOptionCommon));
2576
+ SacListboxOptionDirective.decorators = [
2577
+ { type: core.Directive, args: [{ selector: '[sacOption],option' },] }
2578
+ ];
2579
+ SacListboxOptionDirective.ctorParameters = function () { return [
2580
+ { type: core.ElementRef },
2581
+ { type: core.Renderer2 },
2582
+ { type: SacListboxComponent, decorators: [{ type: core.Optional }, { type: core.Host }] }
2583
+ ]; };
2584
+ // #endregion Classes
2585
+
2586
+ var SACBootstrap4ListModule = /** @class */ (function () {
2587
+ function SACBootstrap4ListModule() {
2588
+ }
2589
+ return SACBootstrap4ListModule;
2590
+ }());
2591
+ SACBootstrap4ListModule.decorators = [
2592
+ { type: core.NgModule, args: [{
2593
+ declarations: [SacListboxComponent, SacListboxOptionDirective],
2594
+ imports: [common.CommonModule, SACBootstrap4LayoutModule],
2595
+ exports: [SacListboxComponent, SacListboxOptionDirective],
2596
+ },] }
2597
+ ];
2598
+
2599
+ /**
2600
+ * Componente für Mehrsprache Texte
2601
+ */
2602
+ var SacMultilanguageInputComponent = /** @class */ (function (_super) {
2603
+ __extends(SacMultilanguageInputComponent, _super);
2604
+ // #endregion Properties
2605
+ // #region Constructors
2606
+ /**
2607
+ * Constructor
2608
+ * @param formLayout SacFormLayout to define scoped layout settings
2609
+ * @param injector Injector for injecting services
2610
+ */
2611
+ function SacMultilanguageInputComponent(formLayout, injector) {
2612
+ var _this = _super.call(this, formLayout, injector) || this;
2613
+ // #region Properties
2614
+ /**
2615
+ * Enum für IconType in HTML Template
2616
+ */
2617
+ _this.IconType = sacCommon.IconType;
2618
+ return _this;
2619
+ }
2620
+ return SacMultilanguageInputComponent;
2621
+ }(sacCommon.SacMultilanguageInputCommon));
2622
+ SacMultilanguageInputComponent.decorators = [
2623
+ { type: core.Component, args: [{
2624
+ selector: 'sac-multilanguageinput',
2625
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <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 <div\r\n placement=\"bottom-right\"\r\n class=\"input-group-append\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n #contextmenu\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 <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 *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<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n",
2626
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2627
+ providers: [
2628
+ {
2629
+ provide: forms.NG_VALUE_ACCESSOR,
2630
+ multi: true,
2631
+ useExisting: SacMultilanguageInputComponent,
2632
+ },
2633
+ {
2634
+ provide: forms.NG_VALIDATORS,
2635
+ multi: true,
2636
+ useExisting: core.forwardRef(function () { return SacMultilanguageInputComponent; }),
2637
+ },
2638
+ ]
2639
+ },] }
2640
+ ];
2641
+ SacMultilanguageInputComponent.ctorParameters = function () { return [
2642
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2643
+ { type: core.Injector }
2644
+ ]; };
2645
+
2646
+ /**
2647
+ * Componente für Mehrsprache Texte als mehrzeiliger Text
2648
+ */
2649
+ var SacMultilanguageInputAreaComponent = /** @class */ (function (_super) {
2650
+ __extends(SacMultilanguageInputAreaComponent, _super);
2651
+ // #endregion Properties
2652
+ // #region Constructors
2653
+ /**
2654
+ * Constructor
2655
+ * @param formLayout SacFormLayout to define scoped layout settings
2656
+ * @param injector Injector for injecting services
2657
+ */
2658
+ function SacMultilanguageInputAreaComponent(formLayout, injector) {
2659
+ var _this = _super.call(this, formLayout, injector) || this;
2660
+ // #region Properties
2661
+ /**
2662
+ * Enum für IconType in HTML Template
2663
+ */
2664
+ _this.IconType = sacCommon.IconType;
2665
+ return _this;
2666
+ }
2667
+ return SacMultilanguageInputAreaComponent;
2668
+ }(sacCommon.SacMultilanguageInputAreaCommon));
2669
+ SacMultilanguageInputAreaComponent.decorators = [
2670
+ { type: core.Component, args: [{
2671
+ selector: 'sac-multilanguageinputarea',
2672
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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 <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\r\n <div\r\n placement=\"bottom-right\"\r\n class=\"input-group-append\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n #contextmenu\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 <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 *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<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n",
2673
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2674
+ providers: [
2675
+ {
2676
+ provide: forms.NG_VALUE_ACCESSOR,
2677
+ multi: true,
2678
+ useExisting: SacMultilanguageInputAreaComponent,
2679
+ },
2680
+ {
2681
+ provide: forms.NG_VALIDATORS,
2682
+ multi: true,
2683
+ useExisting: core.forwardRef(function () { return SacMultilanguageInputAreaComponent; }),
2684
+ },
2685
+ ]
2686
+ },] }
2687
+ ];
2688
+ SacMultilanguageInputAreaComponent.ctorParameters = function () { return [
2689
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2690
+ { type: core.Injector }
2691
+ ]; };
2692
+
2693
+ /**
2694
+ * Component für Contextmenü
2695
+ */
2696
+ var SacMultilanguagemenuComponent = /** @class */ (function (_super) {
2697
+ __extends(SacMultilanguagemenuComponent, _super);
2698
+ // #region Constructors
2699
+ /**
2700
+ * Constructor
2701
+ * @param document Referenz auf HTML Document
2702
+ * @param ngZone Angular Zone Service
2703
+ * @param elementRef Referenz auf HTML Element der aktuellen Komponente
2704
+ * @param renderer Render Service von Angular
2705
+ * @param injector injector to resolve services in base component
2706
+ */
2707
+ function SacMultilanguagemenuComponent(document, ngZone, elementRef, renderer, injector) {
2708
+ return _super.call(this, document, ngZone, elementRef, renderer, injector) || this;
2709
+ }
2710
+ return SacMultilanguagemenuComponent;
2711
+ }(sacCommon.SacContextmenuCommon));
2712
+ SacMultilanguagemenuComponent.decorators = [
2713
+ { type: core.Component, args: [{
2714
+ selector: '[sac-multilanguagemenu]',
2715
+ template: "<ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n></ng-container>\r\n\r\n<div\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</div>\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",
2716
+ providers: [
2717
+ {
2718
+ provide: sacCommon.SacContextmenuCommon,
2719
+ useExisting: core.forwardRef(function () { return SacMultilanguagemenuComponent; }),
2720
+ },
2721
+ ]
2722
+ },] }
2723
+ ];
2724
+ SacMultilanguagemenuComponent.ctorParameters = function () { return [
2725
+ { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] },
2726
+ { type: core.NgZone },
2727
+ { type: core.ElementRef },
2728
+ { type: core.Renderer2 },
2729
+ { type: core.Injector }
2730
+ ]; };
2731
+
2732
+ /**
2733
+ * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
2734
+ */
2735
+ var SacMultilanguagemenuAnchorDirective = /** @class */ (function (_super) {
2736
+ __extends(SacMultilanguagemenuAnchorDirective, _super);
2737
+ // #region Constructors
2738
+ /**
2739
+ * Konstruktor
2740
+ * @param elementRef HTML DOM Referenz
2741
+ */
2742
+ function SacMultilanguagemenuAnchorDirective(elementRef) {
2743
+ return _super.call(this, elementRef) || this;
2744
+ }
2745
+ return SacMultilanguagemenuAnchorDirective;
2746
+ }(sacCommon.SacContextmenuAnchorCommon));
2747
+ SacMultilanguagemenuAnchorDirective.decorators = [
2748
+ { type: core.Directive, args: [{
2749
+ selector: '[sacMultilanguageMenuAnchor]',
2750
+ providers: [
2751
+ {
2752
+ provide: sacCommon.SacContextmenuAnchorCommon,
2753
+ useExisting: core.forwardRef(function () { return SacMultilanguagemenuAnchorDirective; }),
2754
+ },
2755
+ ],
2756
+ },] }
2757
+ ];
2758
+ SacMultilanguagemenuAnchorDirective.ctorParameters = function () { return [
2759
+ { type: core.ElementRef }
2760
+ ]; };
2761
+
2762
+ /**
2763
+ * Marker Komponente für Context Menü
2764
+ */
2765
+ var SacMultilanguagemenuContainerDirective = /** @class */ (function (_super) {
2766
+ __extends(SacMultilanguagemenuContainerDirective, _super);
2767
+ // #region Constructors
2768
+ /**
2769
+ * Konstruktor
2770
+ * @param elementRef Referenz auf DOM Element
2771
+ */
2772
+ function SacMultilanguagemenuContainerDirective(elementRef) {
2773
+ return _super.call(this, elementRef) || this;
2774
+ }
2775
+ return SacMultilanguagemenuContainerDirective;
2776
+ }(sacCommon.SacContextMenuContrainerCommon));
2777
+ SacMultilanguagemenuContainerDirective.decorators = [
2778
+ { type: core.Directive, args: [{
2779
+ selector: '[sacMultilanguageMenuContainer]',
2780
+ providers: [
2781
+ {
2782
+ provide: sacCommon.SacContextMenuContrainerCommon,
2783
+ useExisting: core.forwardRef(function () { return SacMultilanguagemenuContainerDirective; }),
2784
+ },
2785
+ ],
2786
+ },] }
2787
+ ];
2788
+ SacMultilanguagemenuContainerDirective.ctorParameters = function () { return [
2789
+ { type: core.ElementRef }
2790
+ ]; };
2791
+
2792
+ /**
2793
+ * Component für Menü Eintrag in Context Menü
2794
+ */
2795
+ var SacMultilanguagemenuItemButtonComponent = /** @class */ (function (_super) {
2796
+ __extends(SacMultilanguagemenuItemButtonComponent, _super);
2797
+ /**
2798
+ * Constructor
2799
+ * @param contextmenu Instance von Context Menü
2800
+ */
2801
+ function SacMultilanguagemenuItemButtonComponent(contextmenu) {
2802
+ return _super.call(this, contextmenu) || this;
2803
+ }
2804
+ return SacMultilanguagemenuItemButtonComponent;
2805
+ }(sacCommon.SacContextmenuItemButtonCommon));
2806
+ SacMultilanguagemenuItemButtonComponent.decorators = [
2807
+ { type: core.Component, args: [{
2808
+ selector: 'sac-multilanguagemenubutton',
2809
+ template: "<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"
2810
+ },] }
2811
+ ];
2812
+ SacMultilanguagemenuItemButtonComponent.ctorParameters = function () { return [
2813
+ { type: sacCommon.SacContextmenuCommon }
2814
+ ]; };
2815
+
2816
+ var SACBootstrap4MultilanguageModule = /** @class */ (function () {
2817
+ function SACBootstrap4MultilanguageModule() {
2818
+ }
2819
+ return SACBootstrap4MultilanguageModule;
2820
+ }());
2821
+ SACBootstrap4MultilanguageModule.decorators = [
2822
+ { type: core.NgModule, args: [{
2823
+ declarations: [
2824
+ SacMultilanguageInputComponent,
2825
+ SacMultilanguageInputAreaComponent,
2826
+ SacMultilanguagemenuComponent,
2827
+ SacMultilanguagemenuAnchorDirective,
2828
+ SacMultilanguagemenuContainerDirective,
2829
+ SacMultilanguagemenuItemButtonComponent,
2830
+ ],
2831
+ imports: [common.CommonModule, SACBootstrap4LayoutModule],
2832
+ exports: [SacMultilanguageInputComponent, SacMultilanguageInputAreaComponent],
2833
+ },] }
2834
+ ];
2835
+
2836
+ /**
2837
+ * Component für einbindung eines beliebigen Controls in die Form Struktur
2838
+ *
2839
+ * @example
2840
+ * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
2841
+ * <input type="range" class="form-control" />
2842
+ * </ngStaticFormContainer>
2843
+ *
2844
+ * @example
2845
+ * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
2846
+ * <input type="range" class="form-control" />
2847
+ * </ngStaticFormContainer>
2848
+ *
2849
+ **/
2850
+ var SacStaticFormContainerComponent = /** @class */ (function (_super) {
2851
+ __extends(SacStaticFormContainerComponent, _super);
2852
+ // #region Constructors
2853
+ /**
2854
+ *
2855
+ * @param formLayout SacFormLayout to define scoped layout settings
2856
+ * @param injector Injector for injecting services
2857
+ */
2858
+ function SacStaticFormContainerComponent(formLayout, injector) {
2859
+ return _super.call(this, formLayout, injector) || this;
2860
+ }
2861
+ return SacStaticFormContainerComponent;
2862
+ }(sacCommon.SacStaticFormContainerCommon));
2863
+ SacStaticFormContainerComponent.decorators = [
2864
+ { type: core.Component, args: [{
2865
+ selector: 'sac-staticformcontainer',
2866
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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",
2867
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2868
+ providers: [
2869
+ {
2870
+ provide: forms.NG_VALUE_ACCESSOR,
2871
+ multi: true,
2872
+ useExisting: SacStaticFormContainerComponent,
2873
+ },
2874
+ {
2875
+ provide: forms.NG_VALIDATORS,
2876
+ multi: true,
2877
+ useExisting: core.forwardRef(function () { return SacStaticFormContainerComponent; }),
2878
+ },
2879
+ ]
2880
+ },] }
2881
+ ];
2882
+ SacStaticFormContainerComponent.ctorParameters = function () { return [
2883
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2884
+ { type: core.Injector }
2885
+ ]; };
2886
+
2887
+ /**
2888
+ * Komponente für statischen Text in einem Formular
2889
+ */
2890
+ var SacStaticLabelComponent = /** @class */ (function (_super) {
2891
+ __extends(SacStaticLabelComponent, _super);
2892
+ // #region Constructors
2893
+ /**
2894
+ *
2895
+ * @param formLayout SacFormLayout to define scoped layout settings
2896
+ * @param injector Injector for injecting services
2897
+ */
2898
+ function SacStaticLabelComponent(formLayout, injector) {
2899
+ return _super.call(this, formLayout, injector) || this;
2900
+ }
2901
+ return SacStaticLabelComponent;
2902
+ }(sacCommon.SacStaticLabelCommon));
2903
+ SacStaticLabelComponent.decorators = [
2904
+ { type: core.Component, args: [{
2905
+ selector: 'sac-staticlabel',
2906
+ template: "<div class=\"row form-group\" [class.no-gutters]=\"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) : 'sr-only', 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",
2907
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2908
+ providers: [
2909
+ {
2910
+ provide: forms.NG_VALUE_ACCESSOR,
2911
+ multi: true,
2912
+ useExisting: SacStaticLabelComponent,
2913
+ },
2914
+ {
2915
+ provide: forms.NG_VALIDATORS,
2916
+ multi: true,
2917
+ useExisting: core.forwardRef(function () { return SacStaticLabelComponent; }),
2918
+ },
2919
+ ]
2920
+ },] }
2921
+ ];
2922
+ SacStaticLabelComponent.ctorParameters = function () { return [
2923
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
2924
+ { type: core.Injector }
2925
+ ]; };
2926
+
2927
+ var SACBootstrap4StaticLabelModule = /** @class */ (function () {
2928
+ function SACBootstrap4StaticLabelModule() {
2929
+ }
2930
+ return SACBootstrap4StaticLabelModule;
2931
+ }());
2932
+ SACBootstrap4StaticLabelModule.decorators = [
2933
+ { type: core.NgModule, args: [{
2934
+ declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
2935
+ imports: [common.CommonModule, SACBootstrap4LayoutModule],
2936
+ exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
2937
+ },] }
2938
+ ];
2939
+
2940
+ /**
2941
+ * Tab Item Komponente
2942
+ */
2943
+ var SacTabItemComponent = /** @class */ (function (_super) {
2944
+ __extends(SacTabItemComponent, _super);
2945
+ function SacTabItemComponent() {
2946
+ return _super !== null && _super.apply(this, arguments) || this;
2947
+ }
2948
+ return SacTabItemComponent;
2949
+ }(sacCommon.SacTabItemCommon));
2950
+ SacTabItemComponent.decorators = [
2951
+ { type: core.Component, args: [{
2952
+ selector: 'sac-tabitem',
2953
+ 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"
2954
+ },] }
2955
+ ];
2956
+
2957
+ /**
2958
+ * Komponente für Tabs
2959
+ */
2960
+ var SacTabComponent = /** @class */ (function (_super) {
2961
+ __extends(SacTabComponent, _super);
2962
+ function SacTabComponent() {
2963
+ return _super !== null && _super.apply(this, arguments) || this;
2964
+ }
2965
+ /**
2966
+ * Gibt die TabItems zurück
2967
+ * @returns Array von TabItems
2968
+ */
2969
+ SacTabComponent.prototype.tabItems = function () {
2970
+ return this._tabItems.toArray();
2971
+ };
2972
+ return SacTabComponent;
2973
+ }(sacCommon.SacTabCommon));
2974
+ SacTabComponent.decorators = [
2975
+ { type: core.Component, args: [{
2976
+ selector: 'sac-tab',
2977
+ template: "<!-- Nav tabs -->\r\n<div class=\"nav nav-tabs\" role=\"tablist\">\r\n <a\r\n *ngFor=\"let item of _tabItems\"\r\n role=\"tab\"\r\n class=\"nav-item nav-link active\"\r\n data-toggle=\"tab\"\r\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\r\n >{{item.label}}</a\r\n >\r\n</div>\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"
2978
+ },] }
2979
+ ];
2980
+ SacTabComponent.propDecorators = {
2981
+ _tabItems: [{ type: core.ContentChildren, args: [SacTabItemComponent,] }]
2982
+ };
2983
+
2984
+ var SACBootstrap4TabsModule = /** @class */ (function () {
2985
+ function SACBootstrap4TabsModule() {
2986
+ }
2987
+ return SACBootstrap4TabsModule;
2988
+ }());
2989
+ SACBootstrap4TabsModule.decorators = [
2990
+ { type: core.NgModule, args: [{
2991
+ declarations: [SacTabComponent, SacTabItemComponent],
2992
+ imports: [
2993
+ common.CommonModule
2994
+ ],
2995
+ exports: [SacTabComponent, SacTabItemComponent]
2996
+ },] }
2997
+ ];
2998
+
2999
+ /**
3000
+ * TinyMCE Komponente
3001
+ */
3002
+ var SacTinyMceComponent = /** @class */ (function (_super) {
3003
+ __extends(SacTinyMceComponent, _super);
3004
+ // #region Constructors
3005
+ /**
3006
+ * Constructor
3007
+ * @param formLayout SacFormLayout to define scoped layout settings
3008
+ * @param injector Injector for injecting services
3009
+ * @param ngZone ngZone to manage external javascripts
3010
+ */
3011
+ function SacTinyMceComponent(formLayout, injector, ngZone) {
3012
+ return _super.call(this, formLayout, injector, ngZone) || this;
3013
+ }
3014
+ // #endregion Constructors
3015
+ // #region Public Methods
3016
+ /**
3017
+ * overwrite tinymce defaults
3018
+ * @returns boostrap4 has no overwrites
3019
+ */
3020
+ SacTinyMceComponent.prototype.overwriteDefaultSettings = function () {
3021
+ return {};
3022
+ };
3023
+ return SacTinyMceComponent;
3024
+ }(sacCommon.SacTinyMceCommon));
3025
+ SacTinyMceComponent.decorators = [
3026
+ { type: core.Component, args: [{
3027
+ selector: 'sac-tinymce',
3028
+ template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', 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",
3029
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
3030
+ providers: [
3031
+ {
3032
+ provide: forms.NG_VALUE_ACCESSOR,
3033
+ multi: true,
3034
+ useExisting: SacTinyMceComponent,
3035
+ },
3036
+ {
3037
+ provide: forms.NG_VALIDATORS,
3038
+ useExisting: core.forwardRef(function () { return SacTinyMceComponent; }),
3039
+ multi: true,
3040
+ },
3041
+ ],
3042
+ styles: [".is-invalid{border:1px solid var(--red)}"]
3043
+ },] }
3044
+ ];
3045
+ SacTinyMceComponent.ctorParameters = function () { return [
3046
+ { type: SacFormLayoutDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
3047
+ { type: core.Injector },
3048
+ { type: core.NgZone }
3049
+ ]; };
3050
+
3051
+ var SACBootstrap4TinyMceModule = /** @class */ (function () {
3052
+ function SACBootstrap4TinyMceModule() {
3053
+ }
3054
+ return SACBootstrap4TinyMceModule;
3055
+ }());
3056
+ SACBootstrap4TinyMceModule.decorators = [
3057
+ { type: core.NgModule, args: [{
3058
+ declarations: [SacTinyMceComponent],
3059
+ imports: [
3060
+ common.CommonModule,
3061
+ forms.FormsModule,
3062
+ tinymceAngular.EditorModule,
3063
+ SACBootstrap4LayoutModule,
3064
+ SACBootstrap4ButtonModule,
3065
+ SACBootstrap4DialogModule,
3066
+ SACBootstrap4BrowserModule,
3067
+ ],
3068
+ exports: [SacTinyMceComponent],
3069
+ },] }
3070
+ ];
3071
+
3072
+ /**
3073
+ * Validation Summary Kompontente
3074
+ */
3075
+ var SacValidationSummaryComponent = /** @class */ (function (_super) {
3076
+ __extends(SacValidationSummaryComponent, _super);
3077
+ // #region Constructors
3078
+ /**
3079
+ * Constructor
3080
+ * @param formControl Instance of Form Component to receive invalid form controls
3081
+ * @param injector Injector for injecting services
3082
+ */
3083
+ function SacValidationSummaryComponent(parentForm, injector) {
3084
+ return _super.call(this, parentForm, injector) || this;
3085
+ }
3086
+ return SacValidationSummaryComponent;
3087
+ }(sacCommon.SacValidationSummaryCommon));
3088
+ SacValidationSummaryComponent.decorators = [
3089
+ { type: core.Component, args: [{
3090
+ selector: 'sac-validationsummary',
3091
+ 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",
3092
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
3093
+ providers: [
3094
+ {
3095
+ provide: forms.NG_VALUE_ACCESSOR,
3096
+ multi: true,
3097
+ useExisting: SacValidationSummaryComponent,
3098
+ },
3099
+ ]
3100
+ },] }
3101
+ ];
3102
+ SacValidationSummaryComponent.ctorParameters = function () { return [
3103
+ { type: SacFormDirective, decorators: [{ type: core.Host }, { type: core.Optional }] },
3104
+ { type: core.Injector }
3105
+ ]; };
3106
+
3107
+ var SACBootstrap4ValidationSummaryModule = /** @class */ (function () {
3108
+ function SACBootstrap4ValidationSummaryModule() {
3109
+ }
3110
+ return SACBootstrap4ValidationSummaryModule;
3111
+ }());
3112
+ SACBootstrap4ValidationSummaryModule.decorators = [
3113
+ { type: core.NgModule, args: [{
3114
+ declarations: [SacValidationSummaryComponent],
3115
+ imports: [
3116
+ common.CommonModule
3117
+ ],
3118
+ exports: [SacValidationSummaryComponent]
3119
+ },] }
3120
+ ];
3121
+
3122
+ /**
3123
+ * Wizard Komponente Item
3124
+ */
3125
+ var SacWizardItemComponent = /** @class */ (function (_super) {
3126
+ __extends(SacWizardItemComponent, _super);
3127
+ function SacWizardItemComponent() {
3128
+ return _super !== null && _super.apply(this, arguments) || this;
3129
+ }
3130
+ return SacWizardItemComponent;
3131
+ }(sacCommon.SacWizardItemCommon));
3132
+ SacWizardItemComponent.decorators = [
3133
+ { type: core.Component, args: [{
3134
+ selector: 'sac-wizarditem',
3135
+ template: ""
3136
+ },] }
3137
+ ];
3138
+
3139
+ /**
3140
+ * Wizard Komponente
3141
+ */
3142
+ var SacWizardComponent = /** @class */ (function (_super) {
3143
+ __extends(SacWizardComponent, _super);
3144
+ function SacWizardComponent() {
3145
+ return _super !== null && _super.apply(this, arguments) || this;
3146
+ }
3147
+ /**
3148
+ * Gibt die Wizard Items zurück
3149
+ * @returns Collection von WizardItems
3150
+ */
3151
+ SacWizardComponent.prototype.wizardItems = function () {
3152
+ return this._wizardItems;
3153
+ };
3154
+ return SacWizardComponent;
3155
+ }(sacCommon.SacWizardCommon));
3156
+ SacWizardComponent.decorators = [
3157
+ { type: core.Component, args: [{
3158
+ selector: 'sac-wizard',
3159
+ 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",
3160
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
3161
+ providers: [
3162
+ { provide: forms.NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent },
3163
+ ]
3164
+ },] }
3165
+ ];
3166
+ SacWizardComponent.propDecorators = {
3167
+ _wizardItems: [{ type: core.ContentChildren, args: [SacWizardItemComponent,] }]
3168
+ };
3169
+
3170
+ var SACBootstrap4WizardModule = /** @class */ (function () {
3171
+ function SACBootstrap4WizardModule() {
3172
+ }
3173
+ return SACBootstrap4WizardModule;
3174
+ }());
3175
+ SACBootstrap4WizardModule.decorators = [
3176
+ { type: core.NgModule, args: [{
3177
+ declarations: [SacWizardComponent, SacWizardItemComponent],
3178
+ imports: [
3179
+ common.CommonModule
3180
+ ],
3181
+ exports: [SacWizardComponent, SacWizardItemComponent]
3182
+ },] }
3183
+ ];
3184
+
3185
+ /*
3186
+ * Public API Surface of sac-bootstrap4
3187
+ */
3188
+
3189
+ /**
3190
+ * Generated bundle index. Do not edit.
3191
+ */
3192
+
3193
+ exports.SACBootstrap4BrowserModule = SACBootstrap4BrowserModule;
3194
+ exports.SACBootstrap4ButtonModule = SACBootstrap4ButtonModule;
3195
+ exports.SACBootstrap4CheckboxModule = SACBootstrap4CheckboxModule;
3196
+ exports.SACBootstrap4ConfirmModule = SACBootstrap4ConfirmModule;
3197
+ exports.SACBootstrap4ContextmenuModule = SACBootstrap4ContextmenuModule;
3198
+ exports.SACBootstrap4DateTimeModule = SACBootstrap4DateTimeModule;
3199
+ exports.SACBootstrap4DialogModule = SACBootstrap4DialogModule;
3200
+ exports.SACBootstrap4DropdownModule = SACBootstrap4DropdownModule;
3201
+ exports.SACBootstrap4FormModule = SACBootstrap4FormModule;
3202
+ exports.SACBootstrap4GridModule = SACBootstrap4GridModule;
3203
+ exports.SACBootstrap4InputModule = SACBootstrap4InputModule;
3204
+ exports.SACBootstrap4LayoutModule = SACBootstrap4LayoutModule;
3205
+ exports.SACBootstrap4ListModule = SACBootstrap4ListModule;
3206
+ exports.SACBootstrap4MultilanguageModule = SACBootstrap4MultilanguageModule;
3207
+ exports.SACBootstrap4StaticLabelModule = SACBootstrap4StaticLabelModule;
3208
+ exports.SACBootstrap4TabsModule = SACBootstrap4TabsModule;
3209
+ exports.SACBootstrap4TinyMceModule = SACBootstrap4TinyMceModule;
3210
+ exports.SACBootstrap4UploadModule = SACBootstrap4UploadModule;
3211
+ exports.SACBootstrap4ValidationSummaryModule = SACBootstrap4ValidationSummaryModule;
3212
+ exports.SACBootstrap4WizardModule = SACBootstrap4WizardModule;
3213
+ exports.SacFormDirective = SacFormDirective;
3214
+ exports.ServiceConfirm = ServiceConfirm;
3215
+ exports.ɵa = SacBrowserComponent;
3216
+ exports.ɵb = SacDropzoneMultipleComponent;
3217
+ exports.ɵba = SacTimeComponent;
3218
+ exports.ɵbb = SacDateSelectorComponent;
3219
+ exports.ɵbc = SacGridComponent;
3220
+ exports.ɵbd = SacGridColumnComponent;
3221
+ exports.ɵbe = SacGridColumnActionComponent;
3222
+ exports.ɵbf = SacPagingComponent;
3223
+ exports.ɵbg = SacGridButtonComponent;
3224
+ exports.ɵbh = SacGridImageComponent;
3225
+ exports.ɵbi = SacInputComponent;
3226
+ exports.ɵbj = SacInputAreaComponent;
3227
+ exports.ɵbk = SacInputCurrencyComponent;
3228
+ exports.ɵbl = SacInputDecimalComponent;
3229
+ exports.ɵbm = SacInputEmailComponent;
3230
+ exports.ɵbn = SacInputIntegerComponent;
3231
+ exports.ɵbo = SacInputPasswordComponent;
3232
+ exports.ɵbp = SacInputSearchComponent;
3233
+ exports.ɵbq = SacDropdownComponent;
3234
+ exports.ɵbr = SacDropdownOptionDirective;
3235
+ exports.ɵbs = SacListboxComponent;
3236
+ exports.ɵbt = SacListboxOptionDirective;
3237
+ exports.ɵbu = SacMultilanguageInputComponent;
3238
+ exports.ɵbv = SacMultilanguageInputAreaComponent;
3239
+ exports.ɵbw = SacMultilanguagemenuComponent;
3240
+ exports.ɵbx = SacMultilanguagemenuAnchorDirective;
3241
+ exports.ɵby = SacMultilanguagemenuContainerDirective;
3242
+ exports.ɵbz = SacMultilanguagemenuItemButtonComponent;
3243
+ exports.ɵc = SacFormLayoutDirective;
3244
+ exports.ɵca = SacStaticLabelComponent;
3245
+ exports.ɵcb = SacStaticFormContainerComponent;
3246
+ exports.ɵcc = SacTabComponent;
3247
+ exports.ɵcd = SacTabItemComponent;
3248
+ exports.ɵce = SacTinyMceComponent;
3249
+ exports.ɵcf = SacValidationSummaryComponent;
3250
+ exports.ɵcg = SacWizardComponent;
3251
+ exports.ɵch = SacWizardItemComponent;
3252
+ exports.ɵd = SacConfirmComponent;
3253
+ exports.ɵe = SacDialogComponent;
3254
+ exports.ɵf = SacButtonComponent;
3255
+ exports.ɵg = SacContextmenuComponent;
3256
+ exports.ɵh = SacContextmenuItemButtonComponent;
3257
+ exports.ɵi = SacContextmenuItemSplitterComponent;
3258
+ exports.ɵj = SacContextmenuAnchorDirective;
3259
+ exports.ɵk = SacContextmenuContainerDirective;
3260
+ exports.ɵl = SacUploadComponent;
3261
+ exports.ɵm = SacUploadMultipleComponent;
3262
+ exports.ɵn = SacDropzoneSingleComponent;
3263
+ exports.ɵo = SacToControlHeightPipe;
3264
+ exports.ɵp = SacToControlWidthCssPipe;
3265
+ exports.ɵq = SacToLabelHeightPipe;
3266
+ exports.ɵr = SacToLabelWidthCssPipe;
3267
+ exports.ɵs = SACFORM_FACTORY;
3268
+ exports.ɵt = NGFORM_FACTORY;
3269
+ exports.ɵu = SacInheritFormDirective;
3270
+ exports.ɵv = SacCheckboxComponent;
3271
+ exports.ɵw = SacRadiobuttonComponent;
3272
+ exports.ɵx = SacRadiobuttonsComponent;
3273
+ exports.ɵy = SacDateComponent;
3274
+ exports.ɵz = SacDateTimeComponent;
3275
+
3276
+ Object.defineProperty(exports, '__esModule', { value: true });
3277
+
3278
+ })));
3279
+ //# sourceMappingURL=simpleangularcontrols-sac-bootstrap4.umd.js.map