@simpleangularcontrols/sac-common 10.0.0-rc.21 → 10.0.0-rc.23

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 (539) hide show
  1. package/README.md +16 -16
  2. package/bundles/simpleangularcontrols-sac-common.umd.js +12400 -12358
  3. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
  5. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
  6. package/common/basedatetimecontrol.d.ts +169 -169
  7. package/common/basedatetimecontrol.ngfactory.d.ts +1 -1
  8. package/common/baseinputcontrol.d.ts +38 -38
  9. package/common/baseinputcontrol.ngfactory.d.ts +1 -1
  10. package/common/baselistcontrol.d.ts +43 -43
  11. package/common/baselistcontrol.ngfactory.d.ts +1 -1
  12. package/common/basemodelcontrol.d.ts +280 -280
  13. package/common/basemodelcontrol.ngfactory.d.ts +1 -1
  14. package/common/baseselectcontrol.d.ts +14 -14
  15. package/common/baseselectcontrol.ngfactory.d.ts +1 -1
  16. package/common/baseuploadcontrol.d.ts +300 -300
  17. package/common/baseuploadcontrol.ngfactory.d.ts +1 -1
  18. package/components/browser/browser.d.ts +267 -267
  19. package/components/browser/browser.ngfactory.d.ts +1 -1
  20. package/components/browser/models/browserfile.d.ts +17 -17
  21. package/components/browser/models/browserfile.ngfactory.d.ts +1 -1
  22. package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
  23. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -1
  24. package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
  25. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -1
  26. package/components/browser/models/browserfileresponse.d.ts +10 -10
  27. package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -1
  28. package/components/browser/models/browserfilesaverequest.d.ts +22 -22
  29. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -1
  30. package/components/browser/models/browsernode.d.ts +34 -34
  31. package/components/browser/models/browsernode.ngfactory.d.ts +1 -1
  32. package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
  33. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -1
  34. package/components/browser/models/browsernodenewrequest.d.ts +18 -18
  35. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -1
  36. package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
  37. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -1
  38. package/components/browser/models/browsernoderequest.d.ts +18 -18
  39. package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -1
  40. package/components/browser/models/browsernoderesponse.d.ts +10 -10
  41. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -1
  42. package/controls/buttons/button.d.ts +70 -70
  43. package/controls/buttons/button.ngfactory.d.ts +1 -1
  44. package/controls/checkbox/checkbox.d.ts +32 -32
  45. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -1
  46. package/controls/checkbox/radiobutton.d.ts +114 -114
  47. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -1
  48. package/controls/checkbox/radiobuttons.d.ts +60 -60
  49. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -1
  50. package/controls/confirm/confirm.button.d.ts +25 -25
  51. package/controls/confirm/confirm.button.ngfactory.d.ts +1 -1
  52. package/controls/confirm/confirm.d.ts +49 -49
  53. package/controls/confirm/confirm.ngfactory.d.ts +1 -1
  54. package/controls/confirm/confirm.service.d.ts +63 -63
  55. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
  56. package/controls/contextmenu/contextmenu.d.ts +120 -120
  57. package/controls/contextmenu/contextmenu.interface.d.ts +3 -3
  58. package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts +1 -1
  59. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -1
  60. package/controls/contextmenu/contextmenuanchor.d.ts +15 -15
  61. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -1
  62. package/controls/contextmenu/contextmenucontainer.d.ts +15 -15
  63. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -1
  64. package/controls/contextmenu/contextmenuitem.d.ts +10 -10
  65. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +1 -1
  66. package/controls/contextmenu/contextmenuitembutton.d.ts +67 -67
  67. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -1
  68. package/controls/datetime/date.d.ts +117 -117
  69. package/controls/datetime/date.ngfactory.d.ts +1 -1
  70. package/controls/datetime/dateselector.d.ts +161 -161
  71. package/controls/datetime/dateselector.ngfactory.d.ts +1 -1
  72. package/controls/datetime/datetime.d.ts +131 -131
  73. package/controls/datetime/datetime.ngfactory.d.ts +1 -1
  74. package/controls/datetime/time.d.ts +111 -111
  75. package/controls/datetime/time.ngfactory.d.ts +1 -1
  76. package/controls/dialog/dialog.d.ts +93 -93
  77. package/controls/dialog/dialog.ngfactory.d.ts +1 -1
  78. package/controls/form/form.d.ts +47 -47
  79. package/controls/form/form.ngfactory.d.ts +1 -1
  80. package/controls/grid/grid.d.ts +127 -127
  81. package/controls/grid/grid.ngfactory.d.ts +1 -1
  82. package/controls/grid/gridbutton.d.ts +33 -33
  83. package/controls/grid/gridbutton.ngfactory.d.ts +1 -1
  84. package/controls/grid/gridcolumn.d.ts +28 -28
  85. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -1
  86. package/controls/grid/gridcolumnaction.d.ts +15 -15
  87. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -1
  88. package/controls/grid/gridcolumnbase.d.ts +94 -94
  89. package/controls/grid/gridcolumnbase.ngfactory.d.ts +1 -1
  90. package/controls/grid/gridimage.d.ts +9 -9
  91. package/controls/grid/gridimage.ngfactory.d.ts +1 -1
  92. package/controls/grid/model.d.ts +92 -92
  93. package/controls/grid/model.ngfactory.d.ts +1 -1
  94. package/controls/grid/paging.d.ts +145 -145
  95. package/controls/grid/paging.ngfactory.d.ts +1 -1
  96. package/controls/input/input.d.ts +35 -35
  97. package/controls/input/input.ngfactory.d.ts +1 -1
  98. package/controls/input/inputarea.d.ts +26 -26
  99. package/controls/input/inputarea.ngfactory.d.ts +1 -1
  100. package/controls/input/inputcurrency.d.ts +11 -11
  101. package/controls/input/inputcurrency.ngfactory.d.ts +1 -1
  102. package/controls/input/inputdecimal.d.ts +59 -59
  103. package/controls/input/inputdecimal.ngfactory.d.ts +1 -1
  104. package/controls/input/inputemail.d.ts +19 -19
  105. package/controls/input/inputemail.ngfactory.d.ts +1 -1
  106. package/controls/input/inputinteger.d.ts +59 -59
  107. package/controls/input/inputinteger.ngfactory.d.ts +1 -1
  108. package/controls/input/inputpassword.d.ts +23 -23
  109. package/controls/input/inputpassword.ngfactory.d.ts +1 -1
  110. package/controls/input/inputsearch.d.ts +32 -32
  111. package/controls/input/inputsearch.ngfactory.d.ts +1 -1
  112. package/controls/layout/formlayout.d.ts +62 -62
  113. package/controls/layout/formlayout.ngfactory.d.ts +1 -1
  114. package/controls/list/buildvaluestring.d.ts +6 -6
  115. package/controls/list/buildvaluestring.ngfactory.d.ts +1 -1
  116. package/controls/list/dropdown.d.ts +96 -96
  117. package/controls/list/dropdown.ngfactory.d.ts +1 -1
  118. package/controls/list/dropdownoptions.d.ts +38 -38
  119. package/controls/list/dropdownoptions.ngfactory.d.ts +1 -1
  120. package/controls/list/list.module.d.ts +2 -2
  121. package/controls/list/list.module.ngfactory.d.ts +3 -3
  122. package/controls/list/listbox.d.ts +86 -86
  123. package/controls/list/listbox.ngfactory.d.ts +1 -1
  124. package/controls/multilanguage/multilanguageinput.d.ts +102 -102
  125. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +1 -1
  126. package/controls/multilanguage/multilanguageinputarea.d.ts +107 -107
  127. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +1 -1
  128. package/controls/static/formcontainer.d.ts +35 -35
  129. package/controls/static/formcontainer.ngfactory.d.ts +1 -1
  130. package/controls/static/staticlabel.d.ts +18 -18
  131. package/controls/static/staticlabel.ngfactory.d.ts +1 -1
  132. package/controls/tabs/tab.d.ts +45 -45
  133. package/controls/tabs/tab.ngfactory.d.ts +1 -1
  134. package/controls/tabs/tabitem.d.ts +30 -30
  135. package/controls/tabs/tabitem.ngfactory.d.ts +1 -1
  136. package/controls/tinymce/tinymce.d.ts +149 -149
  137. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -1
  138. package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
  139. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -1
  140. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
  141. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -1
  142. package/controls/tinymce/tinymceinstance.d.ts +10 -10
  143. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -1
  144. package/controls/tooltip/tooltip.d.ts +145 -145
  145. package/controls/tooltip/tooltip.ngfactory.d.ts +1 -1
  146. package/controls/treeview/treeview.d.ts +185 -185
  147. package/controls/treeview/treeview.ngfactory.d.ts +1 -1
  148. package/controls/upload/dropzonemultiple.d.ts +70 -70
  149. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -1
  150. package/controls/upload/dropzonesingle.d.ts +47 -47
  151. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -1
  152. package/controls/upload/uploadmultiple.d.ts +50 -50
  153. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -1
  154. package/controls/upload/uploadsingle.d.ts +27 -27
  155. package/controls/upload/uploadsingle.ngfactory.d.ts +1 -1
  156. package/controls/validation/validationsummary.d.ts +60 -60
  157. package/controls/validation/validationsummary.ngfactory.d.ts +1 -1
  158. package/controls/wizard/wizard.d.ts +73 -73
  159. package/controls/wizard/wizard.ngfactory.d.ts +1 -1
  160. package/controls/wizard/wizarditem.d.ts +25 -25
  161. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -1
  162. package/enums/ButtonRoleType.d.ts +1 -1
  163. package/enums/ButtonRoleType.ngfactory.d.ts +1 -1
  164. package/enums/ControlHeight.d.ts +17 -17
  165. package/enums/ControlHeight.ngfactory.d.ts +1 -1
  166. package/enums/IconType.d.ts +7 -7
  167. package/enums/IconType.ngfactory.d.ts +1 -1
  168. package/esm2015/common/basedatetimecontrol.js +329 -319
  169. package/esm2015/common/basedatetimecontrol.ngfactory.js +7 -7
  170. package/esm2015/common/baseinputcontrol.js +73 -73
  171. package/esm2015/common/baseinputcontrol.ngfactory.js +7 -7
  172. package/esm2015/common/baselistcontrol.js +55 -55
  173. package/esm2015/common/baselistcontrol.ngfactory.js +7 -7
  174. package/esm2015/common/basemodelcontrol.js +535 -535
  175. package/esm2015/common/basemodelcontrol.ngfactory.js +7 -7
  176. package/esm2015/common/baseselectcontrol.js +26 -26
  177. package/esm2015/common/baseselectcontrol.ngfactory.js +7 -7
  178. package/esm2015/common/baseuploadcontrol.js +490 -490
  179. package/esm2015/common/baseuploadcontrol.ngfactory.js +7 -7
  180. package/esm2015/components/browser/browser.js +545 -545
  181. package/esm2015/components/browser/browser.ngfactory.js +7 -7
  182. package/esm2015/components/browser/models/browserfile.js +1 -1
  183. package/esm2015/components/browser/models/browserfile.ngfactory.js +7 -7
  184. package/esm2015/components/browser/models/browserfiledeleterequest.js +13 -13
  185. package/esm2015/components/browser/models/browserfiledeleterequest.ngfactory.js +7 -7
  186. package/esm2015/components/browser/models/browserfilerenamerequest.js +13 -13
  187. package/esm2015/components/browser/models/browserfilerenamerequest.ngfactory.js +7 -7
  188. package/esm2015/components/browser/models/browserfileresponse.js +1 -1
  189. package/esm2015/components/browser/models/browserfileresponse.ngfactory.js +7 -7
  190. package/esm2015/components/browser/models/browserfilesaverequest.js +13 -13
  191. package/esm2015/components/browser/models/browserfilesaverequest.ngfactory.js +7 -7
  192. package/esm2015/components/browser/models/browsernode.js +1 -1
  193. package/esm2015/components/browser/models/browsernode.ngfactory.js +7 -7
  194. package/esm2015/components/browser/models/browsernodedeleterequest.js +13 -13
  195. package/esm2015/components/browser/models/browsernodedeleterequest.ngfactory.js +7 -7
  196. package/esm2015/components/browser/models/browsernodenewrequest.js +13 -13
  197. package/esm2015/components/browser/models/browsernodenewrequest.ngfactory.js +7 -7
  198. package/esm2015/components/browser/models/browsernoderenamerequest.js +13 -13
  199. package/esm2015/components/browser/models/browsernoderenamerequest.ngfactory.js +7 -7
  200. package/esm2015/components/browser/models/browsernoderequest.js +13 -13
  201. package/esm2015/components/browser/models/browsernoderequest.ngfactory.js +7 -7
  202. package/esm2015/components/browser/models/browsernoderesponse.js +1 -1
  203. package/esm2015/components/browser/models/browsernoderesponse.ngfactory.js +7 -7
  204. package/esm2015/controls/buttons/button.js +141 -141
  205. package/esm2015/controls/buttons/button.ngfactory.js +7 -7
  206. package/esm2015/controls/checkbox/checkbox.js +56 -56
  207. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -7
  208. package/esm2015/controls/checkbox/radiobutton.js +164 -164
  209. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -7
  210. package/esm2015/controls/checkbox/radiobuttons.js +113 -113
  211. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -7
  212. package/esm2015/controls/confirm/confirm.button.js +32 -32
  213. package/esm2015/controls/confirm/confirm.button.ngfactory.js +7 -7
  214. package/esm2015/controls/confirm/confirm.js +75 -75
  215. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -7
  216. package/esm2015/controls/confirm/confirm.service.js +87 -87
  217. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -7
  218. package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -1
  219. package/esm2015/controls/contextmenu/contextmenu.interface.ngfactory.js +7 -7
  220. package/esm2015/controls/contextmenu/contextmenu.js +193 -193
  221. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -7
  222. package/esm2015/controls/contextmenu/contextmenuanchor.js +22 -22
  223. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -7
  224. package/esm2015/controls/contextmenu/contextmenucontainer.js +22 -22
  225. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -7
  226. package/esm2015/controls/contextmenu/contextmenuitem.js +21 -21
  227. package/esm2015/controls/contextmenu/contextmenuitem.ngfactory.js +7 -7
  228. package/esm2015/controls/contextmenu/contextmenuitembutton.js +106 -106
  229. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -7
  230. package/esm2015/controls/datetime/date.js +213 -213
  231. package/esm2015/controls/datetime/date.ngfactory.js +7 -7
  232. package/esm2015/controls/datetime/dateselector.js +458 -458
  233. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -7
  234. package/esm2015/controls/datetime/datetime.js +229 -229
  235. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -7
  236. package/esm2015/controls/datetime/time.js +212 -212
  237. package/esm2015/controls/datetime/time.ngfactory.js +7 -7
  238. package/esm2015/controls/dialog/dialog.js +165 -165
  239. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -7
  240. package/esm2015/controls/form/form.js +110 -110
  241. package/esm2015/controls/form/form.ngfactory.js +7 -7
  242. package/esm2015/controls/grid/grid.js +144 -144
  243. package/esm2015/controls/grid/grid.ngfactory.js +7 -7
  244. package/esm2015/controls/grid/gridbutton.js +60 -60
  245. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -7
  246. package/esm2015/controls/grid/gridcolumn.js +56 -56
  247. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -7
  248. package/esm2015/controls/grid/gridcolumnaction.js +27 -27
  249. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -7
  250. package/esm2015/controls/grid/gridcolumnbase.js +138 -138
  251. package/esm2015/controls/grid/gridcolumnbase.ngfactory.js +7 -7
  252. package/esm2015/controls/grid/gridimage.js +13 -13
  253. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -7
  254. package/esm2015/controls/grid/model.js +100 -100
  255. package/esm2015/controls/grid/model.ngfactory.js +7 -7
  256. package/esm2015/controls/grid/paging.js +252 -252
  257. package/esm2015/controls/grid/paging.ngfactory.js +7 -7
  258. package/esm2015/controls/input/input.js +64 -64
  259. package/esm2015/controls/input/input.ngfactory.js +7 -7
  260. package/esm2015/controls/input/inputarea.js +61 -61
  261. package/esm2015/controls/input/inputarea.ngfactory.js +7 -7
  262. package/esm2015/controls/input/inputcurrency.js +31 -31
  263. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -7
  264. package/esm2015/controls/input/inputdecimal.js +146 -146
  265. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -7
  266. package/esm2015/controls/input/inputemail.js +41 -41
  267. package/esm2015/controls/input/inputemail.ngfactory.js +7 -7
  268. package/esm2015/controls/input/inputinteger.js +130 -130
  269. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -7
  270. package/esm2015/controls/input/inputpassword.js +46 -46
  271. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -7
  272. package/esm2015/controls/input/inputsearch.js +66 -66
  273. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -7
  274. package/esm2015/controls/layout/formlayout.js +82 -82
  275. package/esm2015/controls/layout/formlayout.ngfactory.js +7 -7
  276. package/esm2015/controls/list/buildvaluestring.js +18 -18
  277. package/esm2015/controls/list/buildvaluestring.ngfactory.js +7 -7
  278. package/esm2015/controls/list/dropdown.js +172 -172
  279. package/esm2015/controls/list/dropdown.ngfactory.js +7 -7
  280. package/esm2015/controls/list/dropdownoptions.js +72 -72
  281. package/esm2015/controls/list/dropdownoptions.ngfactory.js +7 -7
  282. package/esm2015/controls/list/list.module.js +11 -11
  283. package/esm2015/controls/list/list.module.ngfactory.js +7 -7
  284. package/esm2015/controls/list/listbox.js +187 -187
  285. package/esm2015/controls/list/listbox.ngfactory.js +7 -7
  286. package/esm2015/controls/multilanguage/multilanguageinput.js +224 -224
  287. package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -7
  288. package/esm2015/controls/multilanguage/multilanguageinputarea.js +225 -225
  289. package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -7
  290. package/esm2015/controls/static/formcontainer.js +61 -61
  291. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -7
  292. package/esm2015/controls/static/staticlabel.js +31 -31
  293. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -7
  294. package/esm2015/controls/tabs/tab.js +72 -72
  295. package/esm2015/controls/tabs/tab.ngfactory.js +7 -7
  296. package/esm2015/controls/tabs/tabitem.js +32 -32
  297. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -7
  298. package/esm2015/controls/tinymce/tinymce.js +238 -238
  299. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -7
  300. package/esm2015/controls/tinymce/tinymcedialogsettings.js +13 -13
  301. package/esm2015/controls/tinymce/tinymcedialogsettings.ngfactory.js +7 -7
  302. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +4 -4
  303. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.js +7 -7
  304. package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
  305. package/esm2015/controls/tinymce/tinymceinstance.ngfactory.js +7 -7
  306. package/esm2015/controls/tooltip/tooltip.js +242 -242
  307. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -7
  308. package/esm2015/controls/treeview/treeview.js +367 -367
  309. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -7
  310. package/esm2015/controls/upload/dropzonemultiple.js +161 -163
  311. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -7
  312. package/esm2015/controls/upload/dropzonesingle.js +108 -108
  313. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -7
  314. package/esm2015/controls/upload/uploadmultiple.js +121 -121
  315. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -7
  316. package/esm2015/controls/upload/uploadsingle.js +59 -55
  317. package/esm2015/controls/upload/uploadsingle.ngfactory.js +7 -7
  318. package/esm2015/controls/validation/validationsummary.js +133 -133
  319. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -7
  320. package/esm2015/controls/wizard/wizard.js +139 -139
  321. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -7
  322. package/esm2015/controls/wizard/wizarditem.js +27 -27
  323. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -7
  324. package/esm2015/enums/ButtonRoleType.js +1 -1
  325. package/esm2015/enums/ButtonRoleType.ngfactory.js +7 -7
  326. package/esm2015/enums/ControlHeight.js +19 -19
  327. package/esm2015/enums/ControlHeight.ngfactory.js +7 -7
  328. package/esm2015/enums/IconType.js +9 -9
  329. package/esm2015/enums/IconType.ngfactory.js +7 -7
  330. package/esm2015/interfaces/ISacConfigurationService.js +1 -1
  331. package/esm2015/interfaces/ISacConfigurationService.ngfactory.js +7 -7
  332. package/esm2015/interfaces/ISacFileBrowserService.js +1 -1
  333. package/esm2015/interfaces/ISacFileBrowserService.ngfactory.js +7 -7
  334. package/esm2015/interfaces/ISacIconService.js +1 -1
  335. package/esm2015/interfaces/ISacIconService.ngfactory.js +7 -7
  336. package/esm2015/interfaces/ISacLabelSizes.js +1 -1
  337. package/esm2015/interfaces/ISacLabelSizes.ngfactory.js +7 -7
  338. package/esm2015/interfaces/ISacLanguageService.js +1 -1
  339. package/esm2015/interfaces/ISacLanguageService.ngfactory.js +7 -7
  340. package/esm2015/interfaces/ISacLocalisationService.js +1 -1
  341. package/esm2015/interfaces/ISacLocalisationService.ngfactory.js +7 -7
  342. package/esm2015/interfaces/ISacUploadEventCompleteState.js +1 -1
  343. package/esm2015/interfaces/ISacUploadEventCompleteState.ngfactory.js +7 -7
  344. package/esm2015/interfaces/ISacValidationKeyService.js +1 -1
  345. package/esm2015/interfaces/ISacValidationKeyService.ngfactory.js +7 -7
  346. package/esm2015/interfaces/iabstractcontrollabel.js +1 -1
  347. package/esm2015/interfaces/iabstractcontrollabel.ngfactory.js +7 -7
  348. package/esm2015/interfaces/iconfirmcomponent.js +1 -1
  349. package/esm2015/interfaces/iconfirmcomponent.ngfactory.js +7 -7
  350. package/esm2015/interfaces/idatetimecontrol.js +1 -1
  351. package/esm2015/interfaces/idatetimecontrol.ngfactory.js +7 -7
  352. package/esm2015/interfaces/iuploadcontrol.js +1 -1
  353. package/esm2015/interfaces/iuploadcontrol.ngfactory.js +7 -7
  354. package/esm2015/interfaces/treeviewaction.interface.js +1 -1
  355. package/esm2015/interfaces/treeviewaction.interface.ngfactory.js +7 -7
  356. package/esm2015/models/languagemodel.js +13 -13
  357. package/esm2015/models/languagemodel.ngfactory.js +7 -7
  358. package/esm2015/public_api.js +108 -108
  359. package/esm2015/public_api.ngfactory.js +7 -7
  360. package/esm2015/services/index.js +7 -7
  361. package/esm2015/services/index.ngfactory.js +7 -7
  362. package/esm2015/services/sac-configuration.service.js +103 -103
  363. package/esm2015/services/sac-configuration.service.ngfactory.js +7 -7
  364. package/esm2015/services/sac-filebrowser.service.js +203 -203
  365. package/esm2015/services/sac-filebrowser.service.ngfactory.js +7 -7
  366. package/esm2015/services/sac-icon.service.js +191 -191
  367. package/esm2015/services/sac-icon.service.ngfactory.js +7 -7
  368. package/esm2015/services/sac-language.service.js +43 -43
  369. package/esm2015/services/sac-language.service.ngfactory.js +7 -7
  370. package/esm2015/services/sac-localisation.service.js +349 -349
  371. package/esm2015/services/sac-localisation.service.ngfactory.js +7 -7
  372. package/esm2015/services/sac-validationkey.service.js +159 -159
  373. package/esm2015/services/sac-validationkey.service.ngfactory.js +7 -7
  374. package/esm2015/simpleangularcontrols-sac-common.js +5 -5
  375. package/esm2015/simpleangularcontrols-sac-common.ngfactory.js +7 -7
  376. package/esm2015/utilities/convertion.js +32 -32
  377. package/esm2015/utilities/convertion.ngfactory.js +7 -7
  378. package/esm2015/utilities/datatypes.js +9 -9
  379. package/esm2015/utilities/datatypes.ngfactory.js +7 -7
  380. package/esm2015/utilities/enums.js +20 -20
  381. package/esm2015/utilities/enums.ngfactory.js +7 -7
  382. package/esm2015/utilities/guid.js +18 -18
  383. package/esm2015/utilities/guid.ngfactory.js +7 -7
  384. package/esm2015/utilities/interpolation.js +50 -50
  385. package/esm2015/utilities/interpolation.ngfactory.js +7 -7
  386. package/esm2015/utilities/popuphelper.js +343 -343
  387. package/esm2015/utilities/popuphelper.ngfactory.js +7 -7
  388. package/esm2015/utilities/positioning.js +301 -301
  389. package/esm2015/utilities/positioning.ngfactory.js +7 -7
  390. package/esm2015/validation/email.validator.js +13 -13
  391. package/esm2015/validation/email.validator.ngfactory.js +7 -7
  392. package/esm2015/validation/equals.validator.js +14 -14
  393. package/esm2015/validation/equals.validator.ngfactory.js +7 -7
  394. package/esm2015/validation/index.js +3 -3
  395. package/esm2015/validation/index.ngfactory.js +7 -7
  396. package/esm2015/validation/invaliddate.validator.js +14 -14
  397. package/esm2015/validation/invaliddate.validator.ngfactory.js +7 -7
  398. package/esm2015/validation/isDateValid.js +23 -23
  399. package/esm2015/validation/isDateValid.ngfactory.js +7 -7
  400. package/esm2015/validation/maxdate.validator.js +21 -21
  401. package/esm2015/validation/maxdate.validator.ngfactory.js +7 -7
  402. package/esm2015/validation/maxtime.validator.js +21 -21
  403. package/esm2015/validation/maxtime.validator.ngfactory.js +7 -7
  404. package/esm2015/validation/maxvalue.validator.js +16 -16
  405. package/esm2015/validation/maxvalue.validator.ngfactory.js +7 -7
  406. package/esm2015/validation/mindate.validator.js +21 -21
  407. package/esm2015/validation/mindate.validator.ngfactory.js +7 -7
  408. package/esm2015/validation/minfiles.validator.js +19 -19
  409. package/esm2015/validation/minfiles.validator.ngfactory.js +7 -7
  410. package/esm2015/validation/mintextlength.validator.js +23 -23
  411. package/esm2015/validation/mintextlength.validator.ngfactory.js +7 -7
  412. package/esm2015/validation/mintime.validator.js +21 -21
  413. package/esm2015/validation/mintime.validator.ngfactory.js +7 -7
  414. package/esm2015/validation/minvalue.validator.js +16 -16
  415. package/esm2015/validation/minvalue.validator.ngfactory.js +7 -7
  416. package/esm2015/validation/multilanguagerequired.validator.js +22 -22
  417. package/esm2015/validation/multilanguagerequired.validator.ngfactory.js +7 -7
  418. package/esm2015/validation/multilanguagerequiredany.validator.js +22 -22
  419. package/esm2015/validation/multilanguagerequiredany.validator.ngfactory.js +7 -7
  420. package/esm2015/validation/notequals.validator.js +14 -14
  421. package/esm2015/validation/notequals.validator.ngfactory.js +7 -7
  422. package/esm2015/validation/pattern.validator.js +16 -16
  423. package/esm2015/validation/pattern.validator.ngfactory.js +7 -7
  424. package/esm2015/validation/required.validator.js +13 -13
  425. package/esm2015/validation/required.validator.ngfactory.js +7 -7
  426. package/esm2015/validation/validation.class.js +218 -218
  427. package/esm2015/validation/validation.class.ngfactory.js +7 -7
  428. package/esm2015/validation/validationerrorcreator.js +11 -11
  429. package/esm2015/validation/validationerrorcreator.ngfactory.js +7 -7
  430. package/esm2015/validation/validationerroritem.js +27 -27
  431. package/esm2015/validation/validationerroritem.ngfactory.js +7 -7
  432. package/fesm2015/simpleangularcontrols-sac-common.js +10674 -10662
  433. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
  434. package/interfaces/ISacConfigurationService.d.ts +58 -58
  435. package/interfaces/ISacConfigurationService.ngfactory.d.ts +1 -1
  436. package/interfaces/ISacFileBrowserService.d.ts +65 -65
  437. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -1
  438. package/interfaces/ISacIconService.d.ts +113 -113
  439. package/interfaces/ISacIconService.ngfactory.d.ts +1 -1
  440. package/interfaces/ISacLabelSizes.d.ts +26 -26
  441. package/interfaces/ISacLabelSizes.ngfactory.d.ts +1 -1
  442. package/interfaces/ISacLanguageService.d.ts +12 -12
  443. package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -1
  444. package/interfaces/ISacLocalisationService.d.ts +10 -10
  445. package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -1
  446. package/interfaces/ISacUploadEventCompleteState.d.ts +5 -5
  447. package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts +1 -1
  448. package/interfaces/ISacValidationKeyService.d.ts +52 -52
  449. package/interfaces/ISacValidationKeyService.ngfactory.d.ts +1 -1
  450. package/interfaces/iabstractcontrollabel.d.ts +6 -6
  451. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -1
  452. package/interfaces/iconfirmcomponent.d.ts +18 -18
  453. package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -1
  454. package/interfaces/idatetimecontrol.d.ts +7 -7
  455. package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -1
  456. package/interfaces/iuploadcontrol.d.ts +9 -9
  457. package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -1
  458. package/interfaces/treeviewaction.interface.d.ts +4 -4
  459. package/interfaces/treeviewaction.interface.ngfactory.d.ts +1 -1
  460. package/models/languagemodel.d.ts +22 -22
  461. package/models/languagemodel.ngfactory.d.ts +1 -1
  462. package/package.json +1 -1
  463. package/public_api.d.ts +86 -86
  464. package/public_api.ngfactory.d.ts +1 -1
  465. package/services/index.d.ts +6 -6
  466. package/services/index.ngfactory.d.ts +1 -1
  467. package/services/sac-configuration.service.d.ts +121 -121
  468. package/services/sac-configuration.service.ngfactory.d.ts +1 -1
  469. package/services/sac-filebrowser.service.d.ts +140 -140
  470. package/services/sac-filebrowser.service.ngfactory.d.ts +1 -1
  471. package/services/sac-icon.service.d.ts +232 -232
  472. package/services/sac-icon.service.ngfactory.d.ts +1 -1
  473. package/services/sac-language.service.d.ts +26 -26
  474. package/services/sac-language.service.ngfactory.d.ts +1 -1
  475. package/services/sac-localisation.service.d.ts +137 -137
  476. package/services/sac-localisation.service.ngfactory.d.ts +1 -1
  477. package/services/sac-validationkey.service.d.ts +55 -55
  478. package/services/sac-validationkey.service.ngfactory.d.ts +1 -1
  479. package/simpleangularcontrols-sac-common-10.0.0-rc.23.tgz +0 -0
  480. package/simpleangularcontrols-sac-common.d.ts +4 -4
  481. package/simpleangularcontrols-sac-common.metadata.json +1 -1
  482. package/simpleangularcontrols-sac-common.ngfactory.d.ts +1 -1
  483. package/utilities/convertion.d.ts +15 -15
  484. package/utilities/convertion.ngfactory.d.ts +1 -1
  485. package/utilities/datatypes.d.ts +6 -6
  486. package/utilities/datatypes.ngfactory.d.ts +1 -1
  487. package/utilities/enums.d.ts +12 -12
  488. package/utilities/enums.ngfactory.d.ts +1 -1
  489. package/utilities/guid.d.ts +4 -4
  490. package/utilities/guid.ngfactory.d.ts +1 -1
  491. package/utilities/interpolation.d.ts +21 -21
  492. package/utilities/interpolation.ngfactory.d.ts +1 -1
  493. package/utilities/popuphelper.d.ts +83 -83
  494. package/utilities/popuphelper.ngfactory.d.ts +1 -1
  495. package/utilities/positioning.d.ts +82 -82
  496. package/utilities/positioning.ngfactory.d.ts +1 -1
  497. package/validation/email.validator.d.ts +2 -2
  498. package/validation/email.validator.ngfactory.d.ts +1 -1
  499. package/validation/equals.validator.d.ts +2 -2
  500. package/validation/equals.validator.ngfactory.d.ts +1 -1
  501. package/validation/index.d.ts +2 -2
  502. package/validation/index.ngfactory.d.ts +1 -1
  503. package/validation/invaliddate.validator.d.ts +2 -2
  504. package/validation/invaliddate.validator.ngfactory.d.ts +1 -1
  505. package/validation/isDateValid.d.ts +5 -5
  506. package/validation/isDateValid.ngfactory.d.ts +1 -1
  507. package/validation/maxdate.validator.d.ts +2 -2
  508. package/validation/maxdate.validator.ngfactory.d.ts +1 -1
  509. package/validation/maxtime.validator.d.ts +2 -2
  510. package/validation/maxtime.validator.ngfactory.d.ts +1 -1
  511. package/validation/maxvalue.validator.d.ts +2 -2
  512. package/validation/maxvalue.validator.ngfactory.d.ts +1 -1
  513. package/validation/mindate.validator.d.ts +2 -2
  514. package/validation/mindate.validator.ngfactory.d.ts +1 -1
  515. package/validation/minfiles.validator.d.ts +2 -2
  516. package/validation/minfiles.validator.ngfactory.d.ts +1 -1
  517. package/validation/mintextlength.validator.d.ts +2 -2
  518. package/validation/mintextlength.validator.ngfactory.d.ts +1 -1
  519. package/validation/mintime.validator.d.ts +2 -2
  520. package/validation/mintime.validator.ngfactory.d.ts +1 -1
  521. package/validation/minvalue.validator.d.ts +2 -2
  522. package/validation/minvalue.validator.ngfactory.d.ts +1 -1
  523. package/validation/multilanguagerequired.validator.d.ts +3 -3
  524. package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -1
  525. package/validation/multilanguagerequiredany.validator.d.ts +3 -3
  526. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -1
  527. package/validation/notequals.validator.d.ts +2 -2
  528. package/validation/notequals.validator.ngfactory.d.ts +1 -1
  529. package/validation/pattern.validator.d.ts +2 -2
  530. package/validation/pattern.validator.ngfactory.d.ts +1 -1
  531. package/validation/required.validator.d.ts +2 -2
  532. package/validation/required.validator.ngfactory.d.ts +1 -1
  533. package/validation/validation.class.d.ts +158 -158
  534. package/validation/validation.class.ngfactory.d.ts +1 -1
  535. package/validation/validationerrorcreator.d.ts +1 -1
  536. package/validation/validationerrorcreator.ngfactory.d.ts +1 -1
  537. package/validation/validationerroritem.d.ts +33 -33
  538. package/validation/validationerroritem.ngfactory.d.ts +1 -1
  539. package/simpleangularcontrols-sac-common-10.0.0-rc.21.tgz +0 -0
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3RyZWV2aWV3L3RyZWV2aWV3Lm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
@@ -1,163 +1,161 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { SacUploadBase } from '../../common/baseuploadcontrol';
3
- import { Validation } from '../../validation';
4
- /**
5
- * Upload Komponente für ein einzelnes File
6
- */
7
- export class SacDropzoneMultipleCommon extends SacUploadBase {
8
- constructor() {
9
- // #region Properties
10
- super(...arguments);
11
- /**
12
- * Max. Anzahl Files die hochgeladen werden können
13
- */
14
- this.maxfiles = 0;
15
- /**
16
- * Min. Anzahl Files die hochgeladen werden müssen
17
- */
18
- this.minfiles = 0;
19
- /**
20
- * Höhe des Upload Controls
21
- */
22
- this.uploadheight = null;
23
- /**
24
- * Resource Key für Validation Message Required bei Control
25
- */
26
- this.validationmessageminfiles = this.validationKeyService.ValidationErrorFilesMin;
27
- /**
28
- * Resource Key für Validation Message Required in Validation Summary
29
- */
30
- this.validationmessagesummaryminfiles = this.validationKeyService.ValidationErrorSummaryFilesMin;
31
- /**
32
- * Property wenn Drag Event aktiv ist (Maus über Zone)
33
- */
34
- this.active = false;
35
- // #endregion Public Methods
36
- }
37
- // #endregion Properties
38
- // #region Public Methods
39
- /**
40
- * Prüft ob die max. Files in der Queue nicht überschritten werden
41
- *
42
- * @param file File das hinzugefügt wurde
43
- */
44
- CustomAddValidation(file) {
45
- if (this.maxfiles > 0 && this.uploads.length >= this.maxfiles) {
46
- this.onfileerror.emit('INVALID_MAXFILES');
47
- return false;
48
- }
49
- else {
50
- return true;
51
- }
52
- }
53
- /**
54
- * Setzt die File ID's der hochgeladen Files in das Model
55
- *
56
- * @param file ID des Files welches hochgeladen wurde.
57
- */
58
- SetUploadValue(file) {
59
- let documentid = null;
60
- if (file === null) {
61
- documentid = null;
62
- }
63
- else {
64
- if (file.response !== undefined &&
65
- file.response !== null &&
66
- file.response.documentid !== null &&
67
- file.response.documentid !== undefined) {
68
- documentid = file.response.documentid;
69
- }
70
- else {
71
- documentid = file.uploadId;
72
- }
73
- // Document ID aktualisieren, damit Wert von Server in Model gesetzt werden kann.
74
- this.uploads
75
- .filter((itm) => itm !== null && itm.uploadId === file.uploadId)
76
- .forEach((itm) => {
77
- itm.documentid = documentid;
78
- });
79
- }
80
- // List of Files
81
- const fileIds = [];
82
- // Add all Items with Uploaded State to Model
83
- this.uploads
84
- .filter((itm) => itm.status === 'complete')
85
- .forEach((itm) => {
86
- if (itm.documentid !== null && itm.documentid !== undefined) {
87
- fileIds.push(itm.documentid);
88
- }
89
- });
90
- if (fileIds.length > 0) {
91
- super.setValue(fileIds);
92
- }
93
- else {
94
- super.setValue(null);
95
- }
96
- }
97
- /**
98
- * Methode für Drag and Drop von Files
99
- * @param event Drag Event
100
- */
101
- dropHandler(event) {
102
- if (event.dataTransfer &&
103
- event.dataTransfer.files &&
104
- event.dataTransfer.files.item(0)) {
105
- event.stopPropagation();
106
- event.preventDefault();
107
- this.active = false;
108
- this.uploadService.handleFileList(event.dataTransfer.files);
109
- }
110
- }
111
- /**
112
- * Ervent wenn das Control initialisert wird
113
- */
114
- ngOnInit() {
115
- super.ngOnInit();
116
- this.autoupload = true;
117
- }
118
- /**
119
- * Methode wenn Drag die Zone verlässt
120
- * @param event DragLeave Event
121
- */
122
- onDragLeave(event) {
123
- this.active = false;
124
- }
125
- /**
126
- * Methode wenn Drag in die Zone eintritt
127
- * @param event DragEnter Event
128
- */
129
- onDragOver(event) {
130
- if (event.dataTransfer &&
131
- event.dataTransfer.files &&
132
- event.dataTransfer.types.every((itm) => itm === 'Files') &&
133
- event.dataTransfer.types.length > 0) {
134
- event.dataTransfer.dropEffect = 'copy';
135
- event.stopPropagation();
136
- event.preventDefault();
137
- this.active = true;
138
- }
139
- }
140
- /**
141
- * Validiert das Control
142
- *
143
- * @param c Control
144
- */
145
- validateData(c) {
146
- let error = super.validateData(c);
147
- if (error === null) {
148
- error = Validation.minFiles(this.minfiles, this.validationmessageminfiles, this.validationmessagesummaryminfiles)(c);
149
- }
150
- return error;
151
- }
152
- }
153
- SacDropzoneMultipleCommon.decorators = [
154
- { type: Directive }
155
- ];
156
- SacDropzoneMultipleCommon.propDecorators = {
157
- maxfiles: [{ type: Input }],
158
- minfiles: [{ type: Input }],
159
- uploadheight: [{ type: Input }],
160
- validationmessageminfiles: [{ type: Input }],
161
- validationmessagesummaryminfiles: [{ type: Input }]
162
- };
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUNYLFNBQVEsYUFBdUI7SUFGakM7UUFLRSxxQkFBcUI7O1FBRXJCOztXQUVHO1FBRUksYUFBUSxHQUFXLENBQUMsQ0FBQztRQUM1Qjs7V0FFRztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDNUI7O1dBRUc7UUFFSSxpQkFBWSxHQUFXLElBQUksQ0FBQztRQUNuQzs7V0FFRztRQUNhLDhCQUF5QixHQUN2QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsdUJBQXVCLENBQUM7UUFDcEQ7O1dBRUc7UUFFSSxxQ0FBZ0MsR0FDckMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDhCQUE4QixDQUFDO1FBRTNEOztXQUVHO1FBQ0ksV0FBTSxHQUFHLEtBQUssQ0FBQztRQTJJdEIsNEJBQTRCO0lBQzlCLENBQUM7SUExSUMsd0JBQXdCO0lBRXhCLHlCQUF5QjtJQUV6Qjs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsSUFBaUI7UUFDMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdELElBQUksQ0FBQyxXQUFXLENBQUMs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QUN4QixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUM7WUFDeEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDbkM7WUFDQSxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLENBQWtCO1FBQ3BDLElBQUksS0FBSyxHQUE0QixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQixLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FDekIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUE5S0YsU0FBUzs7O3VCQVVQLEtBQUs7dUJBS0wsS0FBSzsyQkFLTCxLQUFLO3dDQUtMLEtBQUs7K0NBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVwbG9hZFN0YXRlIH0gZnJvbSAnbmd4LXVwbG9hZHgnO1xyXG5pbXBvcnQgeyBTYWNVcGxvYWRCYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2V1cGxvYWRjb250cm9sJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5cclxuLyoqXHJcbiAqIFVwbG9hZCBLb21wb25lbnRlIGbDvHIgZWluIGVpbnplbG5lcyBGaWxlXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb25cclxuICBleHRlbmRzIFNhY1VwbG9hZEJhc2U8c3RyaW5nW10+XHJcbiAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBNYXguIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIGvDtm5uZW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXhmaWxlczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBNaW4uIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIG3DvHNzZW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5maWxlczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBIw7ZoZSBkZXMgVXBsb2FkIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXBsb2FkaGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZW1pbmZpbGVzOiBzdHJpbmcgPVxyXG4gICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JGaWxlc01pbjtcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZmlsZXM6IHN0cmluZyA9XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlGaWxlc01pbjtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvcGVydHkgd2VubiBEcmFnIEV2ZW50IGFrdGl2IGlzdCAoTWF1cyDDvGJlciBab25lKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogUHLDvGZ0IG9iIGRpZSBtYXguIEZpbGVzIGluIGRlciBRdWV1ZSBuaWNodCDDvGJlcnNjaHJpdHRlbiB3ZXJkZW5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgZGFzIGhpbnp1Z2Vmw7xndCB3dXJkZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBDdXN0b21BZGRWYWxpZGF0aW9uKGZpbGU6IFVwbG9hZFN0YXRlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5tYXhmaWxlcyA+IDAgJiYgdGhpcy51cGxvYWRzLmxlbmd0aCA+PSB0aGlzLm1heGZpbGVzKSB7XHJcbiAgICAgIHRoaXMub25maWxlZXJyb3IuZW1pdCgnSU5WQUxJRF9NQVhGSUxFUycpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRpZSBGaWxlIElEJ3MgZGVyIGhvY2hnZWxhZGVuIEZpbGVzIGluIGRhcyBNb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZpbGUgSUQgZGVzIEZpbGVzIHdlbGNoZXMgaG9jaGdlbGFkZW4gd3VyZGUuXHJcbiAgICovXHJcbiAgcHVibGljIFNldFVwbG9hZFZhbHVlKGZpbGU6IFVwbG9hZFN0YXRlKSB7XHJcbiAgICBsZXQgZG9jdW1lbnRpZDogc3RyaW5nID0gbnVsbDtcclxuICAgIGlmIChmaWxlID09PSBudWxsKSB7XHJcbiAgICAgIGRvY3VtZW50aWQgPSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGZpbGUucmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgIGZpbGUucmVzcG9uc2UgIT09IG51bGwgJiZcclxuICAgICAgICBmaWxlLnJlc3BvbnNlLmRvY3VtZW50aWQgIT09IG51bGwgJiZcclxuICAgICAgICBmaWxlLnJlc3BvbnNlLmRvY3VtZW50aWQgIT09IHVuZGVmaW5lZFxyXG4gICAgICApIHtcclxuICAgICAgICBkb2N1bWVudGlkID0gZmlsZS5yZXNwb25zZS5kb2N1bWVudGlkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRvY3VtZW50aWQgPSBmaWxlLnVwbG9hZElkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEb2N1bWVudCBJRCBha3R1YWxpc2llcmVuLCBkYW1pdCBXZXJ0IHZvbiBTZXJ2ZXIgaW4gTW9kZWwgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgICAgdGhpcy51cGxvYWRzXHJcbiAgICAgICAgLmZpbHRlcigoaXRtKSA9PiBpdG0gIT09IG51bGwgJiYgaXRtLnVwbG9hZElkID09PSBmaWxlLnVwbG9hZElkKVxyXG4gICAgICAgIC5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgICAgIGl0bS5kb2N1bWVudGlkID0gZG9jdW1lbnRpZDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBMaXN0IG9mIEZpbGVzXHJcbiAgICBjb25zdCBmaWxlSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8vIEFkZCBhbGwgSXRlbXMgd2l0aCBVcGxvYWRlZCBTdGF0ZSB0byBNb2RlbFxyXG4gICAgdGhpcy51cGxvYWRzXHJcbiAgICAgIC5maWx0ZXIoKGl0bSkgPT4gaXRtLnN0YXR1cyA9PT0gJ2NvbXBsZXRlJylcclxuICAgICAgLmZvckVhY2goKGl0bSkgPT4ge1xyXG4gICAgICAgIGlmIChpdG0uZG9jdW1lbnRpZCAhPT0gbnVsbCAmJiBpdG0uZG9jdW1lbnRpZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBmaWxlSWRzLnB1c2goaXRtLmRvY3VtZW50aWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKGZpbGVJZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBzdXBlci5zZXRWYWx1ZShmaWxlSWRzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN1cGVyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBmw7xyIERyYWcgYW5kIERyb3Agdm9uIEZpbGVzXHJcbiAgICogQHBhcmFtIGV2ZW50IERyYWcgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgZHJvcEhhbmRsZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIgJiZcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzICYmXHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5pdGVtKDApXHJcbiAgICApIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudXBsb2FkU2VydmljZS5oYW5kbGVGaWxlTGlzdChldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXJ2ZW50IHdlbm4gZGFzIENvbnRyb2wgaW5pdGlhbGlzZXJ0IHdpcmRcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIHRoaXMuYXV0b3VwbG9hZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gRHJhZyBkaWUgWm9uZSB2ZXJsw6Rzc3RcclxuICAgKiBAcGFyYW0gZXZlbnQgRHJhZ0xlYXZlIEV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gRHJhZyBpbiBkaWUgWm9uZSBlaW50cml0dFxyXG4gICAqIEBwYXJhbSBldmVudCBEcmFnRW50ZXIgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2ZlciAmJlxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMgJiZcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmV2ZXJ5KChpdG0pID0+IGl0bSA9PT0gJ0ZpbGVzJykgJiZcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBkYXMgQ29udHJvbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbFxyXG4gICAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IHN1cGVyLnZhbGlkYXRlRGF0YShjKTtcclxuXHJcbiAgICBpZiAoZXJyb3IgPT09IG51bGwpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1pbkZpbGVzKFxyXG4gICAgICAgIHRoaXMubWluZmlsZXMsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1pbmZpbGVzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZmlsZXNcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIl19
1
+ import { SacUploadBase } from '../../common/baseuploadcontrol';
2
+ import { Validation } from '../../validation';
3
+ import { Directive, Input } from '@angular/core';
4
+ /**
5
+ * Upload Komponente für ein einzelnes File
6
+ */
7
+ export class SacDropzoneMultipleCommon extends SacUploadBase {
8
+ constructor() {
9
+ // #region Properties
10
+ super(...arguments);
11
+ /**
12
+ * Property wenn Drag Event aktiv ist (Maus über Zone)
13
+ */
14
+ this.active = false;
15
+ /**
16
+ * Max. Anzahl Files die hochgeladen werden können
17
+ */
18
+ this.maxfiles = 0;
19
+ /**
20
+ * Min. Anzahl Files die hochgeladen werden müssen
21
+ */
22
+ this.minfiles = 0;
23
+ /**
24
+ * Höhe des Upload Controls
25
+ */
26
+ this.uploadheight = null;
27
+ /**
28
+ * Resource Key für Validation Message Required bei Control
29
+ */
30
+ this.validationmessageminfiles = this.validationKeyService.ValidationErrorFilesMin;
31
+ /**
32
+ * Resource Key für Validation Message Required in Validation Summary
33
+ */
34
+ this.validationmessagesummaryminfiles = this.validationKeyService.ValidationErrorSummaryFilesMin;
35
+ // #endregion Public Methods
36
+ }
37
+ // #endregion Properties
38
+ // #region Public Methods
39
+ /**
40
+ * Prüft ob die max. Files in der Queue nicht überschritten werden
41
+ *
42
+ * @param file File das hinzugefügt wurde
43
+ */
44
+ CustomAddValidation(file) {
45
+ if (this.maxfiles > 0 && this.uploads.length >= this.maxfiles) {
46
+ this.onfileerror.emit('INVALID_MAXFILES');
47
+ return false;
48
+ }
49
+ else {
50
+ return true;
51
+ }
52
+ }
53
+ /**
54
+ * Setzt die File ID's der hochgeladen Files in das Model
55
+ *
56
+ * @param file ID des Files welches hochgeladen wurde.
57
+ */
58
+ SetUploadValue(file) {
59
+ let documentid = null;
60
+ if (file === null) {
61
+ documentid = null;
62
+ }
63
+ else {
64
+ if (file.response !== undefined &&
65
+ file.response !== null &&
66
+ file.response.documentid !== null &&
67
+ file.response.documentid !== undefined) {
68
+ documentid = file.response.documentid;
69
+ }
70
+ else {
71
+ documentid = file.uploadId;
72
+ }
73
+ // Document ID aktualisieren, damit Wert von Server in Model gesetzt werden kann.
74
+ this.uploads
75
+ .filter((itm) => itm !== null && itm.uploadId === file.uploadId)
76
+ .forEach((itm) => {
77
+ itm.documentid = documentid;
78
+ });
79
+ }
80
+ // List of Files
81
+ const fileIds = [];
82
+ // Add all Items with Uploaded State to Model
83
+ this.uploads
84
+ .filter((itm) => itm.status === 'complete')
85
+ .forEach((itm) => {
86
+ if (itm.documentid !== null && itm.documentid !== undefined) {
87
+ fileIds.push(itm.documentid);
88
+ }
89
+ });
90
+ if (fileIds.length > 0) {
91
+ super.setValue(fileIds);
92
+ }
93
+ else {
94
+ super.setValue(null);
95
+ }
96
+ }
97
+ /**
98
+ * Methode für Drag and Drop von Files
99
+ * @param event Drag Event
100
+ */
101
+ dropHandler(event) {
102
+ if (event.dataTransfer && event.dataTransfer.files && event.dataTransfer.files.item(0)) {
103
+ event.stopPropagation();
104
+ event.preventDefault();
105
+ this.active = false;
106
+ this.uploadService.handleFileList(event.dataTransfer.files);
107
+ }
108
+ }
109
+ /**
110
+ * Ervent wenn das Control initialisert wird
111
+ */
112
+ ngOnInit() {
113
+ super.ngOnInit();
114
+ this.autoupload = true;
115
+ }
116
+ /**
117
+ * Methode wenn Drag die Zone verlässt
118
+ * @param event DragLeave Event
119
+ */
120
+ onDragLeave(event) {
121
+ this.active = false;
122
+ }
123
+ /**
124
+ * Methode wenn Drag in die Zone eintritt
125
+ * @param event DragEnter Event
126
+ */
127
+ onDragOver(event) {
128
+ if (event.dataTransfer &&
129
+ event.dataTransfer.files &&
130
+ event.dataTransfer.types.every((itm) => itm === 'Files') &&
131
+ event.dataTransfer.types.length > 0) {
132
+ event.dataTransfer.dropEffect = 'copy';
133
+ event.stopPropagation();
134
+ event.preventDefault();
135
+ this.active = true;
136
+ }
137
+ }
138
+ /**
139
+ * Validiert das Control
140
+ *
141
+ * @param c Control
142
+ */
143
+ validateData(c) {
144
+ let error = super.validateData(c);
145
+ if (error === null) {
146
+ error = Validation.minFiles(this.minfiles, this.validationmessageminfiles, this.validationmessagesummaryminfiles)(c);
147
+ }
148
+ return error;
149
+ }
150
+ }
151
+ SacDropzoneMultipleCommon.decorators = [
152
+ { type: Directive }
153
+ ];
154
+ SacDropzoneMultipleCommon.propDecorators = {
155
+ maxfiles: [{ type: Input }],
156
+ minfiles: [{ type: Input }],
157
+ uploadheight: [{ type: Input }],
158
+ validationmessageminfiles: [{ type: Input }],
159
+ validationmessagesummaryminfiles: [{ type: Input }]
160
+ };
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3VwbG9hZC9kcm9wem9uZW11bHRpcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsYUFBdUI7SUFEdEU7UUFFSSxxQkFBcUI7O1FBRXJCOztXQUVHO1FBQ0ksV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV0Qjs7V0FFRztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFNUI7O1dBRUc7UUFFSSxhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBRTVCOztXQUVHO1FBRUksaUJBQVksR0FBVyxJQUFJLENBQUM7UUFFbkM7O1dBRUc7UUFDYSw4QkFBeUIsR0FBVyxJQUFJLENBQUMsb0JBQW9CLENBQUMsdUJBQXVCLENBQUM7UUFFdEc7O1dBRUc7UUFFSSxxQ0FBZ0MsR0FBVyxJQUFJLENBQUMsb0JBQW9CLENBQUMsOEJBQThCLENBQUM7UUF1STNHLDRCQUE0QjtJQUNoQyxDQUFDO0lBdElHLHdCQUF3QjtJQUV4Qix5QkFBeUI7SUFFekI7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFDLElBQWlCO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMz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QUFDLFlBQVksQ0FBQyxLQUFLO1lBQ3hCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQztZQUN4RCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUNyQztZQUNFLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN2QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsQ0FBa0I7UUFDbEMsSUFBSSxLQUFLLEdBQTRCLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0QsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxDQUN2QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx5QkFBeUIsRUFDOUIsSUFBSSxDQUFDLGdDQUFnQyxDQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7WUF6S0osU0FBUzs7O3VCQVlMLEtBQUs7dUJBTUwsS0FBSzsyQkFNTCxLQUFLO3dDQU1MLEtBQUs7K0NBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY1VwbG9hZEJhc2UgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZXVwbG9hZGNvbnRyb2wnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVcGxvYWRTdGF0ZSB9IGZyb20gJ25neC11cGxvYWR4JztcblxuLyoqXG4gKiBVcGxvYWQgS29tcG9uZW50ZSBmw7xyIGVpbiBlaW56ZWxuZXMgRmlsZVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNEcm9wem9uZU11bHRpcGxlQ29tbW9uIGV4dGVuZHMgU2FjVXBsb2FkQmFzZTxzdHJpbmdbXT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgd2VubiBEcmFnIEV2ZW50IGFrdGl2IGlzdCAoTWF1cyDDvGJlciBab25lKVxuICAgICAqL1xuICAgIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE1heC4gQW56YWhsIEZpbGVzIGRpZSBob2NoZ2VsYWRlbiB3ZXJkZW4ga8O2bm5lblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heGZpbGVzOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogTWluLiBBbnphaGwgRmlsZXMgZGllIGhvY2hnZWxhZGVuIHdlcmRlbiBtw7xzc2VuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluZmlsZXM6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBIw7ZoZSBkZXMgVXBsb2FkIENvbnRyb2xzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdXBsb2FkaGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlbWluZmlsZXM6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRmlsZXNNaW47XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZmlsZXM6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeUZpbGVzTWluO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBQcsO8ZnQgb2IgZGllIG1heC4gRmlsZXMgaW4gZGVyIFF1ZXVlIG5pY2h0IMO8YmVyc2Nocml0dGVuIHdlcmRlblxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGUgRmlsZSBkYXMgaGluenVnZWbDvGd0IHd1cmRlXG4gICAgICovXG4gICAgcHVibGljIEN1c3RvbUFkZFZhbGlkYXRpb24oZmlsZTogVXBsb2FkU3RhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubWF4ZmlsZXMgPiAwICYmIHRoaXMudXBsb2Fkcy5sZW5ndGggPj0gdGhpcy5tYXhmaWxlcykge1xuICAgICAgICAgICAgdGhpcy5vbmZpbGVlcnJvci5lbWl0KCdJTlZBTElEX01BWEZJTEVTJyk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBGaWxlIElEJ3MgZGVyIGhvY2hnZWxhZGVuIEZpbGVzIGluIGRhcyBNb2RlbFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGUgSUQgZGVzIEZpbGVzIHdlbGNoZXMgaG9jaGdlbGFkZW4gd3VyZGUuXG4gICAgICovXG4gICAgcHVibGljIFNldFVwbG9hZFZhbHVlKGZpbGU6IFVwbG9hZFN0YXRlKSB7XG4gICAgICAgIGxldCBkb2N1bWVudGlkOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBpZiAoZmlsZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZG9jdW1lbnRpZCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZmlsZS5yZXNwb25zZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgZmlsZS5yZXNwb25zZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGZpbGUucmVzcG9uc2UuZG9jdW1lbnRpZCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGZpbGUucmVzcG9uc2UuZG9jdW1lbnRpZCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudGlkID0gZmlsZS5yZXNwb25zZS5kb2N1bWVudGlkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudGlkID0gZmlsZS51cGxvYWRJZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRG9jdW1lbnQgSUQgYWt0dWFsaXNpZXJlbiwgZGFtaXQgV2VydCB2b24gU2VydmVyIGluIE1vZGVsIGdlc2V0enQgd2VyZGVuIGthbm4uXG4gICAgICAgICAgICB0aGlzLnVwbG9hZHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChpdG0pID0+IGl0bSAhPT0gbnVsbCAmJiBpdG0udXBsb2FkSWQgPT09IGZpbGUudXBsb2FkSWQpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goKGl0bSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpdG0uZG9jdW1lbnRpZCA9IGRvY3VtZW50aWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMaXN0IG9mIEZpbGVzXG4gICAgICAgIGNvbnN0IGZpbGVJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgLy8gQWRkIGFsbCBJdGVtcyB3aXRoIFVwbG9hZGVkIFN0YXRlIHRvIE1vZGVsXG4gICAgICAgIHRoaXMudXBsb2Fkc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRtKSA9PiBpdG0uc3RhdHVzID09PSAnY29tcGxldGUnKVxuICAgICAgICAgICAgLmZvckVhY2goKGl0bSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdG0uZG9jdW1lbnRpZCAhPT0gbnVsbCAmJiBpdG0uZG9jdW1lbnRpZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVJZHMucHVzaChpdG0uZG9jdW1lbnRpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGZpbGVJZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc3VwZXIuc2V0VmFsdWUoZmlsZUlkcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZGUgZsO8ciBEcmFnIGFuZCBEcm9wIHZvbiBGaWxlc1xuICAgICAqIEBwYXJhbSBldmVudCBEcmFnIEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIGRyb3BIYW5kbGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGFUcmFuc2ZlciAmJiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMgJiYgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLml0ZW0oMCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuaGFuZGxlRmlsZUxpc3QoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVydmVudCB3ZW5uIGRhcyBDb250cm9sIGluaXRpYWxpc2VydCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuYXV0b3VwbG9hZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kZSB3ZW5uIERyYWcgZGllIFpvbmUgdmVybMOkc3N0XG4gICAgICogQHBhcmFtIGV2ZW50IERyYWdMZWF2ZSBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kZSB3ZW5uIERyYWcgaW4gZGllIFpvbmUgZWludHJpdHRcbiAgICAgKiBAcGFyYW0gZXZlbnQgRHJhZ0VudGVyIEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC5kYXRhVHJhbnNmZXIgJiZcbiAgICAgICAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyAmJlxuICAgICAgICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmV2ZXJ5KChpdG0pID0+IGl0bSA9PT0gJ0ZpbGVzJykgJiZcbiAgICAgICAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSc7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGllcnQgZGFzIENvbnRyb2xcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjIENvbnRyb2xcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IHN1cGVyLnZhbGlkYXRlRGF0YShjKTtcblxuICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5taW5GaWxlcyhcbiAgICAgICAgICAgICAgICB0aGlzLm1pbmZpbGVzLFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VtaW5maWxlcyxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1pbmZpbGVzXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiJdfQ==