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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +27 -27
  2. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js +2758 -2727
  3. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
  4. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
  5. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
  6. package/controls/buttons/button.d.ts +3 -3
  7. package/controls/buttons/button.module.d.ts +2 -2
  8. package/controls/buttons/button.module.ngfactory.d.ts +3 -3
  9. package/controls/buttons/button.ngfactory.d.ts +1 -1
  10. package/controls/checkbox/checkbox.d.ts +11 -11
  11. package/controls/checkbox/checkbox.module.d.ts +2 -2
  12. package/controls/checkbox/checkbox.module.ngfactory.d.ts +3 -3
  13. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -1
  14. package/controls/checkbox/checkbox.scss.ngstyle.d.ts +1 -1
  15. package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts +1 -1
  16. package/controls/checkbox/radiobutton.d.ts +7 -7
  17. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -1
  18. package/controls/checkbox/radiobutton.scss.ngstyle.d.ts +1 -1
  19. package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts +1 -1
  20. package/controls/checkbox/radiobuttons.d.ts +11 -11
  21. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -1
  22. package/controls/confirm/confirm.d.ts +3 -3
  23. package/controls/confirm/confirm.module.d.ts +11 -11
  24. package/controls/confirm/confirm.module.ngfactory.d.ts +3 -3
  25. package/controls/confirm/confirm.ngfactory.d.ts +1 -1
  26. package/controls/confirm/confirm.service.d.ts +54 -54
  27. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
  28. package/controls/contextmenu/contextmenu.d.ts +16 -16
  29. package/controls/contextmenu/contextmenu.module.d.ts +2 -2
  30. package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +3 -3
  31. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -1
  32. package/controls/contextmenu/contextmenuanchor.d.ts +12 -12
  33. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -1
  34. package/controls/contextmenu/contextmenucontainer.d.ts +12 -12
  35. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -1
  36. package/controls/contextmenu/contextmenuitembutton.d.ts +14 -14
  37. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -1
  38. package/controls/contextmenu/contextmenuitemsplitter.d.ts +6 -6
  39. package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +1 -1
  40. package/controls/datetime/date.d.ts +13 -13
  41. package/controls/datetime/date.ngfactory.d.ts +1 -1
  42. package/controls/datetime/dateselector.d.ts +3 -3
  43. package/controls/datetime/dateselector.ngfactory.d.ts +1 -1
  44. package/controls/datetime/datetime.d.ts +13 -13
  45. package/controls/datetime/datetime.module.d.ts +2 -2
  46. package/controls/datetime/datetime.module.ngfactory.d.ts +3 -3
  47. package/controls/datetime/datetime.ngfactory.d.ts +1 -1
  48. package/controls/datetime/time.d.ts +13 -13
  49. package/controls/datetime/time.ngfactory.d.ts +1 -1
  50. package/controls/dialog/dialog.d.ts +11 -11
  51. package/controls/dialog/dialog.module.d.ts +2 -2
  52. package/controls/dialog/dialog.module.ngfactory.d.ts +3 -3
  53. package/controls/dialog/dialog.ngfactory.d.ts +1 -1
  54. package/controls/form/form.d.ts +28 -28
  55. package/controls/form/form.module.d.ts +2 -2
  56. package/controls/form/form.module.ngfactory.d.ts +3 -3
  57. package/controls/form/form.ngfactory.d.ts +1 -1
  58. package/controls/form/inheritform.directive.d.ts +24 -24
  59. package/controls/form/inheritform.directive.ngfactory.d.ts +1 -1
  60. package/controls/grid/grid.d.ts +6 -6
  61. package/controls/grid/grid.module.d.ts +2 -2
  62. package/controls/grid/grid.module.ngfactory.d.ts +3 -3
  63. package/controls/grid/grid.ngfactory.d.ts +1 -1
  64. package/controls/grid/gridbutton.d.ts +10 -10
  65. package/controls/grid/gridbutton.ngfactory.d.ts +1 -1
  66. package/controls/grid/gridcolumn.d.ts +6 -6
  67. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -1
  68. package/controls/grid/gridcolumnaction.d.ts +6 -6
  69. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -1
  70. package/controls/grid/gridimage.d.ts +4 -4
  71. package/controls/grid/gridimage.ngfactory.d.ts +1 -1
  72. package/controls/grid/paging.d.ts +8 -8
  73. package/controls/grid/paging.ngfactory.d.ts +1 -1
  74. package/controls/input/input.d.ts +11 -11
  75. package/controls/input/input.module.d.ts +2 -2
  76. package/controls/input/input.module.ngfactory.d.ts +3 -3
  77. package/controls/input/input.ngfactory.d.ts +1 -1
  78. package/controls/input/inputarea.d.ts +23 -23
  79. package/controls/input/inputarea.ngfactory.d.ts +1 -1
  80. package/controls/input/inputcurrency.d.ts +11 -11
  81. package/controls/input/inputcurrency.ngfactory.d.ts +1 -1
  82. package/controls/input/inputdecimal.d.ts +11 -11
  83. package/controls/input/inputdecimal.ngfactory.d.ts +1 -1
  84. package/controls/input/inputemail.d.ts +11 -11
  85. package/controls/input/inputemail.ngfactory.d.ts +1 -1
  86. package/controls/input/inputinteger.d.ts +11 -11
  87. package/controls/input/inputinteger.ngfactory.d.ts +1 -1
  88. package/controls/input/inputpassword.d.ts +11 -11
  89. package/controls/input/inputpassword.ngfactory.d.ts +1 -1
  90. package/controls/input/inputsearch.d.ts +11 -11
  91. package/controls/input/inputsearch.ngfactory.d.ts +1 -1
  92. package/controls/layout/formlayout.directive.d.ts +3 -3
  93. package/controls/layout/formlayout.directive.ngfactory.d.ts +1 -1
  94. package/controls/layout/layout.module.d.ts +2 -2
  95. package/controls/layout/layout.module.ngfactory.d.ts +3 -3
  96. package/controls/layout/tocontrolheight.pipe.d.ts +9 -9
  97. package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +1 -1
  98. package/controls/layout/tocontrolwidthcss.pipe.d.ts +16 -16
  99. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +1 -1
  100. package/controls/layout/tolabelheight.pipe.d.ts +9 -9
  101. package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +1 -1
  102. package/controls/layout/tolabelwidthcss.pipe.d.ts +10 -10
  103. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +1 -1
  104. package/controls/list/dropdown.d.ts +22 -22
  105. package/controls/list/dropdown.ngfactory.d.ts +1 -1
  106. package/controls/list/list.module.d.ts +2 -2
  107. package/controls/list/list.module.ngfactory.d.ts +3 -3
  108. package/controls/list/listbox.d.ts +11 -11
  109. package/controls/list/listbox.ngfactory.d.ts +1 -1
  110. package/controls/static/formcontainer.d.ts +25 -25
  111. package/controls/static/formcontainer.ngfactory.d.ts +1 -1
  112. package/controls/static/staticlabel.d.ts +11 -11
  113. package/controls/static/staticlabel.module.d.ts +2 -2
  114. package/controls/static/staticlabel.module.ngfactory.d.ts +3 -3
  115. package/controls/static/staticlabel.ngfactory.d.ts +1 -1
  116. package/controls/tabs/tab.d.ts +7 -7
  117. package/controls/tabs/tab.ngfactory.d.ts +1 -1
  118. package/controls/tabs/tabitem.d.ts +3 -3
  119. package/controls/tabs/tabitem.ngfactory.d.ts +1 -1
  120. package/controls/tabs/tabs.module.d.ts +2 -2
  121. package/controls/tabs/tabs.module.ngfactory.d.ts +3 -3
  122. package/controls/tinymce/tinymce.d.ts +20 -20
  123. package/controls/tinymce/tinymce.module.d.ts +2 -2
  124. package/controls/tinymce/tinymce.module.ngfactory.d.ts +3 -3
  125. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -1
  126. package/controls/tooltip/tooltip.d.ts +34 -34
  127. package/controls/tooltip/tooltip.module.d.ts +2 -2
  128. package/controls/tooltip/tooltip.module.ngfactory.d.ts +3 -3
  129. package/controls/tooltip/tooltip.ngfactory.d.ts +1 -1
  130. package/controls/treeview/treeview.d.ts +14 -14
  131. package/controls/treeview/treeview.module.d.ts +2 -2
  132. package/controls/treeview/treeview.module.ngfactory.d.ts +3 -3
  133. package/controls/treeview/treeview.ngfactory.d.ts +1 -1
  134. package/controls/upload/dropzonemultiple.d.ts +21 -21
  135. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -1
  136. package/controls/upload/dropzonesingle.d.ts +21 -21
  137. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -1
  138. package/controls/upload/upload.d.ts +13 -13
  139. package/controls/upload/upload.module.d.ts +2 -2
  140. package/controls/upload/upload.module.ngfactory.d.ts +3 -3
  141. package/controls/upload/upload.ngfactory.d.ts +1 -1
  142. package/controls/upload/upload.scss.ngstyle.d.ts +1 -1
  143. package/controls/upload/upload.scss.shim.ngstyle.d.ts +1 -1
  144. package/controls/upload/uploadmultiple.d.ts +13 -13
  145. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -1
  146. package/controls/validation/validationsummary.d.ts +11 -11
  147. package/controls/validation/validationsummary.module.d.ts +2 -2
  148. package/controls/validation/validationsummary.module.ngfactory.d.ts +3 -3
  149. package/controls/validation/validationsummary.ngfactory.d.ts +1 -1
  150. package/controls/wizard/wizard.d.ts +7 -7
  151. package/controls/wizard/wizard.module.d.ts +2 -2
  152. package/controls/wizard/wizard.module.ngfactory.d.ts +3 -3
  153. package/controls/wizard/wizard.ngfactory.d.ts +1 -1
  154. package/controls/wizard/wizarditem.d.ts +3 -3
  155. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -1
  156. package/esm2015/controls/buttons/button.js +13 -13
  157. package/esm2015/controls/buttons/button.module.js +15 -15
  158. package/esm2015/controls/buttons/button.module.ngfactory.js +7 -7
  159. package/esm2015/controls/buttons/button.ngfactory.js +7 -7
  160. package/esm2015/controls/checkbox/checkbox.js +40 -40
  161. package/esm2015/controls/checkbox/checkbox.module.js +29 -29
  162. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +7 -7
  163. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -7
  164. package/esm2015/controls/checkbox/checkbox.scss.ngstyle.js +7 -7
  165. package/esm2015/controls/checkbox/checkbox.scss.shim.ngstyle.js +7 -7
  166. package/esm2015/controls/checkbox/radiobutton.js +23 -23
  167. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -7
  168. package/esm2015/controls/checkbox/radiobutton.scss.ngstyle.js +7 -7
  169. package/esm2015/controls/checkbox/radiobutton.scss.shim.ngstyle.js +7 -7
  170. package/esm2015/controls/checkbox/radiobuttons.js +39 -39
  171. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -7
  172. package/esm2015/controls/confirm/confirm.js +11 -11
  173. package/esm2015/controls/confirm/confirm.module.js +31 -31
  174. package/esm2015/controls/confirm/confirm.module.ngfactory.js +7 -7
  175. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -7
  176. package/esm2015/controls/confirm/confirm.service.js +102 -102
  177. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -7
  178. package/esm2015/controls/contextmenu/contextmenu.js +34 -34
  179. package/esm2015/controls/contextmenu/contextmenu.module.js +28 -28
  180. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -7
  181. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -7
  182. package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -30
  183. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -7
  184. package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -30
  185. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -7
  186. package/esm2015/controls/contextmenu/contextmenuitembutton.js +42 -42
  187. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -7
  188. package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +20 -20
  189. package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -7
  190. package/esm2015/controls/datetime/date.js +49 -49
  191. package/esm2015/controls/datetime/date.ngfactory.js +7 -7
  192. package/esm2015/controls/datetime/dateselector.js +11 -11
  193. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -7
  194. package/esm2015/controls/datetime/datetime.js +43 -43
  195. package/esm2015/controls/datetime/datetime.module.js +34 -34
  196. package/esm2015/controls/datetime/datetime.module.ngfactory.js +7 -7
  197. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -7
  198. package/esm2015/controls/datetime/time.js +43 -43
  199. package/esm2015/controls/datetime/time.ngfactory.js +7 -7
  200. package/esm2015/controls/dialog/dialog.js +51 -51
  201. package/esm2015/controls/dialog/dialog.module.js +15 -15
  202. package/esm2015/controls/dialog/dialog.module.ngfactory.js +7 -7
  203. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -7
  204. package/esm2015/controls/form/form.js +49 -49
  205. package/esm2015/controls/form/form.module.js +15 -15
  206. package/esm2015/controls/form/form.module.ngfactory.js +7 -7
  207. package/esm2015/controls/form/form.ngfactory.js +7 -7
  208. package/esm2015/controls/form/inheritform.directive.js +57 -57
  209. package/esm2015/controls/form/inheritform.directive.ngfactory.js +7 -7
  210. package/esm2015/controls/grid/grid.js +24 -24
  211. package/esm2015/controls/grid/grid.module.js +33 -33
  212. package/esm2015/controls/grid/grid.module.ngfactory.js +7 -7
  213. package/esm2015/controls/grid/grid.ngfactory.js +7 -7
  214. package/esm2015/controls/grid/gridbutton.js +39 -39
  215. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -7
  216. package/esm2015/controls/grid/gridcolumn.js +26 -26
  217. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -7
  218. package/esm2015/controls/grid/gridcolumnaction.js +27 -27
  219. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -7
  220. package/esm2015/controls/grid/gridimage.js +21 -21
  221. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -7
  222. package/esm2015/controls/grid/paging.js +24 -24
  223. package/esm2015/controls/grid/paging.ngfactory.js +7 -7
  224. package/esm2015/controls/input/input.js +35 -35
  225. package/esm2015/controls/input/input.module.js +47 -47
  226. package/esm2015/controls/input/input.module.ngfactory.js +7 -7
  227. package/esm2015/controls/input/input.ngfactory.js +7 -7
  228. package/esm2015/controls/input/inputarea.js +51 -51
  229. package/esm2015/controls/input/inputarea.ngfactory.js +7 -7
  230. package/esm2015/controls/input/inputcurrency.js +39 -39
  231. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -7
  232. package/esm2015/controls/input/inputdecimal.js +39 -39
  233. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -7
  234. package/esm2015/controls/input/inputemail.js +39 -39
  235. package/esm2015/controls/input/inputemail.ngfactory.js +7 -7
  236. package/esm2015/controls/input/inputinteger.js +39 -39
  237. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -7
  238. package/esm2015/controls/input/inputpassword.js +39 -39
  239. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -7
  240. package/esm2015/controls/input/inputsearch.js +39 -39
  241. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -7
  242. package/esm2015/controls/layout/formlayout.directive.js +10 -10
  243. package/esm2015/controls/layout/formlayout.directive.ngfactory.js +7 -7
  244. package/esm2015/controls/layout/layout.module.js +29 -29
  245. package/esm2015/controls/layout/layout.module.ngfactory.js +7 -7
  246. package/esm2015/controls/layout/tocontrolheight.pipe.js +29 -29
  247. package/esm2015/controls/layout/tocontrolheight.pipe.ngfactory.js +7 -7
  248. package/esm2015/controls/layout/tocontrolwidthcss.pipe.js +47 -47
  249. package/esm2015/controls/layout/tocontrolwidthcss.pipe.ngfactory.js +7 -7
  250. package/esm2015/controls/layout/tolabelheight.pipe.js +29 -29
  251. package/esm2015/controls/layout/tolabelheight.pipe.ngfactory.js +7 -7
  252. package/esm2015/controls/layout/tolabelwidthcss.pipe.js +31 -31
  253. package/esm2015/controls/layout/tolabelwidthcss.pipe.ngfactory.js +7 -7
  254. package/esm2015/controls/list/dropdown.js +65 -65
  255. package/esm2015/controls/list/dropdown.ngfactory.js +7 -7
  256. package/esm2015/controls/list/list.module.js +32 -32
  257. package/esm2015/controls/list/list.module.ngfactory.js +7 -7
  258. package/esm2015/controls/list/listbox.js +41 -41
  259. package/esm2015/controls/list/listbox.ngfactory.js +7 -7
  260. package/esm2015/controls/static/formcontainer.js +53 -53
  261. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -7
  262. package/esm2015/controls/static/staticlabel.js +39 -39
  263. package/esm2015/controls/static/staticlabel.module.js +20 -20
  264. package/esm2015/controls/static/staticlabel.module.ngfactory.js +7 -7
  265. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -7
  266. package/esm2015/controls/tabs/tab.js +18 -18
  267. package/esm2015/controls/tabs/tab.ngfactory.js +7 -7
  268. package/esm2015/controls/tabs/tabitem.js +11 -11
  269. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -7
  270. package/esm2015/controls/tabs/tabs.module.js +16 -16
  271. package/esm2015/controls/tabs/tabs.module.ngfactory.js +7 -7
  272. package/esm2015/controls/tinymce/tinymce.js +50 -50
  273. package/esm2015/controls/tinymce/tinymce.module.js +27 -27
  274. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +7 -7
  275. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -7
  276. package/esm2015/controls/tooltip/tooltip.js +52 -52
  277. package/esm2015/controls/tooltip/tooltip.module.js +13 -13
  278. package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +7 -7
  279. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -7
  280. package/esm2015/controls/treeview/treeview.js +41 -41
  281. package/esm2015/controls/treeview/treeview.module.js +16 -16
  282. package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -7
  283. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -7
  284. package/esm2015/controls/upload/dropzonemultiple.js +55 -55
  285. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -7
  286. package/esm2015/controls/upload/dropzonesingle.js +55 -55
  287. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -7
  288. package/esm2015/controls/upload/upload.js +44 -44
  289. package/esm2015/controls/upload/upload.module.js +24 -24
  290. package/esm2015/controls/upload/upload.module.ngfactory.js +7 -7
  291. package/esm2015/controls/upload/upload.ngfactory.js +7 -7
  292. package/esm2015/controls/upload/upload.scss.ngstyle.js +7 -7
  293. package/esm2015/controls/upload/upload.scss.shim.ngstyle.js +7 -7
  294. package/esm2015/controls/upload/uploadmultiple.js +44 -44
  295. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -7
  296. package/esm2015/controls/validation/validationsummary.js +34 -34
  297. package/esm2015/controls/validation/validationsummary.module.js +15 -15
  298. package/esm2015/controls/validation/validationsummary.module.ngfactory.js +7 -7
  299. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -7
  300. package/esm2015/controls/wizard/wizard.js +23 -23
  301. package/esm2015/controls/wizard/wizard.module.js +16 -16
  302. package/esm2015/controls/wizard/wizard.module.ngfactory.js +7 -7
  303. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -7
  304. package/esm2015/controls/wizard/wizarditem.js +11 -11
  305. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -7
  306. package/esm2015/public_api.js +76 -76
  307. package/esm2015/public_api.ngfactory.js +7 -7
  308. package/esm2015/simpleangularcontrols-sac-bootstrap3.js +6 -6
  309. package/esm2015/simpleangularcontrols-sac-bootstrap3.ngfactory.js +7 -7
  310. package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +2098 -2098
  311. package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
  312. package/package.json +31 -31
  313. package/public_api.d.ts +70 -70
  314. package/public_api.ngfactory.d.ts +1 -1
  315. package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.22.tgz +0 -0
  316. package/simpleangularcontrols-sac-bootstrap3.d.ts +5 -5
  317. package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
  318. package/simpleangularcontrols-sac-bootstrap3.ngfactory.d.ts +1 -1
  319. package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.20.tgz +0 -0
@@ -1,55 +1,55 @@
1
- import { SacFormLayoutDirective } from '../layout/formlayout.directive';
2
- import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';
3
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';
5
- /**
6
- * Dropzone Komponente für mehrere Uploads
7
- * @see https://github.com/kukhariev/ngx-uploadx/
8
- */
9
- export class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
10
- // #region Constructors
11
- /**
12
- * Constructor
13
- * @param formLayout SacFormLayout to define scoped layout settings
14
- * @param injector Injector for injecting services
15
- * @param renderer Angular rendering engine
16
- * @param ngZone ngZone to manage external javascripts
17
- */
18
- constructor(formLayout, injector, renderer, ngZone) {
19
- super(formLayout, injector, renderer, ngZone);
20
- }
21
- // #endregion Constructors
22
- // #region Public Methods
23
- /**
24
- * Initialisiert das Control
25
- */
26
- ngOnInit() {
27
- super.ngOnInit();
28
- }
29
- }
30
- SacDropzoneMultipleComponent.decorators = [
31
- { type: Component, args: [{
32
- selector: 'sac-dropzonemultiple',
33
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"img-rounded dropzone control-label\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div>\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"uploads.length > 0\">\r\n <div>\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block help-block-error\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
34
- providers: [
35
- {
36
- provide: NG_VALUE_ACCESSOR,
37
- multi: true,
38
- useExisting: SacDropzoneMultipleComponent,
39
- },
40
- {
41
- provide: NG_VALIDATORS,
42
- multi: true,
43
- useExisting: forwardRef(() => SacDropzoneMultipleComponent),
44
- },
45
- ],
46
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
47
- },] }
48
- ];
49
- SacDropzoneMultipleComponent.ctorParameters = () => [
50
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
51
- { type: Injector },
52
- { type: Renderer2 },
53
- { type: NgZone }
54
- ];
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBVSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUU7OztHQUdHO0FBa0JILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSx5QkFBeUI7SUFDdkUsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3dCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELDBCQUEwQjtJQUUxQix5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxRQUFRO1FBQ1gsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OztZQTdDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsKzRMQUFzQztnQkFFdEMsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSw0QkFBNEI7cUJBQzVDO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO3FCQUM5RDtpQkFDSjs7YUFDSjs7O1lBekJRLHNCQUFzQix1QkFxQ3RCLElBQUksWUFBSSxRQUFRO1lBcENDLFFBQVE7WUFBNEIsU0FBUztZQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE5nWm9uZSwgT25Jbml0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNEcm9wem9uZU11bHRpcGxlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wem9uZSBLb21wb25lbnRlIGbDvHIgbWVocmVyZSBVcGxvYWRzXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1a2hhcmlldi9uZ3gtdXBsb2FkeC9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzYWMtZHJvcHpvbmVtdWx0aXBsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcHpvbmVtdWx0aXBsZS5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VwbG9hZC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQgZXh0ZW5kcyBTYWNEcm9wem9uZU11bHRpcGxlQ29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIHJlbmRlcmluZyBlbmdpbmVcclxuICAgICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIHRvIG1hbmFnZSBleHRlcm5hbCBqYXZhc2NyaXB0c1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgbmdab25lOiBOZ1pvbmVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCByZW5kZXJlciwgbmdab25lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpc2llcnQgZGFzIENvbnRyb2xcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcbiJdfQ==
1
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
2
+ import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';
5
+ /**
6
+ * Dropzone Komponente für mehrere Uploads
7
+ * @see https://github.com/kukhariev/ngx-uploadx/
8
+ */
9
+ export class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
10
+ // #region Constructors
11
+ /**
12
+ * Constructor
13
+ * @param formLayout SacFormLayout to define scoped layout settings
14
+ * @param injector Injector for injecting services
15
+ * @param renderer Angular rendering engine
16
+ * @param ngZone ngZone to manage external javascripts
17
+ */
18
+ constructor(formLayout, injector, renderer, ngZone) {
19
+ super(formLayout, injector, renderer, ngZone);
20
+ }
21
+ // #endregion Constructors
22
+ // #region Public Methods
23
+ /**
24
+ * Initialisiert das Control
25
+ */
26
+ ngOnInit() {
27
+ super.ngOnInit();
28
+ }
29
+ }
30
+ SacDropzoneMultipleComponent.decorators = [
31
+ { type: Component, args: [{
32
+ selector: 'sac-dropzonemultiple',
33
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
34
+ providers: [
35
+ {
36
+ provide: NG_VALUE_ACCESSOR,
37
+ multi: true,
38
+ useExisting: SacDropzoneMultipleComponent,
39
+ },
40
+ {
41
+ provide: NG_VALIDATORS,
42
+ multi: true,
43
+ useExisting: forwardRef(() => SacDropzoneMultipleComponent),
44
+ },
45
+ ],
46
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
47
+ },] }
48
+ ];
49
+ SacDropzoneMultipleComponent.ctorParameters = () => [
50
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
51
+ { type: Injector },
52
+ { type: Renderer2 },
53
+ { type: NgZone }
54
+ ];
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RTs7O0dBR0c7QUFrQkgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHlCQUF5QjtJQUN2RSx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsTUFBYztRQUVkLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzs7O1lBN0NKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw2cExBQXNDO2dCQUV0QyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLDRCQUE0QjtxQkFDNUM7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7cUJBQzlEO2lCQUNKOzthQUNKOzs7WUF6QlEsc0JBQXNCLHVCQXFDdEIsSUFBSSxZQUFJLFFBQVE7WUFwQ0MsUUFBUTtZQUE0QixTQUFTO1lBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE5nWm9uZSwgT25Jbml0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIERyb3B6b25lIEtvbXBvbmVudGUgZsO8ciBtZWhyZXJlIFVwbG9hZHNcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1a2hhcmlldi9uZ3gtdXBsb2FkeC9cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtZHJvcHpvbmVtdWx0aXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3B6b25lbXVsdGlwbGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50IGV4dGVuZHMgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbW1vbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgcmVuZGVyaW5nIGVuZ2luZVxuICAgICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIHRvIG1hbmFnZSBleHRlcm5hbCBqYXZhc2NyaXB0c1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgbmdab25lOiBOZ1pvbmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IsIHJlbmRlcmVyLCBuZ1pvbmUpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXNpZXJ0IGRhcyBDb250cm9sXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- /**
2
- * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
- *
4
- * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
- * tslint:disable
6
- */
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC9kcm9wem9uZW11bHRpcGxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
@@ -1,55 +1,55 @@
1
- import { SacFormLayoutDirective } from '../layout/formlayout.directive';
2
- import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';
3
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { SacDropzoneSingleCommon } from '@simpleangularcontrols/sac-common';
5
- /**
6
- * Dropzone Komponente für den Upload eines Files
7
- * @see https://github.com/kukhariev/ngx-uploadx/
8
- */
9
- export class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
10
- // #region Constructors
11
- /**
12
- * Constructor
13
- * @param formLayout SacFormLayout to define scoped layout settings
14
- * @param injector Injector for injecting services
15
- * @param renderer Angular rendering engine
16
- * @param ngZone ngZone to manage external javascripts
17
- */
18
- constructor(formLayout, injector, renderer, ngZone) {
19
- super(formLayout, injector, renderer, ngZone);
20
- }
21
- // #endregion Constructors
22
- // #region Public Methods
23
- /**
24
- * Initialisiert das Control
25
- */
26
- ngOnInit() {
27
- super.ngOnInit();
28
- }
29
- }
30
- SacDropzoneSingleComponent.decorators = [
31
- { type: Component, args: [{
32
- selector: 'sac-dropzonesingle',
33
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"img-rounded dropzone control-label\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.active]=\"active\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div>\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"uploads.length > 0\">\r\n <div>\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n *ngFor=\"let file of uploads\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block help-block-error\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
34
- providers: [
35
- {
36
- provide: NG_VALUE_ACCESSOR,
37
- multi: true,
38
- useExisting: SacDropzoneSingleComponent,
39
- },
40
- {
41
- provide: NG_VALIDATORS,
42
- multi: true,
43
- useExisting: forwardRef(() => SacDropzoneSingleComponent),
44
- },
45
- ],
46
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
47
- },] }
48
- ];
49
- SacDropzoneSingleComponent.ctorParameters = () => [
50
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
51
- { type: Injector },
52
- { type: Renderer2 },
53
- { type: NgZone }
54
- ];
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVzaW5nbGUuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC9kcm9wem9uZXNpbmdsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RTs7O0dBR0c7QUFrQkgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtJQUNuRSx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsTUFBYztRQUVkLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzs7O1lBN0NKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qix5eExBQW9DO2dCQUVwQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLDBCQUEwQjtxQkFDMUM7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7cUJBQzVEO2lCQUNKOzthQUNKOzs7WUF6QlEsc0JBQXNCLHVCQXFDdEIsSUFBSSxZQUFJLFFBQVE7WUFwQ0MsUUFBUTtZQUE0QixTQUFTO1lBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgTmdab25lLCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wem9uZSBLb21wb25lbnRlIGbDvHIgZGVuIFVwbG9hZCBlaW5lcyBGaWxlc1xyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWtoYXJpZXYvbmd4LXVwbG9hZHgvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWRyb3B6b25lc2luZ2xlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wem9uZXNpbmdsZS5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VwbG9hZC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnQpLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnQgZXh0ZW5kcyBTYWNEcm9wem9uZVNpbmdsZUNvbW1vbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciByZW5kZXJpbmcgZW5naW5lXHJcbiAgICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIG5nWm9uZTogTmdab25lXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXNpZXJ0IGRhcyBDb250cm9sXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG4iXX0=
1
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
2
+ import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { SacDropzoneSingleCommon } from '@simpleangularcontrols/sac-common';
5
+ /**
6
+ * Dropzone Komponente für den Upload eines Files
7
+ * @see https://github.com/kukhariev/ngx-uploadx/
8
+ */
9
+ export class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
10
+ // #region Constructors
11
+ /**
12
+ * Constructor
13
+ * @param formLayout SacFormLayout to define scoped layout settings
14
+ * @param injector Injector for injecting services
15
+ * @param renderer Angular rendering engine
16
+ * @param ngZone ngZone to manage external javascripts
17
+ */
18
+ constructor(formLayout, injector, renderer, ngZone) {
19
+ super(formLayout, injector, renderer, ngZone);
20
+ }
21
+ // #endregion Constructors
22
+ // #region Public Methods
23
+ /**
24
+ * Initialisiert das Control
25
+ */
26
+ ngOnInit() {
27
+ super.ngOnInit();
28
+ }
29
+ }
30
+ SacDropzoneSingleComponent.decorators = [
31
+ { type: Component, args: [{
32
+ selector: 'sac-dropzonesingle',
33
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
34
+ providers: [
35
+ {
36
+ provide: NG_VALUE_ACCESSOR,
37
+ multi: true,
38
+ useExisting: SacDropzoneSingleComponent,
39
+ },
40
+ {
41
+ provide: NG_VALIDATORS,
42
+ multi: true,
43
+ useExisting: forwardRef(() => SacDropzoneSingleComponent),
44
+ },
45
+ ],
46
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
47
+ },] }
48
+ ];
49
+ SacDropzoneSingleComponent.ctorParameters = () => [
50
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
51
+ { type: Injector },
52
+ { type: Renderer2 },
53
+ { type: NgZone }
54
+ ];
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVzaW5nbGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lc2luZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFOzs7R0FHRztBQWtCSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0lBQ25FLHVCQUF1QjtJQUV2Qjs7Ozs7O09BTUc7SUFDSCxZQUN3QixVQUFrQyxFQUN0RCxRQUFrQixFQUNsQixRQUFtQixFQUNuQixNQUFjO1FBRWQsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCwwQkFBMEI7SUFFMUIseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksUUFBUTtRQUNYLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7WUE3Q0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLDJpTEFBb0M7Z0JBRXBDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsMEJBQTBCO3FCQUMxQztvQkFDRDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztxQkFDNUQ7aUJBQ0o7O2FBQ0o7OztZQXpCUSxzQkFBc0IsdUJBcUN0QixJQUFJLFlBQUksUUFBUTtZQXBDQyxRQUFRO1lBQTRCLFNBQVM7WUFBbkMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgTmdab25lLCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjRHJvcHpvbmVTaW5nbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIERyb3B6b25lIEtvbXBvbmVudGUgZsO8ciBkZW4gVXBsb2FkIGVpbmVzIEZpbGVzXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWtoYXJpZXYvbmd4LXVwbG9hZHgvXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLWRyb3B6b25lc2luZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcHpvbmVzaW5nbGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50IGV4dGVuZHMgU2FjRHJvcHpvbmVTaW5nbGVDb21tb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIHJlbmRlcmluZyBlbmdpbmVcbiAgICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCByZW5kZXJlciwgbmdab25lKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGlzaWVydCBkYXMgQ29udHJvbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- /**
2
- * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
- *
4
- * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
- * tslint:disable
6
- */
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVzaW5nbGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvZHJvcHpvbmVzaW5nbGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVzaW5nbGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC9kcm9wem9uZXNpbmdsZS5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiJdfQ==
@@ -1,44 +1,44 @@
1
- import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef, } from '@angular/core';
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { SacUploadSingleCommon } from '@simpleangularcontrols/sac-common';
4
- import { SacFormLayoutDirective } from '../layout/formlayout.directive';
5
- // https://github.com/kukhariev/ngx-uploadx/
6
- export class SacUploadComponent extends SacUploadSingleCommon {
7
- // #region Constructors
8
- /**
9
- * Constructor
10
- * @param formLayout SacFormLayout to define scoped layout settings
11
- * @param injector Injector for injecting services
12
- * @param renderer Angular rendering engine
13
- * @param ngZone ngZone to manage external javascripts
14
- */
15
- constructor(formLayout, injector, renderer, ngZone) {
16
- super(formLayout, injector, renderer, ngZone);
17
- }
18
- }
19
- SacUploadComponent.decorators = [
20
- { type: Component, args: [{
21
- selector: 'sac-upload',
22
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">{{ lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async }}</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n </div>\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress() === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\">\r\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
23
- providers: [
24
- {
25
- provide: NG_VALUE_ACCESSOR,
26
- multi: true,
27
- useExisting: SacUploadComponent,
28
- },
29
- {
30
- provide: NG_VALIDATORS,
31
- multi: true,
32
- useExisting: forwardRef(() => SacUploadComponent),
33
- },
34
- ],
35
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
36
- },] }
37
- ];
38
- SacUploadComponent.ctorParameters = () => [
39
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
40
- { type: Injector },
41
- { type: Renderer2 },
42
- { type: NgZone }
43
- ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLDRDQUE0QztBQW1CNUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUMzRCx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsTUFBYztRQUVkLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QiwwcE5BQTRCO2dCQUU1QixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLGtCQUFrQjtxQkFDaEM7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7cUJBQ2xEO2lCQUNGOzthQUNGOzs7WUFwQlEsc0JBQXNCLHVCQWdDMUIsSUFBSSxZQUFJLFFBQVE7WUF4Q25CLFFBQVE7WUFHUixTQUFTO1lBRlQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFJlbmRlcmVyMixcclxuICBmb3J3YXJkUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcblxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20va3VraGFyaWV2L25neC11cGxvYWR4L1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtdXBsb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY1VwbG9hZENvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNVcGxvYWRDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIHJlbmRlcmluZyBlbmdpbmVcclxuICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge1xyXG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IsIHJlbmRlcmVyLCBuZ1pvbmUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
1
+ import { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef, } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { SacUploadSingleCommon } from '@simpleangularcontrols/sac-common';
4
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
5
+ // https://github.com/kukhariev/ngx-uploadx/
6
+ export class SacUploadComponent extends SacUploadSingleCommon {
7
+ // #region Constructors
8
+ /**
9
+ * Constructor
10
+ * @param formLayout SacFormLayout to define scoped layout settings
11
+ * @param injector Injector for injecting services
12
+ * @param renderer Angular rendering engine
13
+ * @param ngZone ngZone to manage external javascripts
14
+ */
15
+ constructor(formLayout, injector, renderer, ngZone) {
16
+ super(formLayout, injector, renderer, ngZone);
17
+ }
18
+ }
19
+ SacUploadComponent.decorators = [
20
+ { type: Component, args: [{
21
+ selector: 'sac-upload',
22
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
23
+ providers: [
24
+ {
25
+ provide: NG_VALUE_ACCESSOR,
26
+ multi: true,
27
+ useExisting: SacUploadComponent,
28
+ },
29
+ {
30
+ provide: NG_VALIDATORS,
31
+ multi: true,
32
+ useExisting: forwardRef(() => SacUploadComponent),
33
+ },
34
+ ],
35
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
36
+ },] }
37
+ ];
38
+ SacUploadComponent.ctorParameters = () => [
39
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
40
+ { type: Injector },
41
+ { type: Renderer2 },
42
+ { type: NgZone }
43
+ ];
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC91cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsNENBQTRDO0FBbUI1QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEscUJBQXFCO0lBQzNELHVCQUF1QjtJQUV2Qjs7Ozs7O09BTUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQixFQUNsQixRQUFtQixFQUNuQixNQUFjO1FBRWQsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7OztZQWxDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLDQ4TUFBNEI7Z0JBRTVCLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsa0JBQWtCO3FCQUNoQztvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztxQkFDbEQ7aUJBQ0Y7O2FBQ0Y7OztZQXBCUSxzQkFBc0IsdUJBZ0MxQixJQUFJLFlBQUksUUFBUTtZQXhDbkIsUUFBUTtZQUdSLFNBQVM7WUFGVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0LFxuICBJbmplY3RvcixcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20va3VraGFyaWV2L25neC11cGxvYWR4L1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYWMtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNVcGxvYWRDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNVcGxvYWRDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1VwbG9hZENvbXBvbmVudCBleHRlbmRzIFNhY1VwbG9hZFNpbmdsZUNvbW1vbiB7XG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgcmVuZGVyaW5nIGVuZ2luZVxuICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBuZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
@@ -1,24 +1,24 @@
1
- import { SACBootstrap3LayoutModule } from '../layout/layout.module';
2
- import { SACBootstrap3TooltipModule } from '../tooltip/tooltip.module';
3
- import { SacDropzoneMultipleComponent } from './dropzonemultiple';
4
- import { SacDropzoneSingleComponent } from './dropzonesingle';
5
- import { SacUploadComponent } from './upload';
6
- import { SacUploadMultipleComponent } from './uploadmultiple';
7
- import { CommonModule } from '@angular/common';
8
- import { NgModule } from '@angular/core';
9
- import { FormsModule } from '@angular/forms';
10
- export class SACBootstrap3UploadModule {
11
- }
12
- SACBootstrap3UploadModule.decorators = [
13
- { type: NgModule, args: [{
14
- declarations: [
15
- SacUploadComponent,
16
- SacUploadMultipleComponent,
17
- SacDropzoneSingleComponent,
18
- SacDropzoneMultipleComponent,
19
- ],
20
- imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
21
- exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
22
- },] }
23
- ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL3VwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVk3QyxNQUFNLE9BQU8seUJBQXlCOzs7WUFWckMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVixrQkFBa0I7b0JBQ2xCLDBCQUEwQjtvQkFDMUIsMEJBQTBCO29CQUMxQiw0QkFBNEI7aUJBQy9CO2dCQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLENBQUM7Z0JBQzNGLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDO2FBQ3RIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0FDQm9vdHN0cmFwM0xheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuaW1wb3J0IHsgU0FDQm9vdHN0cmFwM1Rvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcHpvbmVtdWx0aXBsZSc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wem9uZXNpbmdsZSc7XHJcbmltcG9ydCB7IFNhY1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZG11bHRpcGxlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgU2FjVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICAgIFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgICAgIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgICAgIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFNBQ0Jvb3RzdHJhcDNMYXlvdXRNb2R1bGUsIFNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtTYWNVcGxvYWRDb21wb25lbnQsIFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50LCBTYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudCwgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXAzVXBsb2FkTW9kdWxlIHt9XHJcbiJdfQ==
1
+ import { SACBootstrap3LayoutModule } from '../layout/layout.module';
2
+ import { SACBootstrap3TooltipModule } from '../tooltip/tooltip.module';
3
+ import { SacDropzoneMultipleComponent } from './dropzonemultiple';
4
+ import { SacDropzoneSingleComponent } from './dropzonesingle';
5
+ import { SacUploadComponent } from './upload';
6
+ import { SacUploadMultipleComponent } from './uploadmultiple';
7
+ import { CommonModule } from '@angular/common';
8
+ import { NgModule } from '@angular/core';
9
+ import { FormsModule } from '@angular/forms';
10
+ export class SACBootstrap3UploadModule {
11
+ }
12
+ SACBootstrap3UploadModule.decorators = [
13
+ { type: NgModule, args: [{
14
+ declarations: [
15
+ SacUploadComponent,
16
+ SacUploadMultipleComponent,
17
+ SacDropzoneSingleComponent,
18
+ SacDropzoneMultipleComponent,
19
+ ],
20
+ imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
21
+ exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
22
+ },] }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWTdDLE1BQU0sT0FBTyx5QkFBeUI7OztZQVZyQyxRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFO29CQUNWLGtCQUFrQjtvQkFDbEIsMEJBQTBCO29CQUMxQiwwQkFBMEI7b0JBQzFCLDRCQUE0QjtpQkFDL0I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsQ0FBQztnQkFDM0YsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsNEJBQTRCLENBQUM7YUFDdEgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgU0FDQm9vdHN0cmFwM1Rvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL2Ryb3B6b25lbXVsdGlwbGUnO1xuaW1wb3J0IHsgU2FjRHJvcHpvbmVTaW5nbGVDb21wb25lbnQgfSBmcm9tICcuL2Ryb3B6b25lc2luZ2xlJztcbmltcG9ydCB7IFNhY1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkJztcbmltcG9ydCB7IFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWRtdWx0aXBsZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBTYWNVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIFNhY1VwbG9hZE11bHRpcGxlQ29tcG9uZW50LFxuICAgICAgICBTYWNEcm9wem9uZVNpbmdsZUNvbXBvbmVudCxcbiAgICAgICAgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlLCBTQUNCb290c3RyYXAzVG9vbHRpcE1vZHVsZV0sXG4gICAgZXhwb3J0czogW1NhY1VwbG9hZENvbXBvbmVudCwgU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQsIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LCBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwM1VwbG9hZE1vZHVsZSB7fVxuIl19