@simpleangularcontrols/sac-bootstrap4 16.0.0-rc.1

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