@simpleangularcontrols/sac-bootstrap3 16.0.0-rc.1 → 16.0.0-rc.3

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 (98) hide show
  1. package/README.md +13 -15
  2. package/controls/checkbox/checkbox.d.ts +7 -2
  3. package/controls/checkbox/checkbox.d.ts.map +1 -1
  4. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  5. package/controls/checkbox/radiobuttons.d.ts +7 -2
  6. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  7. package/controls/datetime/date.d.ts +8 -2
  8. package/controls/datetime/date.d.ts.map +1 -1
  9. package/controls/datetime/dateselector.d.ts.map +1 -1
  10. package/controls/datetime/datetime.d.ts +8 -2
  11. package/controls/datetime/datetime.d.ts.map +1 -1
  12. package/controls/datetime/time.d.ts +8 -2
  13. package/controls/datetime/time.d.ts.map +1 -1
  14. package/controls/form/form.d.ts +4 -12
  15. package/controls/form/form.d.ts.map +1 -1
  16. package/controls/form/inheritform.directive.d.ts +11 -11
  17. package/controls/form/inheritform.directive.d.ts.map +1 -1
  18. package/controls/input/input.d.ts +7 -2
  19. package/controls/input/input.d.ts.map +1 -1
  20. package/controls/input/inputarea.d.ts +7 -2
  21. package/controls/input/inputarea.d.ts.map +1 -1
  22. package/controls/input/inputcurrency.d.ts +7 -2
  23. package/controls/input/inputcurrency.d.ts.map +1 -1
  24. package/controls/input/inputdecimal.d.ts +7 -2
  25. package/controls/input/inputdecimal.d.ts.map +1 -1
  26. package/controls/input/inputemail.d.ts +7 -2
  27. package/controls/input/inputemail.d.ts.map +1 -1
  28. package/controls/input/inputinteger.d.ts +7 -2
  29. package/controls/input/inputinteger.d.ts.map +1 -1
  30. package/controls/input/inputpassword.d.ts +7 -2
  31. package/controls/input/inputpassword.d.ts.map +1 -1
  32. package/controls/input/inputsearch.d.ts +7 -2
  33. package/controls/input/inputsearch.d.ts.map +1 -1
  34. package/controls/layout/formlayout.directive.d.ts +7 -0
  35. package/controls/layout/formlayout.directive.d.ts.map +1 -0
  36. package/controls/layout/layout.module.d.ts +11 -0
  37. package/controls/layout/layout.module.d.ts.map +1 -0
  38. package/controls/layout/tocontrolwidthcss.pipe.d.ts +20 -0
  39. package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
  40. package/controls/layout/tolabelwidthcss.pipe.d.ts +14 -0
  41. package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
  42. package/controls/list/dropdown.d.ts +16 -3
  43. package/controls/list/dropdown.d.ts.map +1 -1
  44. package/controls/list/listbox.d.ts +7 -2
  45. package/controls/list/listbox.d.ts.map +1 -1
  46. package/controls/static/formcontainer.d.ts +5 -5
  47. package/controls/static/formcontainer.d.ts.map +1 -1
  48. package/controls/static/staticlabel.d.ts +7 -2
  49. package/controls/static/staticlabel.d.ts.map +1 -1
  50. package/controls/tinymce/tinymce.d.ts +6 -6
  51. package/controls/tinymce/tinymce.d.ts.map +1 -1
  52. package/controls/treeview/ngtreeitemaction.d.ts.map +1 -1
  53. package/controls/treeview/treeview.d.ts.map +1 -1
  54. package/controls/upload/upload.d.ts +10 -4
  55. package/controls/upload/upload.d.ts.map +1 -1
  56. package/controls/upload/uploadmultiple.d.ts +9 -2
  57. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  58. package/controls/validation/validationsummary.d.ts +6 -1
  59. package/controls/validation/validationsummary.d.ts.map +1 -1
  60. package/esm2022/controls/checkbox/checkbox.mjs +39 -15
  61. package/esm2022/controls/checkbox/radiobutton.mjs +3 -2
  62. package/esm2022/controls/checkbox/radiobuttons.mjs +39 -15
  63. package/esm2022/controls/datetime/date.mjs +51 -18
  64. package/esm2022/controls/datetime/dateselector.mjs +3 -8
  65. package/esm2022/controls/datetime/datetime.mjs +49 -16
  66. package/esm2022/controls/datetime/time.mjs +49 -16
  67. package/esm2022/controls/form/form.mjs +7 -19
  68. package/esm2022/controls/form/inheritform.directive.mjs +31 -28
  69. package/esm2022/controls/input/input.mjs +35 -13
  70. package/esm2022/controls/input/inputarea.mjs +45 -15
  71. package/esm2022/controls/input/inputcurrency.mjs +45 -15
  72. package/esm2022/controls/input/inputdecimal.mjs +45 -15
  73. package/esm2022/controls/input/inputemail.mjs +45 -15
  74. package/esm2022/controls/input/inputinteger.mjs +45 -15
  75. package/esm2022/controls/input/inputpassword.mjs +45 -15
  76. package/esm2022/controls/input/inputsearch.mjs +39 -15
  77. package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
  78. package/esm2022/controls/layout/layout.module.mjs +34 -0
  79. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +53 -0
  80. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +37 -0
  81. package/esm2022/controls/list/dropdown.mjs +31 -14
  82. package/esm2022/controls/list/listbox.mjs +50 -15
  83. package/esm2022/controls/static/formcontainer.mjs +43 -18
  84. package/esm2022/controls/static/staticlabel.mjs +39 -15
  85. package/esm2022/controls/tinymce/tinymce.mjs +19 -12
  86. package/esm2022/controls/treeview/ngtreeitemaction.mjs +2 -1
  87. package/esm2022/controls/treeview/treeview.mjs +3 -9
  88. package/esm2022/controls/upload/upload.mjs +47 -15
  89. package/esm2022/controls/upload/uploadmultiple.mjs +21 -9
  90. package/esm2022/controls/validation/validationsummary.mjs +15 -11
  91. package/esm2022/public_api.mjs +34 -30
  92. package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs +1563 -965
  93. package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs.map +1 -1
  94. package/package.json +2 -2
  95. package/public_api.d.ts +33 -29
  96. package/public_api.d.ts.map +1 -1
  97. package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.3.tgz +0 -0
  98. package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.1.tgz +0 -0
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, NgModule, Input, Directive, HostBinding, forwardRef, Host, Optional, ContentChildren, ComponentFactoryResolver, Injectable, Inject, SkipSelf, TemplateRef, ContentChild } from '@angular/core';
3
- import { SacButtonCommon, SacDialogCommon, SacFormCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDropdownCommon, SacDropdownOptionCommon, SacListboxCommon, SacValidationSummaryCommon, SacTabItemCommon, SacTabCommon, SacTooltipCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDateSelectorCommon, SacDateCommon, SacDateTimeCommon, SacTimeCommon, SacTinyMceCommon, SacStaticLabelCommon, SacStaticFormContainerCommon, SacWizardItemCommon, SacWizardCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacPagingCommon, SacGridCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridButtonCommon, SacGridColumnActionCommon, SacGridImageCommon, SacTreeViewChildCommon, SacTreeViewCommon, SacTreeItemActionCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgIf, NgClass, CommonModule, NgStyle, NgTemplateOutlet, NgFor, AsyncPipe } from '@angular/common';
2
+ import { Component, NgModule, Pipe, Directive, forwardRef, Host, Optional, Input, ComponentFactoryResolver, Injectable, Inject, TemplateRef, ContentChild, ContentChildren, HostBinding, SkipSelf } from '@angular/core';
3
+ import { SacButtonCommon, SacFormLayoutCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDialogCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacDateSelectorCommon, SacDateCommon, SacDateTimeCommon, SacTimeCommon, SacPagingCommon, SacGridCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridButtonCommon, SacGridColumnActionCommon, SacGridImageCommon, SacTooltipCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDropdownCommon, SacDropdownOptionCommon, SacListboxCommon, SacStaticLabelCommon, SacStaticFormContainerCommon, SacTabItemCommon, SacTabCommon, SacTinyMceCommon, SacTreeViewChildCommon, SacTreeViewCommon, SacTreeItemActionCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacFormCommon, SacValidationSummaryCommon, SacWizardItemCommon, SacWizardCommon } from '@simpleangularcontrols/sac-common';
4
+ import { NgIf, NgClass, CommonModule, NgTemplateOutlet, NgStyle, NgFor, AsyncPipe } from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, ControlContainer, NgForm } from '@angular/forms';
7
- import * as moment_ from 'moment';
8
7
  import { IMaskDirective, IMaskModule } from 'angular-imask';
8
+ import * as moment_ from 'moment';
9
9
  import { EditorComponent } from '@tinymce/tinymce-angular';
10
10
 
11
11
  class SacButtonComponent extends SacButtonCommon {
@@ -34,165 +34,192 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34
34
  }]
35
35
  }] });
36
36
 
37
- class SacDialogComponent extends SacDialogCommon {
38
- constructor(el, cdRef) {
39
- super(cdRef);
40
- //#region Bootstrap 3 Spezifische Properites
41
- this.zindex = 20002;
42
- this._lastDialogMarginTop = 0;
43
- this.element = el.nativeElement;
44
- }
45
- // Margin Top für Center Position des Dialogs berechnen
46
- get dialogMarginTop() {
47
- let result = 0;
48
- // ContentPlaceholder kann NULL/UNDEFINED sein wenn Dialog nicht angezeigt wird
49
- if (this.dialogElement !== null && this.dialogElement !== undefined) {
50
- result = (this.dialogElement.nativeElement.clientHeight / 2) * -1;
37
+ class SacToControlWidthCssPipe {
38
+ // #region Public Methods
39
+ /**
40
+ * Get CSS classes from label width configuration to set control size
41
+ * @param value Configuration with grid columns for different viewports
42
+ * @returns string with css classe for bootstrap3
43
+ */
44
+ transform(value) {
45
+ const classes = [];
46
+ if (value.labelSizeXs) {
47
+ classes.push('col-xs-' + this.calcControlSize(value.labelSizeXs));
51
48
  }
52
- // Change Detection ausführen, falls Wert nach Rendering noch geändert hat. Kann durch HTML Content / Zeilenumbrüche usw. ausgelöst werden.
53
- if (this._lastDialogMarginTop !== result) {
54
- this._lastDialogMarginTop = result;
55
- this.ChangeDetector.detectChanges();
49
+ if (value.labelSizeSm) {
50
+ classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
56
51
  }
57
- return result;
58
- }
59
- //#endregion
60
- ngOnInit() {
61
- // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
62
- document.body.appendChild(this.element);
52
+ if (value.labelSizeMd) {
53
+ classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
54
+ }
55
+ if (value.labelSizeLg) {
56
+ classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
57
+ }
58
+ return classes.join(' ');
63
59
  }
64
- ngOnDestroy() {
65
- this.hide();
66
- if (document.body.contains(this.element)) {
67
- document.body.removeChild(this.element);
60
+ // #endregion Public Methods
61
+ // #region Private Methods
62
+ /**
63
+ * calculate the control size
64
+ * @param labelsize grid size of label
65
+ * @returns grid size for control. should be between 1 and 12
66
+ */
67
+ calcControlSize(labelsize) {
68
+ if (labelsize === 12) {
69
+ return 12;
68
70
  }
69
- super.ngOnDestroy();
71
+ if (!labelsize) {
72
+ return 12;
73
+ }
74
+ return 12 - labelsize;
70
75
  }
71
- 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 }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDialogComponent, isStandalone: true, selector: "sac-dialog", inputs: { zindex: "zindex" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\r\n <div class=\"modal in\" style=\"display: block;\" tabindex=\"-1\" role=\"dialog\" #dialog>\r\n <div class=\"modal-dialog\" role=\"document\" [style.width]=\"width\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\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 <span class=\"modal-title\">{{title}}</span>\r\n </div>\r\n <div class=\"modal-body\">\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>\r\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDialogComponent, decorators: [{
75
- type: Component,
76
- args: [{ selector: 'sac-dialog', standalone: true, imports: [NgIf, NgStyle], template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\r\n <div class=\"modal in\" style=\"display: block;\" tabindex=\"-1\" role=\"dialog\" #dialog>\r\n <div class=\"modal-dialog\" role=\"document\" [style.width]=\"width\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\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 <span class=\"modal-title\">{{title}}</span>\r\n </div>\r\n <div class=\"modal-body\">\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>\r\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n" }]
77
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { zindex: [{
78
- type: Input
79
- }] } });
80
-
81
- class SACBootstrap3DialogModule {
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
83
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, imports: [CommonModule,
84
- SacDialogComponent], exports: [SacDialogComponent] }); }
85
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, imports: [CommonModule] }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
77
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, isStandalone: true, name: "toControlWidthCss" }); }
86
78
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, decorators: [{
88
- type: NgModule,
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, decorators: [{
80
+ type: Pipe,
89
81
  args: [{
90
- imports: [
91
- CommonModule,
92
- SacDialogComponent
93
- ],
94
- exports: [SacDialogComponent]
82
+ name: 'toControlWidthCss',
83
+ standalone: true,
95
84
  }]
96
85
  }] });
97
86
 
98
- /**
99
- * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
100
- *
101
- * @example Beispiel über Div Container
102
- *
103
- * <div ngForm></div>
104
- *
105
- * @example Beispiel über Form Tag
106
- *
107
- * <form></form>
108
- */
109
- /* eslint @angular-eslint/directive-selector: 0 */
110
- class SacFormDirective extends SacFormCommon {
87
+ class SacToLabelWidthCssPipe {
88
+ // #region Public Methods
111
89
  /**
112
- * Konstruktor
113
- * @param form Instanz von NgForm für eigene automatische Formular Logik
90
+ * Get CSS classes from label width configuration to set label size
91
+ * @param value Configuration with grid columns for different viewports
92
+ * @returns string with css classe for bootstrap3
114
93
  */
115
- constructor(form) {
116
- super(form);
117
- /**
118
- * Setzt die Standard CSS Klasse für auf dem Form Container
119
- */
120
- this.cssClassForm = true;
94
+ transform(value) {
95
+ const classes = [];
96
+ if (value.labelSizeXs) {
97
+ classes.push('col-xs-' + value.labelSizeXs);
98
+ }
99
+ if (value.labelSizeSm) {
100
+ classes.push('col-sm-' + value.labelSizeSm);
101
+ }
102
+ if (value.labelSizeMd) {
103
+ classes.push('col-md-' + value.labelSizeMd);
104
+ }
105
+ if (value.labelSizeLg) {
106
+ classes.push('col-lg-' + value.labelSizeLg);
107
+ }
108
+ return classes.join(' ');
121
109
  }
122
- /**
123
- * Setzt die CSS Klasse 'form-horizontal' wenn die Orientation auf Horizontal eingestellt ist
124
- */
125
- get orientientationHorizontal() { return this.getOrientation() === 'horizontal'; }
126
- /**
127
- * Setzt die CSS Klasse 'form-vertical' wenn die Orientation auf Vertical eingestellt ist
128
- */
129
- get orientientationVertical() { return this.getOrientation() === 'vertical'; }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormDirective, deps: [{ token: i2.NgForm }], target: i0.ɵɵFactoryTarget.Directive }); }
131
- 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 }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelWidthCssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
111
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelWidthCssPipe, isStandalone: true, name: "toLabelWidthCss" }); }
132
112
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormDirective, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelWidthCssPipe, decorators: [{
114
+ type: Pipe,
115
+ args: [{
116
+ name: 'toLabelWidthCss',
117
+ standalone: true,
118
+ }]
119
+ }] });
120
+
121
+ class SacFormLayoutDirective extends SacFormLayoutCommon {
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormLayoutDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
123
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacFormLayoutDirective, isStandalone: true, selector: "[sacFormLayout]", usesInheritance: true, ngImport: i0 }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormLayoutDirective, decorators: [{
134
126
  type: Directive,
135
127
  args: [{
136
- selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
137
- exportAs: 'sacform',
138
- standalone: true
128
+ selector: '[sacFormLayout]',
129
+ standalone: true,
139
130
  }]
140
- }], ctorParameters: function () { return [{ type: i2.NgForm }]; }, propDecorators: { cssClassForm: [{
141
- type: HostBinding,
142
- args: ['class.form']
143
- }], orientientationHorizontal: [{
144
- type: HostBinding,
145
- args: ['class.form-horizontal']
146
- }], orientientationVertical: [{
147
- type: HostBinding,
148
- args: ['class.form-vertical']
149
- }] } });
131
+ }] });
150
132
 
151
133
  class SacCheckboxComponent extends SacCheckboxCommon {
152
- constructor(parent, injector) {
153
- super(parent, injector);
134
+ // #region Constructors
135
+ /**
136
+ * Constructor
137
+ * @param formLayout SacFormLayout to define scoped layout settings
138
+ * @param injector Injector for injecting services
139
+ */
140
+ constructor(formLayout, injector) {
141
+ super(formLayout, injector);
154
142
  }
155
- 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 }); }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacCheckboxComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
156
144
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacCheckboxComponent, isStandalone: true, selector: "sac-checkbox", providers: [
157
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacCheckboxComponent },
158
- { provide: NG_VALIDATORS, useExisting: forwardRef(() => SacCheckboxComponent), multi: true }
159
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div class=\"checkbox\">\r\n <label>\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n class=\"visible-checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"isdisabled\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n />\r\n <ng-container *ngIf=\"checkboxtext\">&nbsp;<span>{{checkboxtext}}</span></ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
145
+ {
146
+ provide: NG_VALUE_ACCESSOR,
147
+ multi: true,
148
+ useExisting: SacCheckboxComponent,
149
+ },
150
+ {
151
+ provide: NG_VALIDATORS,
152
+ useExisting: forwardRef(() => SacCheckboxComponent),
153
+ multi: true,
154
+ },
155
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row\"\r\n [class.form-group]=\"!stacked\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"checkbox\">\r\n <label>\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n class=\"visible-checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"isdisabled\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n />\r\n <ng-container *ngIf=\"checkboxtext\"\r\n >&nbsp;<span>{{checkboxtext}}</span></ng-container\r\n >\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
160
156
  }
161
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacCheckboxComponent, decorators: [{
162
158
  type: Component,
163
159
  args: [{ selector: 'sac-checkbox', providers: [
164
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacCheckboxComponent },
165
- { provide: NG_VALIDATORS, useExisting: forwardRef(() => SacCheckboxComponent), multi: true }
166
- ], standalone: true, imports: [NgClass, NgIf], template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div class=\"checkbox\">\r\n <label>\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n class=\"visible-checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"isdisabled\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n />\r\n <ng-container *ngIf=\"checkboxtext\">&nbsp;<span>{{checkboxtext}}</span></ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
167
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
160
+ {
161
+ provide: NG_VALUE_ACCESSOR,
162
+ multi: true,
163
+ useExisting: SacCheckboxComponent,
164
+ },
165
+ {
166
+ provide: NG_VALIDATORS,
167
+ useExisting: forwardRef(() => SacCheckboxComponent),
168
+ multi: true,
169
+ },
170
+ ], standalone: true, imports: [NgClass, NgIf, SacToLabelWidthCssPipe, SacToControlWidthCssPipe], template: "<div\r\n class=\"row\"\r\n [class.form-group]=\"!stacked\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"checkbox\">\r\n <label>\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n class=\"visible-checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"isdisabled\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n />\r\n <ng-container *ngIf=\"checkboxtext\"\r\n >&nbsp;<span>{{checkboxtext}}</span></ng-container\r\n >\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
171
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
168
172
  type: Host
169
173
  }, {
170
174
  type: Optional
171
175
  }] }, { type: i0.Injector }]; } });
172
176
 
173
177
  class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
174
- constructor(parent, injector) {
175
- super(parent, injector);
178
+ // #region Constructors
179
+ /**
180
+ * Constructor
181
+ * @param formLayout SacFormLayout to define scoped layout settings
182
+ * @param injector Injector for injecting services
183
+ */
184
+ constructor(formLayout, injector) {
185
+ super(formLayout, injector);
176
186
  }
177
- 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 }); }
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacRadiobuttonsComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
178
188
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacRadiobuttonsComponent, isStandalone: true, selector: "sac-radiobuttons", providers: [
179
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SacRadiobuttonsComponent), multi: true },
180
- { provide: NG_VALIDATORS, useExisting: forwardRef(() => SacRadiobuttonsComponent), multi: true }
181
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\r\n <label *ngIf=\"disablelabel === false\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div>\r\n <ng-content></ng-content>\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"] }] }); }
189
+ {
190
+ provide: NG_VALUE_ACCESSOR,
191
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
192
+ multi: true,
193
+ },
194
+ {
195
+ provide: NG_VALIDATORS,
196
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
197
+ multi: true,
198
+ },
199
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\">\r\n <label\r\n *ngIf=\"disablelabel === false\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div>\r\n <ng-content></ng-content>\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"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
182
200
  }
183
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacRadiobuttonsComponent, decorators: [{
184
202
  type: Component,
185
203
  args: [{ selector: 'sac-radiobuttons', providers: [
186
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SacRadiobuttonsComponent), multi: true },
187
- { provide: NG_VALIDATORS, useExisting: forwardRef(() => SacRadiobuttonsComponent), multi: true }
188
- ], standalone: true, imports: [NgIf, NgClass], template: "<div class=\"form-group\">\r\n <label *ngIf=\"disablelabel === false\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
189
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
204
+ {
205
+ provide: NG_VALUE_ACCESSOR,
206
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
207
+ multi: true,
208
+ },
209
+ {
210
+ provide: NG_VALIDATORS,
211
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
212
+ multi: true,
213
+ },
214
+ ], standalone: true, imports: [NgIf, NgClass, SacToLabelWidthCssPipe, SacToControlWidthCssPipe], template: "<div class=\"row form-group\">\r\n <label\r\n *ngIf=\"disablelabel === false\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
215
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
190
216
  type: Host
191
217
  }, {
192
218
  type: Optional
193
219
  }] }, { type: i0.Injector }]; } });
194
220
 
195
221
  class SacRadiobuttonComponent extends SacRadiobuttonCommon {
222
+ // #region Constructors
196
223
  constructor(sacRadioButtons) {
197
224
  super(sacRadioButtons);
198
225
  }
@@ -223,207 +250,535 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
223
250
  }]
224
251
  }] });
225
252
 
226
- class SacDropdownComponent extends SacDropdownCommon {
227
- constructor(parent, injector, _renderer, _elementRef) {
228
- super(parent, injector, _renderer, _elementRef);
253
+ class SacDialogComponent extends SacDialogCommon {
254
+ constructor(el, cdRef) {
255
+ super(cdRef);
256
+ //#region Bootstrap 3 Spezifische Properites
257
+ this.zindex = 20002;
258
+ this._lastDialogMarginTop = 0;
259
+ this.element = el.nativeElement;
229
260
  }
230
- 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 }); }
231
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDropdownComponent, isStandalone: true, selector: "sac-dropdown", providers: [
232
- {
233
- provide: NG_VALUE_ACCESSOR,
234
- multi: true,
235
- useExisting: SacDropdownComponent,
236
- },
237
- {
238
- provide: NG_VALIDATORS,
239
- multi: true,
240
- useExisting: forwardRef(() => SacDropdownComponent),
241
- },
242
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <select #dropdownitem id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\"\r\n (blur)=\"onTouch()\" (change)=\"setValue(dropdownitem.value)\" [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\r\n </select>\r\n <div class=\"help-block help-block-error\" *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: "ngmodule", type: i0.forwardRef(function () { return FormsModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSelectOption; }), selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ɵNgSelectMultipleOption; }), selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i0.forwardRef(function () { return SacDropdownOptionDirective; }), selector: "option,[sacOption]" }, { 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" }] }); }
243
- }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownComponent, decorators: [{
245
- type: Component,
246
- args: [{ selector: 'sac-dropdown', providers: [
247
- {
248
- provide: NG_VALUE_ACCESSOR,
249
- multi: true,
250
- useExisting: SacDropdownComponent,
251
- },
252
- {
253
- provide: NG_VALIDATORS,
254
- multi: true,
255
- useExisting: forwardRef(() => SacDropdownComponent),
256
- },
257
- ], standalone: true, imports: [
258
- NgClass,
259
- NgIf,
260
- FormsModule,
261
- forwardRef(() => SacDropdownOptionDirective),
262
- NgFor,
263
- NgTemplateOutlet,
264
- AsyncPipe,
265
- ], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <select #dropdownitem id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\"\r\n (blur)=\"onTouch()\" (change)=\"setValue(dropdownitem.value)\" [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\r\n </select>\r\n <div class=\"help-block help-block-error\" *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" }]
266
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
267
- type: Host
268
- }, {
269
- type: Optional
270
- }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
271
- class SacDropdownOptionDirective extends SacDropdownOptionCommon {
272
- constructor(_elementRef, _renderer, dropdownList) {
273
- super(_elementRef, _renderer, dropdownList);
261
+ // Margin Top für Center Position des Dialogs berechnen
262
+ get dialogMarginTop() {
263
+ let result = 0;
264
+ // ContentPlaceholder kann NULL/UNDEFINED sein wenn Dialog nicht angezeigt wird
265
+ if (this.dialogElement !== null && this.dialogElement !== undefined) {
266
+ result = (this.dialogElement.nativeElement.clientHeight / 2) * -1;
267
+ }
268
+ // Change Detection ausführen, falls Wert nach Rendering noch geändert hat. Kann durch HTML Content / Zeilenumbrüche usw. ausgelöst werden.
269
+ if (this._lastDialogMarginTop !== result) {
270
+ this._lastDialogMarginTop = result;
271
+ this.ChangeDetector.detectChanges();
272
+ }
273
+ return result;
274
274
  }
275
- 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 }); }
276
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacDropdownOptionDirective, isStandalone: true, selector: "option,[sacOption]", usesInheritance: true, ngImport: i0 }); }
275
+ //#endregion
276
+ ngOnInit() {
277
+ // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
278
+ document.body.appendChild(this.element);
279
+ }
280
+ ngOnDestroy() {
281
+ this.hide();
282
+ if (document.body.contains(this.element)) {
283
+ document.body.removeChild(this.element);
284
+ }
285
+ super.ngOnDestroy();
286
+ }
287
+ 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 }); }
288
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDialogComponent, isStandalone: true, selector: "sac-dialog", inputs: { zindex: "zindex" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\r\n <div class=\"modal in\" style=\"display: block;\" tabindex=\"-1\" role=\"dialog\" #dialog>\r\n <div class=\"modal-dialog\" role=\"document\" [style.width]=\"width\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\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 <span class=\"modal-title\">{{title}}</span>\r\n </div>\r\n <div class=\"modal-body\">\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>\r\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
277
289
  }
278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownOptionDirective, decorators: [{
279
- type: Directive,
280
- args: [{
281
- selector: 'option,[sacOption]',
282
- standalone: true,
283
- }]
284
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SacDropdownComponent, decorators: [{
285
- type: Optional
286
- }, {
287
- type: Host
288
- }] }]; } });
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDialogComponent, decorators: [{
291
+ type: Component,
292
+ args: [{ selector: 'sac-dialog', standalone: true, imports: [NgIf, NgStyle], template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\r\n <div class=\"modal in\" style=\"display: block;\" tabindex=\"-1\" role=\"dialog\" #dialog>\r\n <div class=\"modal-dialog\" role=\"document\" [style.width]=\"width\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\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 <span class=\"modal-title\">{{title}}</span>\r\n </div>\r\n <div class=\"modal-body\">\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>\r\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n" }]
293
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { zindex: [{
294
+ type: Input
295
+ }] } });
289
296
 
290
- class SacListboxComponent extends SacListboxCommon {
291
- constructor(parent, injector) {
292
- super(parent, injector);
293
- }
294
- 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 }); }
295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacListboxComponent, isStandalone: true, selector: "sac-listbox", providers: [
296
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacListboxComponent },
297
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacListboxComponent) }
298
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <!-- <div class=\"col-12\" [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"> -->\r\n <select multiple id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\" [size]=\"rowsize\"\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\">\r\n\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: option[optionlabel] }\">\r\n </ng-template>\r\n\r\n </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\">\r\n\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel] }\">\r\n </ng-template>\r\n\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div class=\"help-block help-block-error\" *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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: SacDropdownOptionDirective, selector: "option,[sacOption]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
297
+ class SacConfirmComponent extends SacConfirmCommon {
298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
299
+ 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 [(isvisible)]=\"isvisible\" [title]=\"title\" [allowesc]=\"false\" [closebutton]=\"false\">\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\r\n <img [attr.src]=\"image\" />\r\n </div>\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <div dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button [name]=\"button.key\" [text]=\"button.text\" (clicked)=\"confirm(button.key)\" style=\"margin-left: 15px;\"></sac-button>\r\n </ng-container>\r\n </div>\r\n</sac-dialog>\r\n", dependencies: [{ kind: "component", type: SacDialogComponent, selector: "sac-dialog", inputs: ["zindex"] }, { 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" }] }); }
299
300
  }
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxComponent, decorators: [{
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacConfirmComponent, decorators: [{
301
302
  type: Component,
302
- args: [{ selector: 'sac-listbox', providers: [
303
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacListboxComponent },
304
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacListboxComponent) }
305
- ], standalone: true, imports: [NgClass, NgIf, NgFor, FormsModule, SacDropdownOptionDirective, NgTemplateOutlet, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <!-- <div class=\"col-12\" [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"> -->\r\n <select multiple id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\" [size]=\"rowsize\"\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\">\r\n\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: option[optionlabel] }\">\r\n </ng-template>\r\n\r\n </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\">\r\n\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel] }\">\r\n </ng-template>\r\n\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div class=\"help-block help-block-error\" *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" }]
306
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
307
- type: Host
308
- }, {
309
- type: Optional
310
- }] }, { type: i0.Injector }]; } });
303
+ args: [{ selector: 'sac-confirm', standalone: true, imports: [SacDialogComponent, NgIf, NgFor, SacButtonComponent], template: "<sac-dialog [(isvisible)]=\"isvisible\" [title]=\"title\" [allowesc]=\"false\" [closebutton]=\"false\">\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\r\n <img [attr.src]=\"image\" />\r\n </div>\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <div dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button [name]=\"button.key\" [text]=\"button.text\" (clicked)=\"confirm(button.key)\" style=\"margin-left: 15px;\"></sac-button>\r\n </ng-container>\r\n </div>\r\n</sac-dialog>\r\n" }]
304
+ }] });
311
305
 
312
- class SACBootstrap3ListModule {
313
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
314
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, imports: [CommonModule,
315
- FormsModule,
316
- SacDropdownComponent,
317
- SacDropdownOptionDirective,
318
- SacListboxComponent], exports: [SacDropdownComponent,
319
- SacDropdownOptionDirective,
320
- SacListboxComponent] }); }
321
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, imports: [CommonModule,
322
- FormsModule,
323
- SacDropdownComponent,
324
- SacListboxComponent] }); }
306
+ /**
307
+ * Service für Confirm Messages in TypeScript Code
308
+ *
309
+ * @example
310
+ * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
311
+ * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
312
+ *
313
+ * @example
314
+ * // Beispiel für ConfirmMessage mit eigenen Buttons
315
+ * let buttons: SacConfirmButton[] = [];
316
+ * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
317
+ * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
318
+ * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
319
+ */
320
+ class ServiceConfirm extends ServiceConfirmCommon {
321
+ /**
322
+ * Konstruktor
323
+ * @param componentFactoryResolver Component Factory Resolver Instanz
324
+ * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
325
+ * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
326
+ */
327
+ constructor(componentFactoryResolver, appRef, injector) {
328
+ super(appRef, injector);
329
+ this.componentFactoryResolver = componentFactoryResolver;
330
+ /**
331
+ * Titel der im Dialog angezeigt werden soll.
332
+ */
333
+ this.title = '';
334
+ /**
335
+ * Message die in Dialog angezeigt werden soll.
336
+ */
337
+ this.message = '';
338
+ /**
339
+ * Collection von Buttons die angezeigt werden müssen.
340
+ */
341
+ this.buttons = [];
342
+ }
343
+ /**
344
+ * Erzeugen einer Component Factory für einen Dialog
345
+ */
346
+ GetComponentFactory() {
347
+ return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
348
+ }
349
+ /**
350
+ * Konfiguration des Dialogs
351
+ * @param instance Instanz eines SacConfirm Dialogs
352
+ */
353
+ ConfigureDialog(instance) {
354
+ // Text in Dialog setzen
355
+ instance.title = this.title;
356
+ instance.message = this.message;
357
+ instance.buttons = this.buttons;
358
+ instance.image = this.iconService.ConfirmDefaultImage;
359
+ }
360
+ /**
361
+ * Confirm Dialog anzeigen
362
+ * @param message Nachricht die angezeigt werden soll.
363
+ * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
364
+ */
365
+ ConfirmMessage(title, message, buttons = null) {
366
+ this.title = title;
367
+ this.message = message;
368
+ // Default Buttons setzen, wenn keine Buttons angegeben sind
369
+ if (!isDefined(buttons)) {
370
+ // TODO: Text von Localisation Service beziehen
371
+ this.buttons = [];
372
+ this.buttons.push(new SacConfirmButton('yes', 'Ja'));
373
+ this.buttons.push(new SacConfirmButton('no', 'Nein'));
374
+ }
375
+ else {
376
+ this.buttons = buttons;
377
+ }
378
+ return super.Confirm();
379
+ }
380
+ 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 }); }
381
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceConfirm }); }
325
382
  }
326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, decorators: [{
383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceConfirm, decorators: [{
384
+ type: Injectable
385
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver, decorators: [{
386
+ type: Inject,
387
+ args: [ComponentFactoryResolver]
388
+ }] }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
389
+
390
+ /**
391
+ * Module für Confirm Messages
392
+ *
393
+ * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap3ConfirmModule.forRoot()
394
+ *
395
+ */
396
+ class SACBootstrap3ConfirmModule {
397
+ static forRoot() {
398
+ return {
399
+ ngModule: SACBootstrap3ConfirmModule,
400
+ providers: [ServiceConfirm],
401
+ };
402
+ }
403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
404
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule, imports: [SacConfirmComponent], exports: [SacConfirmComponent] }); }
405
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule }); }
406
+ }
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule, decorators: [{
408
+ type: NgModule,
409
+ args: [{
410
+ imports: [SacConfirmComponent],
411
+ exports: [SacConfirmComponent],
412
+ }]
413
+ }] });
414
+
415
+ class SacDateSelectorComponent extends SacDateSelectorCommon {
416
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
417
+ 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\" style=\"min-width: 265px\">\r\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\r\n <thead>\r\n <tr>\r\n <th class=\"prev text-left\" (click)=\"monthBack()\">\r\n <i [class]=\"iconMonthPrev\"></i>\r\n </th>\r\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\r\n <th class=\"next text-right\" (click)=\"monthNext()\">\r\n <i [class]=\"iconMonthNext\"></i>\r\n </th>\r\n </tr>\r\n <tr>\r\n <th class=\"dow text-center\">Mo</th>\r\n <th class=\"dow text-center\">Di</th>\r\n <th class=\"dow text-center\">Mi</th>\r\n <th class=\"dow text-center\">Do</th>\r\n <th class=\"dow text-center\">Fr</th>\r\n <th class=\"dow text-center\">Sa</th>\r\n <th class=\"dow text-center\">So</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <tr>\r\n <td\r\n class=\"text-center\"\r\n *ngFor=\"let item of week\"\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 </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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=\"col-md-6\" style=\"padding-left: 20px\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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>\r\n <div class=\"row\" style=\"margin-top: 10px\">\r\n <div class=\"col-md-4 text-left\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"col-md-8 text-right\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\r\n Reset\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n style=\"margin-left: 10px\"\r\n (click)=\"applySelection()\"\r\n >\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"] }] }); }
418
+ }
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateSelectorComponent, decorators: [{
420
+ type: Component,
421
+ args: [{ selector: 'sac-dateselector', standalone: true, imports: [NgIf, NgFor, NgStyle, NgClass], template: "<div class=\"calendar-selector\" style=\"min-width: 265px\">\r\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\r\n <thead>\r\n <tr>\r\n <th class=\"prev text-left\" (click)=\"monthBack()\">\r\n <i [class]=\"iconMonthPrev\"></i>\r\n </th>\r\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\r\n <th class=\"next text-right\" (click)=\"monthNext()\">\r\n <i [class]=\"iconMonthNext\"></i>\r\n </th>\r\n </tr>\r\n <tr>\r\n <th class=\"dow text-center\">Mo</th>\r\n <th class=\"dow text-center\">Di</th>\r\n <th class=\"dow text-center\">Mi</th>\r\n <th class=\"dow text-center\">Do</th>\r\n <th class=\"dow text-center\">Fr</th>\r\n <th class=\"dow text-center\">Sa</th>\r\n <th class=\"dow text-center\">So</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <tr>\r\n <td\r\n class=\"text-center\"\r\n *ngFor=\"let item of week\"\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 </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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=\"col-md-6\" style=\"padding-left: 20px\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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>\r\n <div class=\"row\" style=\"margin-top: 10px\">\r\n <div class=\"col-md-4 text-left\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"col-md-8 text-right\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\r\n Reset\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n style=\"margin-left: 10px\"\r\n (click)=\"applySelection()\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
422
+ }] });
423
+
424
+ const moment = moment_['default'];
425
+ class SacDateComponent extends SacDateCommon {
426
+ // #region Constructors
427
+ /**
428
+ * Constructor
429
+ * @param formLayout SacFormLayout to define scoped layout settings
430
+ * @param injector Injector for injecting services
431
+ * @param elementRef Reference to html dom element
432
+ */
433
+ constructor(formLayout, injector, elementRef) {
434
+ super(formLayout, injector, elementRef);
435
+ }
436
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
437
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDateComponent, isStandalone: true, selector: "sac-date", providers: [
438
+ {
439
+ provide: NG_VALUE_ACCESSOR,
440
+ multi: true,
441
+ useExisting: forwardRef(() => SacDateComponent),
442
+ },
443
+ {
444
+ provide: NG_VALIDATORS,
445
+ multi: true,
446
+ useExisting: forwardRef(() => SacDateComponent),
447
+ },
448
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\r\n <input\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control date-control\"\r\n [imask]=\"imaskDate\"\r\n placeholder=\"dd.mm.yyyy\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n maxlength=\"10\"\r\n size=\"10\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
449
+ }
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateComponent, decorators: [{
451
+ type: Component,
452
+ args: [{ selector: 'sac-date', providers: [
453
+ {
454
+ provide: NG_VALUE_ACCESSOR,
455
+ multi: true,
456
+ useExisting: forwardRef(() => SacDateComponent),
457
+ },
458
+ {
459
+ provide: NG_VALIDATORS,
460
+ multi: true,
461
+ useExisting: forwardRef(() => SacDateComponent),
462
+ },
463
+ ], standalone: true, imports: [
464
+ NgClass,
465
+ NgIf,
466
+ IMaskDirective,
467
+ SacDateSelectorComponent,
468
+ AsyncPipe,
469
+ SacToLabelWidthCssPipe,
470
+ SacToControlWidthCssPipe,
471
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\r\n <input\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control date-control\"\r\n [imask]=\"imaskDate\"\r\n placeholder=\"dd.mm.yyyy\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n maxlength=\"10\"\r\n size=\"10\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
472
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
473
+ type: Host
474
+ }, {
475
+ type: Optional
476
+ }] }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
477
+
478
+ class SacDateTimeComponent extends SacDateTimeCommon {
479
+ // #region Constructors
480
+ /**
481
+ * Constructor
482
+ * @param formLayout SacFormLayout to define scoped layout settings
483
+ * @param injector Injector for injecting services
484
+ * @param elementRef Reference to html dom element
485
+ */
486
+ constructor(formLayout, injector, elementRef) {
487
+ super(formLayout, injector, elementRef);
488
+ }
489
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateTimeComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
490
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDateTimeComponent, isStandalone: true, selector: "sac-datetime", providers: [
491
+ {
492
+ provide: NG_VALUE_ACCESSOR,
493
+ multi: true,
494
+ useExisting: forwardRef(() => SacDateTimeComponent),
495
+ },
496
+ {
497
+ provide: NG_VALIDATORS,
498
+ multi: true,
499
+ useExisting: forwardRef(() => SacDateTimeComponent),
500
+ },
501
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div style=\"position: relative; width: 180px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
502
+ }
503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateTimeComponent, decorators: [{
504
+ type: Component,
505
+ args: [{ selector: 'sac-datetime', providers: [
506
+ {
507
+ provide: NG_VALUE_ACCESSOR,
508
+ multi: true,
509
+ useExisting: forwardRef(() => SacDateTimeComponent),
510
+ },
511
+ {
512
+ provide: NG_VALIDATORS,
513
+ multi: true,
514
+ useExisting: forwardRef(() => SacDateTimeComponent),
515
+ },
516
+ ], standalone: true, imports: [
517
+ NgClass,
518
+ NgIf,
519
+ IMaskDirective,
520
+ SacDateSelectorComponent,
521
+ AsyncPipe,
522
+ SacToLabelWidthCssPipe,
523
+ SacToControlWidthCssPipe,
524
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div style=\"position: relative; width: 180px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
525
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
526
+ type: Host
527
+ }, {
528
+ type: Optional
529
+ }] }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
530
+
531
+ class SacTimeComponent extends SacTimeCommon {
532
+ // #region Constructors
533
+ /**
534
+ * Constructor
535
+ * @param formLayout SacFormLayout to define scoped layout settings
536
+ * @param injector Injector for injecting services
537
+ * @param elementRef Reference to html dom element
538
+ */
539
+ constructor(formLayout, injector, elementRef) {
540
+ super(formLayout, injector, elementRef);
541
+ }
542
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTimeComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
543
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTimeComponent, isStandalone: true, selector: "sac-time", providers: [
544
+ {
545
+ provide: NG_VALUE_ACCESSOR,
546
+ multi: true,
547
+ useExisting: forwardRef(() => SacTimeComponent),
548
+ },
549
+ {
550
+ provide: NG_VALIDATORS,
551
+ multi: true,
552
+ useExisting: forwardRef(() => SacTimeComponent),
553
+ },
554
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n [value]=\"valuestring\"\r\n maxlength=\"6\"\r\n [imask]=\"imaskDate\"\r\n size=\"6\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n data-error-msg=\"ctl00_cphContent_ctl00_ucPublicationDetail_dtpValidFrom_timeTextBoxTypeValidator\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
555
+ }
556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTimeComponent, decorators: [{
557
+ type: Component,
558
+ args: [{ selector: 'sac-time', providers: [
559
+ {
560
+ provide: NG_VALUE_ACCESSOR,
561
+ multi: true,
562
+ useExisting: forwardRef(() => SacTimeComponent),
563
+ },
564
+ {
565
+ provide: NG_VALIDATORS,
566
+ multi: true,
567
+ useExisting: forwardRef(() => SacTimeComponent),
568
+ },
569
+ ], standalone: true, imports: [
570
+ NgClass,
571
+ NgIf,
572
+ IMaskDirective,
573
+ SacDateSelectorComponent,
574
+ AsyncPipe,
575
+ SacToLabelWidthCssPipe,
576
+ SacToControlWidthCssPipe,
577
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n [value]=\"valuestring\"\r\n maxlength=\"6\"\r\n [imask]=\"imaskDate\"\r\n size=\"6\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n data-error-msg=\"ctl00_cphContent_ctl00_ucPublicationDetail_dtpValidFrom_timeTextBoxTypeValidator\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
578
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
579
+ type: Host
580
+ }, {
581
+ type: Optional
582
+ }] }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
583
+
584
+ class SACBootstrap3DateTimeModule {
585
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
586
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, imports: [CommonModule, IMaskModule,
587
+ SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent], exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent] }); }
588
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, imports: [CommonModule, IMaskModule] }); }
589
+ }
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, decorators: [{
327
591
  type: NgModule,
328
592
  args: [{
329
593
  imports: [
330
- CommonModule,
331
- FormsModule,
332
- SacDropdownComponent,
333
- SacDropdownOptionDirective,
334
- SacListboxComponent,
594
+ CommonModule, IMaskModule,
595
+ SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent
335
596
  ],
336
- exports: [
337
- SacDropdownComponent,
338
- SacDropdownOptionDirective,
339
- SacListboxComponent,
597
+ exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent]
598
+ }]
599
+ }] });
600
+
601
+ class SACBootstrap3DialogModule {
602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
603
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, imports: [CommonModule,
604
+ SacDialogComponent], exports: [SacDialogComponent] }); }
605
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, imports: [CommonModule] }); }
606
+ }
607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DialogModule, decorators: [{
608
+ type: NgModule,
609
+ args: [{
610
+ imports: [
611
+ CommonModule,
612
+ SacDialogComponent
340
613
  ],
614
+ exports: [SacDialogComponent]
341
615
  }]
342
616
  }] });
343
617
 
344
- class SacValidationSummaryComponent extends SacValidationSummaryCommon {
345
- constructor(parent, injector) {
346
- super(parent, injector);
618
+ class SacPagingComponent extends SacPagingCommon {
619
+ /**
620
+ * Konstruktor
621
+ */
622
+ constructor(injector) { super(injector); }
623
+ 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 }); }
624
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacPagingComponent, isStandalone: true, selector: "sac-paging", providers: [
625
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
626
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
627
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"pager-nav col-sm-9\" id=\"{{name}}\">\r\n <ul class=\"pagination\" style=\"margin: 10px 0\">\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-sm-3 text-right\" style=\"margin: 20px 0\">\r\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\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"] }] }); }
628
+ }
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacPagingComponent, decorators: [{
630
+ type: Component,
631
+ args: [{ selector: 'sac-paging', providers: [
632
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
633
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
634
+ ], standalone: true, imports: [NgClass, NgFor], template: "<div class=\"row\">\r\n <div class=\"pager-nav col-sm-9\" id=\"{{name}}\">\r\n <ul class=\"pagination\" style=\"margin: 10px 0\">\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-sm-3 text-right\" style=\"margin: 20px 0\">\r\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\r\n </div>\r\n</div>\r\n" }]
635
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
636
+
637
+ class SacGridComponent extends SacGridCommon {
638
+ constructor() {
639
+ super(...arguments);
640
+ this.ellipsis = false;
347
641
  }
348
- 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 }); }
349
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacValidationSummaryComponent, isStandalone: true, selector: "sac-validationsummary", providers: [
642
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
643
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridComponent, isStandalone: true, selector: "sac-grid", providers: [
644
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
645
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
646
+ ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<table class=\"table table-striped table-condensed table-hover\" id={{name}}>\r\n <thead>\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\" [pagingtext]=\"pagingtext\" [pagesizetext]=\"pagesizetext\"></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\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" }] }); }
647
+ }
648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridComponent, decorators: [{
649
+ type: Component,
650
+ args: [{ selector: 'sac-grid', providers: [
651
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
652
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
653
+ ], standalone: true, imports: [NgTemplateOutlet, NgFor, NgIf, SacPagingComponent], template: "<table class=\"table table-striped table-condensed table-hover\" id={{name}}>\r\n <thead>\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\" [pagingtext]=\"pagingtext\" [pagesizetext]=\"pagesizetext\"></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n" }]
654
+ }], propDecorators: { template: [{
655
+ type: ContentChild,
656
+ args: [TemplateRef, { static: true }]
657
+ }] } });
658
+
659
+ class SacGridColumnComponent extends SacGridColumnCommon {
660
+ constructor(grid, injector, el) {
661
+ super(grid, injector, el);
662
+ }
663
+ 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 }); }
664
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridColumnComponent, isStandalone: true, selector: "sac-gridcolumn", providers: [
350
665
  {
351
- provide: NG_VALUE_ACCESSOR,
352
- multi: true,
353
- useExisting: SacValidationSummaryComponent
666
+ provide: SacGridColumnBaseCommon,
667
+ useExisting: forwardRef(() => SacGridColumnComponent),
668
+ },
669
+ ], 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]=\"IconSortUp\"\r\n style=\"padding-left: 0.5rem\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n [class]=\"IconSortDown\"\r\n style=\"padding-left: 0.5rem\"\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"] }] }); }
670
+ }
671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridColumnComponent, decorators: [{
672
+ type: Component,
673
+ args: [{ selector: 'sac-gridcolumn', providers: [
674
+ {
675
+ provide: SacGridColumnBaseCommon,
676
+ useExisting: forwardRef(() => SacGridColumnComponent),
677
+ },
678
+ ], 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]=\"IconSortUp\"\r\n style=\"padding-left: 0.5rem\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n [class]=\"IconSortDown\"\r\n style=\"padding-left: 0.5rem\"\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" }]
679
+ }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
680
+
681
+ /**
682
+ * Grid Action Button
683
+ *
684
+ * @example Standard Action
685
+ *
686
+ * <ngGridButton icon="edit" (clicked)="action('edit')" [isdisabled]="true"></ngGridButton>
687
+ *
688
+ * @example Custom Action
689
+ *
690
+ * <ngGridButton iconstyle="sprite" icon="icon-sprite-base-main_info" (clicked)="action('info')"></ngGridButton>
691
+ *
692
+ */
693
+ class SacGridButtonComponent extends SacGridButtonCommon {
694
+ /**
695
+ * Gibt das Icon für den Button zurück
696
+ */
697
+ getIconClass() {
698
+ let iconset = this.iconstyle;
699
+ let iconcss = this.icon;
700
+ if (iconset === '') {
701
+ switch (this.icon) {
702
+ case 'edit':
703
+ iconset = 'sprite';
704
+ iconcss = 'icon-sprite-base-main_edit';
705
+ break;
706
+ case 'delete':
707
+ iconset = 'sprite';
708
+ iconcss = 'icon-sprite-base-main_delete';
709
+ break;
354
710
  }
355
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\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: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
711
+ }
712
+ if (this._isdisabledvalue) {
713
+ iconcss += '_disabled';
714
+ }
715
+ const result = iconset + ' ' + iconcss;
716
+ return result.trim();
717
+ }
718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
719
+ 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" }); }
356
720
  }
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacValidationSummaryComponent, decorators: [{
721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridButtonComponent, decorators: [{
358
722
  type: Component,
359
- args: [{ selector: 'sac-validationsummary', providers: [
360
- {
361
- provide: NG_VALUE_ACCESSOR,
362
- multi: true,
363
- useExisting: SacValidationSummaryComponent
364
- }
365
- ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [NgIf, NgFor, AsyncPipe], template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\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" }]
366
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
367
- type: Host
368
- }, {
369
- type: Optional
370
- }] }, { type: i0.Injector }]; } });
371
-
372
- class SACBootstrap3ValidationSummaryModule {
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
374
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, imports: [CommonModule,
375
- SacValidationSummaryComponent], exports: [SacValidationSummaryComponent] }); }
376
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, imports: [CommonModule] }); }
377
- }
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, decorators: [{
379
- type: NgModule,
380
- args: [{
381
- imports: [
382
- CommonModule,
383
- SacValidationSummaryComponent
384
- ],
385
- exports: [SacValidationSummaryComponent]
386
- }]
723
+ 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" }]
387
724
  }] });
388
725
 
389
- class SacTabItemComponent extends SacTabItemCommon {
390
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
391
- 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\"\r\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
726
+ class SacGridColumnActionComponent extends SacGridColumnActionCommon {
727
+ constructor(grid, injector, el) {
728
+ super(grid, injector, el);
729
+ this.width = '52px';
730
+ }
731
+ 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 }); }
732
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridColumnActionComponent, isStandalone: true, selector: "sac-gridcolumnaction", providers: [
733
+ {
734
+ provide: SacGridColumnBaseCommon,
735
+ useExisting: forwardRef(() => SacGridColumnActionComponent),
736
+ },
737
+ ], usesInheritance: true, ngImport: i0, template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
392
738
  }
393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabItemComponent, decorators: [{
739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridColumnActionComponent, decorators: [{
394
740
  type: Component,
395
- args: [{ selector: 'sac-tabitem', standalone: true, imports: [NgIf, NgTemplateOutlet], template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\"\r\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n\r\n" }]
396
- }] });
741
+ args: [{ selector: 'sac-gridcolumnaction', providers: [
742
+ {
743
+ provide: SacGridColumnBaseCommon,
744
+ useExisting: forwardRef(() => SacGridColumnActionComponent),
745
+ },
746
+ ], standalone: true, imports: [NgIf], template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n" }]
747
+ }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
397
748
 
398
- class SacTabComponent extends SacTabCommon {
399
- tabItems() {
400
- return this._tabItems.toArray();
749
+ class SacGridImageComponent extends SacGridImageCommon {
750
+ getIconClass() {
751
+ switch (this.iconstyle) {
752
+ case 'edit':
753
+ return 'sprite icon-sprite-base-main_edit';
754
+ case 'delete':
755
+ return 'sprite icon-sprite-base-main_delete';
756
+ default:
757
+ return this.iconstyle;
758
+ }
401
759
  }
402
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
403
- 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 [id]=\"name\" class=\"content-nav-tabs\">\r\n <ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li\r\n *ngFor=\"let item of _tabItems\"\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 >\r\n <a [id]=\"GetTabItemButtonId(item._id)\" role=\"tab\">\r\n <ng-template\r\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\r\n >\r\n </ng-template>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content\" style=\"margin-top: 15px\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\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"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
760
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
761
+ 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 style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\r\n" }); }
404
762
  }
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, decorators: [{
763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridImageComponent, decorators: [{
406
764
  type: Component,
407
- args: [{ selector: 'sac-tab', standalone: true, imports: [NgFor, NgClass, NgStyle, NgTemplateOutlet], template: "<!-- Nav tabs -->\r\n<div [id]=\"name\" class=\"content-nav-tabs\">\r\n <ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li\r\n *ngFor=\"let item of _tabItems\"\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 >\r\n <a [id]=\"GetTabItemButtonId(item._id)\" role=\"tab\">\r\n <ng-template\r\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\r\n >\r\n </ng-template>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content\" style=\"margin-top: 15px\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n" }]
408
- }], propDecorators: { _tabItems: [{
409
- type: ContentChildren,
410
- args: [SacTabItemComponent]
411
- }] } });
765
+ args: [{ selector: 'sac-gridimage', standalone: true, template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\r\n" }]
766
+ }] });
412
767
 
413
- class SACBootstrap3TabsModule {
414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
415
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, imports: [CommonModule,
416
- SacTabComponent, SacTabItemComponent], exports: [SacTabComponent, SacTabItemComponent] }); }
417
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, imports: [CommonModule] }); }
768
+ class SACBootstrap3GridModule {
769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
770
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, imports: [CommonModule,
771
+ SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent], exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent] }); }
772
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, imports: [CommonModule] }); }
418
773
  }
419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, decorators: [{
774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, decorators: [{
420
775
  type: NgModule,
421
776
  args: [{
422
777
  imports: [
423
778
  CommonModule,
424
- SacTabComponent, SacTabItemComponent
779
+ SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent
425
780
  ],
426
- exports: [SacTabComponent, SacTabItemComponent]
781
+ exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent]
427
782
  }]
428
783
  }] });
429
784
 
@@ -481,22 +836,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
481
836
  }] });
482
837
 
483
838
  class SacInputComponent extends SacInputCommon {
484
- constructor(parent, injector) {
485
- super(parent, injector);
839
+ // #region Constructors
840
+ /**
841
+ * Constructor
842
+ * @param formLayout SacFormLayout to define scoped layout settings
843
+ * @param injector Injector for injecting services
844
+ */
845
+ constructor(formLayout, injector) {
846
+ super(formLayout, injector);
486
847
  }
487
- 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 }); }
848
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
488
849
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputComponent, isStandalone: true, selector: "sac-input", providers: [
489
850
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
490
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputComponent) }
491
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" [ngClass]=\"{'language-specific': islanguagespecific }\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n </div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
851
+ {
852
+ provide: NG_VALIDATORS,
853
+ multi: true,
854
+ useExisting: forwardRef(() => SacInputComponent),
855
+ },
856
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
492
857
  }
493
858
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputComponent, decorators: [{
494
859
  type: Component,
495
860
  args: [{ selector: 'sac-input', providers: [
496
861
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
497
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputComponent) }
498
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" [ngClass]=\"{'language-specific': islanguagespecific }\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n </div>\r\n" }]
499
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
862
+ {
863
+ provide: NG_VALIDATORS,
864
+ multi: true,
865
+ useExisting: forwardRef(() => SacInputComponent),
866
+ },
867
+ ], standalone: true, imports: [
868
+ NgClass,
869
+ NgIf,
870
+ AsyncPipe,
871
+ SacToLabelWidthCssPipe,
872
+ SacToControlWidthCssPipe,
873
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
874
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
500
875
  type: Host
501
876
  }, {
502
877
  type: Optional
@@ -515,284 +890,737 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
515
890
  *
516
891
  */
517
892
  class SacInputAreaComponent extends SacInputAreaCommon {
518
- constructor(parent, injector) {
519
- super(parent, injector);
893
+ // #region Constructors
894
+ /**
895
+ * Constructor
896
+ * @param formLayout SacFormLayout to define scoped layout settings
897
+ * @param injector Injector for injecting services
898
+ */
899
+ constructor(formLayout, injector) {
900
+ super(formLayout, injector);
901
+ }
902
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputAreaComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
903
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputAreaComponent, isStandalone: true, selector: "sac-inputarea", providers: [
904
+ {
905
+ provide: NG_VALUE_ACCESSOR,
906
+ multi: true,
907
+ useExisting: SacInputAreaComponent,
908
+ },
909
+ {
910
+ provide: NG_VALIDATORS,
911
+ multi: true,
912
+ useExisting: forwardRef(() => SacInputAreaComponent),
913
+ },
914
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <textarea\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.validation-error]=\"invalid && (dirty || touched)\"\r\n [class.required]=\"isrequired\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n ></textarea>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
915
+ }
916
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputAreaComponent, decorators: [{
917
+ type: Component,
918
+ args: [{ selector: 'sac-inputarea', providers: [
919
+ {
920
+ provide: NG_VALUE_ACCESSOR,
921
+ multi: true,
922
+ useExisting: SacInputAreaComponent,
923
+ },
924
+ {
925
+ provide: NG_VALIDATORS,
926
+ multi: true,
927
+ useExisting: forwardRef(() => SacInputAreaComponent),
928
+ },
929
+ ], standalone: true, imports: [
930
+ NgClass,
931
+ NgIf,
932
+ AsyncPipe,
933
+ SacToLabelWidthCssPipe,
934
+ SacToControlWidthCssPipe,
935
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <textarea\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.validation-error]=\"invalid && (dirty || touched)\"\r\n [class.required]=\"isrequired\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n ></textarea>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
936
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
937
+ type: Host
938
+ }, {
939
+ type: Optional
940
+ }] }, { type: i0.Injector }]; } });
941
+
942
+ class SacInputCurrencyComponent extends SacInputCurrencyCommon {
943
+ // #region Constructors
944
+ /**
945
+ * Constructor
946
+ * @param formLayout SacFormLayout to define scoped layout settings
947
+ * @param injector Injector for injecting services
948
+ */
949
+ constructor(formLayout, injector) {
950
+ super(formLayout, injector);
951
+ }
952
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputCurrencyComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
953
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputCurrencyComponent, isStandalone: true, selector: "sac-inputcurrency", providers: [
954
+ {
955
+ provide: NG_VALUE_ACCESSOR,
956
+ multi: true,
957
+ useExisting: SacInputCurrencyComponent,
958
+ },
959
+ {
960
+ provide: NG_VALIDATORS,
961
+ multi: true,
962
+ useExisting: forwardRef(() => SacInputCurrencyComponent),
963
+ },
964
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div class=\"input-group-addon\">CHF</div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
965
+ }
966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputCurrencyComponent, decorators: [{
967
+ type: Component,
968
+ args: [{ selector: 'sac-inputcurrency', providers: [
969
+ {
970
+ provide: NG_VALUE_ACCESSOR,
971
+ multi: true,
972
+ useExisting: SacInputCurrencyComponent,
973
+ },
974
+ {
975
+ provide: NG_VALIDATORS,
976
+ multi: true,
977
+ useExisting: forwardRef(() => SacInputCurrencyComponent),
978
+ },
979
+ ], standalone: true, imports: [
980
+ NgClass,
981
+ NgIf,
982
+ AsyncPipe,
983
+ SacToLabelWidthCssPipe,
984
+ SacToControlWidthCssPipe,
985
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div class=\"input-group-addon\">CHF</div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
986
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
987
+ type: Host
988
+ }, {
989
+ type: Optional
990
+ }] }, { type: i0.Injector }]; } });
991
+
992
+ class SacInputDecimalComponent extends SacInputDecimalCommon {
993
+ // #region Constructors
994
+ /**
995
+ * Constructor
996
+ * @param formLayout SacFormLayout to define scoped layout settings
997
+ * @param injector Injector for injecting services
998
+ */
999
+ constructor(formLayout, injector) {
1000
+ super(formLayout, injector);
1001
+ }
1002
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputDecimalComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1003
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputDecimalComponent, isStandalone: true, selector: "sac-inputdecimal", providers: [
1004
+ {
1005
+ provide: NG_VALUE_ACCESSOR,
1006
+ multi: true,
1007
+ useExisting: SacInputDecimalComponent,
1008
+ },
1009
+ {
1010
+ provide: NG_VALIDATORS,
1011
+ multi: true,
1012
+ useExisting: forwardRef(() => SacInputDecimalComponent),
1013
+ },
1014
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
1015
+ }
1016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputDecimalComponent, decorators: [{
1017
+ type: Component,
1018
+ args: [{ selector: 'sac-inputdecimal', providers: [
1019
+ {
1020
+ provide: NG_VALUE_ACCESSOR,
1021
+ multi: true,
1022
+ useExisting: SacInputDecimalComponent,
1023
+ },
1024
+ {
1025
+ provide: NG_VALIDATORS,
1026
+ multi: true,
1027
+ useExisting: forwardRef(() => SacInputDecimalComponent),
1028
+ },
1029
+ ], standalone: true, imports: [
1030
+ NgClass,
1031
+ NgIf,
1032
+ AsyncPipe,
1033
+ SacToLabelWidthCssPipe,
1034
+ SacToControlWidthCssPipe,
1035
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1036
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1037
+ type: Host
1038
+ }, {
1039
+ type: Optional
1040
+ }] }, { type: i0.Injector }]; } });
1041
+
1042
+ class SacInputEmailComponent extends SacInputEmailCommon {
1043
+ // #region Constructors
1044
+ /**
1045
+ * Constructor
1046
+ * @param formLayout SacFormLayout to define scoped layout settings
1047
+ * @param injector Injector for injecting services
1048
+ */
1049
+ constructor(formLayout, injector) {
1050
+ super(formLayout, injector);
1051
+ }
1052
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputEmailComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1053
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputEmailComponent, isStandalone: true, selector: "sac-inputemail", providers: [
1054
+ {
1055
+ provide: NG_VALUE_ACCESSOR,
1056
+ multi: true,
1057
+ useExisting: SacInputEmailComponent,
1058
+ },
1059
+ {
1060
+ provide: NG_VALIDATORS,
1061
+ multi: true,
1062
+ useExisting: forwardRef(() => SacInputEmailComponent),
1063
+ },
1064
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group\">\r\n <div class=\"input-group-addon\">@</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 [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n autocomplete=\"email\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
1065
+ }
1066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputEmailComponent, decorators: [{
1067
+ type: Component,
1068
+ args: [{ selector: 'sac-inputemail', providers: [
1069
+ {
1070
+ provide: NG_VALUE_ACCESSOR,
1071
+ multi: true,
1072
+ useExisting: SacInputEmailComponent,
1073
+ },
1074
+ {
1075
+ provide: NG_VALIDATORS,
1076
+ multi: true,
1077
+ useExisting: forwardRef(() => SacInputEmailComponent),
1078
+ },
1079
+ ], standalone: true, imports: [
1080
+ NgClass,
1081
+ NgIf,
1082
+ AsyncPipe,
1083
+ SacToLabelWidthCssPipe,
1084
+ SacToControlWidthCssPipe,
1085
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group\">\r\n <div class=\"input-group-addon\">@</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 [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n autocomplete=\"email\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1086
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1087
+ type: Host
1088
+ }, {
1089
+ type: Optional
1090
+ }] }, { type: i0.Injector }]; } });
1091
+
1092
+ class SacInputIntegerComponent extends SacInputIntegerCommon {
1093
+ // #region Constructors
1094
+ /**
1095
+ * Constructor
1096
+ * @param formLayout SacFormLayout to define scoped layout settings
1097
+ * @param injector Injector for injecting services
1098
+ */
1099
+ constructor(formLayout, injector) {
1100
+ super(formLayout, injector);
520
1101
  }
521
- 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 }); }
522
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputAreaComponent, isStandalone: true, selector: "sac-inputarea", providers: [
523
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputAreaComponent },
524
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputAreaComponent) }
525
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <textarea id=\"{{name}}\" name=\"{{name}}\" type=\"\" class=\"form-control\" [value]=\"value\" [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\" [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.validation-error]=\"invalid && (dirty || touched)\"\r\n [class.language-specific]=\"islanguagespecific\"\r\n [class.required]=\"isrequired\"\r\n [disabled]=\"isdisabled\" [readonly]=\"readonly\"></textarea>\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputIntegerComponent, isStandalone: true, selector: "sac-inputinteger", providers: [
1104
+ {
1105
+ provide: NG_VALUE_ACCESSOR,
1106
+ multi: true,
1107
+ useExisting: SacInputIntegerComponent,
1108
+ },
1109
+ {
1110
+ provide: NG_VALIDATORS,
1111
+ multi: true,
1112
+ useExisting: forwardRef(() => SacInputIntegerComponent),
1113
+ },
1114
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
526
1115
  }
527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputAreaComponent, decorators: [{
1116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, decorators: [{
528
1117
  type: Component,
529
- args: [{ selector: 'sac-inputarea', providers: [
530
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputAreaComponent },
531
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputAreaComponent) }
532
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <textarea id=\"{{name}}\" name=\"{{name}}\" type=\"\" class=\"form-control\" [value]=\"value\" [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\" [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.validation-error]=\"invalid && (dirty || touched)\"\r\n [class.language-specific]=\"islanguagespecific\"\r\n [class.required]=\"isrequired\"\r\n [disabled]=\"isdisabled\" [readonly]=\"readonly\"></textarea>\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n\r\n" }]
533
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1118
+ args: [{ selector: 'sac-inputinteger', providers: [
1119
+ {
1120
+ provide: NG_VALUE_ACCESSOR,
1121
+ multi: true,
1122
+ useExisting: SacInputIntegerComponent,
1123
+ },
1124
+ {
1125
+ provide: NG_VALIDATORS,
1126
+ multi: true,
1127
+ useExisting: forwardRef(() => SacInputIntegerComponent),
1128
+ },
1129
+ ], standalone: true, imports: [
1130
+ NgClass,
1131
+ NgIf,
1132
+ AsyncPipe,
1133
+ SacToLabelWidthCssPipe,
1134
+ SacToControlWidthCssPipe,
1135
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1136
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
534
1137
  type: Host
535
1138
  }, {
536
1139
  type: Optional
537
1140
  }] }, { type: i0.Injector }]; } });
538
1141
 
539
- class SacInputCurrencyComponent extends SacInputCurrencyCommon {
540
- constructor(parent, injector) {
541
- super(parent, injector);
1142
+ class SacInputPasswordComponent extends SacInputPasswordCommon {
1143
+ // #region Constructors
1144
+ /**
1145
+ * Constructor
1146
+ * @param formLayout SacFormLayout to define scoped layout settings
1147
+ * @param injector Injector for injecting services
1148
+ */
1149
+ constructor(formLayout, injector) {
1150
+ super(formLayout, injector);
542
1151
  }
543
- 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 }); }
544
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputCurrencyComponent, isStandalone: true, selector: "sac-inputcurrency", providers: [
545
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputCurrencyComponent },
546
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputCurrencyComponent) }
547
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"input-group-addon\">CHF</div>\r\n </div>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputPasswordComponent, isStandalone: true, selector: "sac-inputpassword", providers: [
1154
+ {
1155
+ provide: NG_VALUE_ACCESSOR,
1156
+ multi: true,
1157
+ useExisting: SacInputPasswordComponent,
1158
+ },
1159
+ {
1160
+ provide: NG_VALIDATORS,
1161
+ multi: true,
1162
+ useExisting: forwardRef(() => SacInputPasswordComponent),
1163
+ },
1164
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-control\"\r\n type=\"password\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"new-password\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
548
1165
  }
549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputCurrencyComponent, decorators: [{
1166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
550
1167
  type: Component,
551
- args: [{ selector: 'sac-inputcurrency', providers: [
552
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputCurrencyComponent },
553
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputCurrencyComponent) }
554
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"input-group-addon\">CHF</div>\r\n </div>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
555
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1168
+ args: [{ selector: 'sac-inputpassword', providers: [
1169
+ {
1170
+ provide: NG_VALUE_ACCESSOR,
1171
+ multi: true,
1172
+ useExisting: SacInputPasswordComponent,
1173
+ },
1174
+ {
1175
+ provide: NG_VALIDATORS,
1176
+ multi: true,
1177
+ useExisting: forwardRef(() => SacInputPasswordComponent),
1178
+ },
1179
+ ], standalone: true, imports: [
1180
+ NgClass,
1181
+ NgIf,
1182
+ AsyncPipe,
1183
+ SacToLabelWidthCssPipe,
1184
+ SacToControlWidthCssPipe,
1185
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-control\"\r\n type=\"password\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"new-password\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1186
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
556
1187
  type: Host
557
1188
  }, {
558
1189
  type: Optional
559
1190
  }] }, { type: i0.Injector }]; } });
560
1191
 
561
- class SacInputDecimalComponent extends SacInputDecimalCommon {
562
- constructor(parent, injector) {
563
- super(parent, injector);
1192
+ class SacInputSearchComponent extends SacInputSearchCommon {
1193
+ // #region Constructors
1194
+ /**
1195
+ * Constructor
1196
+ * @param formLayout SacFormLayout to define scoped layout settings
1197
+ * @param injector Injector for injecting services
1198
+ */
1199
+ constructor(formLayout, injector) {
1200
+ super(formLayout, injector);
564
1201
  }
565
- 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 }); }
566
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputDecimalComponent, isStandalone: true, selector: "sac-inputdecimal", providers: [
567
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputDecimalComponent },
568
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputDecimalComponent) }
569
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputSearchComponent, isStandalone: true, selector: "sac-inputsearch", providers: [
1204
+ {
1205
+ provide: NG_VALUE_ACCESSOR,
1206
+ multi: true,
1207
+ useExisting: SacInputSearchComponent,
1208
+ },
1209
+ {
1210
+ provide: NG_VALIDATORS,
1211
+ multi: true,
1212
+ useExisting: forwardRef(() => SacInputSearchComponent),
1213
+ },
1214
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <input\r\n type=\"submit\"\r\n class=\"btn btn-default\"\r\n id=\"{{name}}_search\"\r\n (click)=\"searchClick()\"\r\n [value]=\"buttontext\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
570
1215
  }
571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputDecimalComponent, decorators: [{
1216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, decorators: [{
572
1217
  type: Component,
573
- args: [{ selector: 'sac-inputdecimal', providers: [
574
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputDecimalComponent },
575
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputDecimalComponent) }
576
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
577
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1218
+ args: [{ selector: 'sac-inputsearch', providers: [
1219
+ {
1220
+ provide: NG_VALUE_ACCESSOR,
1221
+ multi: true,
1222
+ useExisting: SacInputSearchComponent,
1223
+ },
1224
+ {
1225
+ provide: NG_VALIDATORS,
1226
+ multi: true,
1227
+ useExisting: forwardRef(() => SacInputSearchComponent),
1228
+ },
1229
+ ], standalone: true, imports: [NgClass, NgIf, SacToLabelWidthCssPipe, SacToControlWidthCssPipe], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <input\r\n type=\"submit\"\r\n class=\"btn btn-default\"\r\n id=\"{{name}}_search\"\r\n (click)=\"searchClick()\"\r\n [value]=\"buttontext\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1230
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
578
1231
  type: Host
579
1232
  }, {
580
1233
  type: Optional
581
1234
  }] }, { type: i0.Injector }]; } });
582
1235
 
583
- class SacInputEmailComponent extends SacInputEmailCommon {
584
- constructor(parent, injector) {
585
- super(parent, injector);
1236
+ class SACBootstrap3InputModule {
1237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1238
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, imports: [CommonModule, CommonModule, FormsModule, SACBootstrap3TooltipModule,
1239
+ SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent], exports: [SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent] }); }
1240
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, imports: [CommonModule, CommonModule, FormsModule, SACBootstrap3TooltipModule] }); }
1241
+ }
1242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, decorators: [{
1243
+ type: NgModule,
1244
+ args: [{
1245
+ imports: [
1246
+ CommonModule, CommonModule, FormsModule, SACBootstrap3TooltipModule,
1247
+ SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent
1248
+ ],
1249
+ exports: [SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent]
1250
+ }]
1251
+ }] });
1252
+
1253
+ class SACBootstrap3LayoutModule {
1254
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1255
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, imports: [CommonModule,
1256
+ SacFormLayoutDirective,
1257
+ SacToControlWidthCssPipe,
1258
+ SacToLabelWidthCssPipe], exports: [SacFormLayoutDirective,
1259
+ SacToControlWidthCssPipe,
1260
+ SacToLabelWidthCssPipe] }); }
1261
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, imports: [CommonModule] }); }
1262
+ }
1263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, decorators: [{
1264
+ type: NgModule,
1265
+ args: [{
1266
+ imports: [
1267
+ CommonModule,
1268
+ SacFormLayoutDirective,
1269
+ SacToControlWidthCssPipe,
1270
+ SacToLabelWidthCssPipe,
1271
+ ],
1272
+ exports: [
1273
+ SacFormLayoutDirective,
1274
+ SacToControlWidthCssPipe,
1275
+ SacToLabelWidthCssPipe,
1276
+ ],
1277
+ }]
1278
+ }] });
1279
+
1280
+ // #region Classes
1281
+ class SacDropdownComponent extends SacDropdownCommon {
1282
+ // #region Constructors
1283
+ /**
1284
+ * Constructor
1285
+ * @param formLayout SacFormLayout to define scoped layout settings
1286
+ * @param injector Injector for injecting services
1287
+ * @param renderer Angular rendering engine
1288
+ * @param elementRef Reference to html dom element
1289
+ */
1290
+ constructor(formLayout, injector, renderer, elementRef) {
1291
+ super(formLayout, injector, renderer, elementRef);
586
1292
  }
587
- 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 }); }
588
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputEmailComponent, isStandalone: true, selector: "sac-inputemail", providers: [
589
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputEmailComponent },
590
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputEmailComponent) }
591
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\r\n <div class=\"input-group-addon\">@</div>\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n autocomplete=\"email\" [attr.maxlength]=\"maxlength\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n </div>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1293
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
1294
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDropdownComponent, isStandalone: true, selector: "sac-dropdown", providers: [
1295
+ {
1296
+ provide: NG_VALUE_ACCESSOR,
1297
+ multi: true,
1298
+ useExisting: SacDropdownComponent,
1299
+ },
1300
+ {
1301
+ provide: NG_VALIDATORS,
1302
+ multi: true,
1303
+ useExisting: forwardRef(() => SacDropdownComponent),
1304
+ },
1305
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <select\r\n #dropdownitem\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-control\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <option *ngIf=\"emptylabel !== ''\" [ngValue]=\"emptyvalue\">\r\n {{emptylabel}}\r\n </option>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let item of options\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel], item: item }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let group of options\"\r\n [attr.label]=\"group[grouplabel]\"\r\n >\r\n <option\r\n *ngFor=\"let item of group[groupitems]\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel], item: item }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n", 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: "ngmodule", type: i0.forwardRef(function () { return FormsModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSelectOption; }), selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ɵNgSelectMultipleOption; }), selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i0.forwardRef(function () { return SacDropdownOptionDirective; }), selector: "option,[sacOption]" }, { 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" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelWidthCssPipe; }), name: "toLabelWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlWidthCssPipe; }), name: "toControlWidthCss" }] }); }
592
1306
  }
593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputEmailComponent, decorators: [{
1307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownComponent, decorators: [{
594
1308
  type: Component,
595
- args: [{ selector: 'sac-inputemail', providers: [
596
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputEmailComponent },
597
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputEmailComponent) }
598
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\r\n <div class=\"input-group-addon\">@</div>\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n autocomplete=\"email\" [attr.maxlength]=\"maxlength\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n </div>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
599
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1309
+ args: [{ selector: 'sac-dropdown', providers: [
1310
+ {
1311
+ provide: NG_VALUE_ACCESSOR,
1312
+ multi: true,
1313
+ useExisting: SacDropdownComponent,
1314
+ },
1315
+ {
1316
+ provide: NG_VALIDATORS,
1317
+ multi: true,
1318
+ useExisting: forwardRef(() => SacDropdownComponent),
1319
+ },
1320
+ ], standalone: true, imports: [
1321
+ NgClass,
1322
+ NgIf,
1323
+ FormsModule,
1324
+ forwardRef(() => SacDropdownOptionDirective),
1325
+ NgFor,
1326
+ NgTemplateOutlet,
1327
+ AsyncPipe,
1328
+ SacToLabelWidthCssPipe,
1329
+ SacToControlWidthCssPipe,
1330
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <select\r\n #dropdownitem\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-control\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <option *ngIf=\"emptylabel !== ''\" [ngValue]=\"emptyvalue\">\r\n {{emptylabel}}\r\n </option>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let item of options\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel], item: item }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let group of options\"\r\n [attr.label]=\"group[grouplabel]\"\r\n >\r\n <option\r\n *ngFor=\"let item of group[groupitems]\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel], item: item }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n" }]
1331
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
600
1332
  type: Host
601
1333
  }, {
602
1334
  type: Optional
603
- }] }, { type: i0.Injector }]; } });
1335
+ }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
1336
+ class SacDropdownOptionDirective extends SacDropdownOptionCommon {
1337
+ // #region Constructors
1338
+ /**
1339
+ * Konstruktor
1340
+ * @param elementRef Referenz auf HTML DOM Element
1341
+ * @param renderer Angular Rendering Engine
1342
+ * @param dropdownList Referenz auf DropDown Komponente
1343
+ */
1344
+ constructor(elementRef, renderer, dropdownList) {
1345
+ super(elementRef, renderer, dropdownList);
1346
+ }
1347
+ 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 }); }
1348
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacDropdownOptionDirective, isStandalone: true, selector: "option,[sacOption]", usesInheritance: true, ngImport: i0 }); }
1349
+ }
1350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownOptionDirective, decorators: [{
1351
+ type: Directive,
1352
+ args: [{ selector: 'option,[sacOption]', standalone: true }]
1353
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SacDropdownComponent, decorators: [{
1354
+ type: Optional
1355
+ }, {
1356
+ type: Host
1357
+ }] }]; } });
604
1358
 
605
- class SacInputIntegerComponent extends SacInputIntegerCommon {
606
- constructor(parent, injector) {
607
- super(parent, injector);
1359
+ class SacListboxComponent extends SacListboxCommon {
1360
+ // #region Constructors
1361
+ /**
1362
+ * Constructor
1363
+ * @param formLayout SacFormLayout to define scoped layout settings
1364
+ * @param injector Injector for injecting services
1365
+ */
1366
+ constructor(formLayout, injector) {
1367
+ super(formLayout, injector);
608
1368
  }
609
- 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 }); }
610
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputIntegerComponent, isStandalone: true, selector: "sac-inputinteger", providers: [
611
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputIntegerComponent },
612
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputIntegerComponent) }
613
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\" [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\" (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1369
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1370
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacListboxComponent, isStandalone: true, selector: "sac-listbox", providers: [
1371
+ {
1372
+ provide: NG_VALUE_ACCESSOR,
1373
+ multi: true,
1374
+ useExisting: SacListboxComponent,
1375
+ },
1376
+ {
1377
+ provide: NG_VALIDATORS,
1378
+ multi: true,
1379
+ useExisting: forwardRef(() => SacListboxComponent),
1380
+ },
1381
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <select\r\n multiple\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-control\"\r\n [size]=\"rowsize\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [value]=\"option[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: option[optionlabel] }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let option of options\"\r\n [attr.label]=\"option[grouplabel]\"\r\n >\r\n <option\r\n *ngFor=\"let item of option[groupitems]\"\r\n [value]=\"item[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel] }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: SacDropdownOptionDirective, selector: "option,[sacOption]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
614
1382
  }
615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, decorators: [{
1383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxComponent, decorators: [{
616
1384
  type: Component,
617
- args: [{ selector: 'sac-inputinteger', providers: [
618
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputIntegerComponent },
619
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputIntegerComponent) }
620
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\" [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\" (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
621
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1385
+ args: [{ selector: 'sac-listbox', providers: [
1386
+ {
1387
+ provide: NG_VALUE_ACCESSOR,
1388
+ multi: true,
1389
+ useExisting: SacListboxComponent,
1390
+ },
1391
+ {
1392
+ provide: NG_VALIDATORS,
1393
+ multi: true,
1394
+ useExisting: forwardRef(() => SacListboxComponent),
1395
+ },
1396
+ ], standalone: true, imports: [
1397
+ NgClass,
1398
+ NgIf,
1399
+ NgFor,
1400
+ FormsModule,
1401
+ SacDropdownOptionDirective,
1402
+ NgTemplateOutlet,
1403
+ AsyncPipe,
1404
+ SacToLabelWidthCssPipe,
1405
+ SacToControlWidthCssPipe,
1406
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <select\r\n multiple\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n class=\"form-control\"\r\n [size]=\"rowsize\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [value]=\"option[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: option[optionlabel] }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let option of options\"\r\n [attr.label]=\"option[grouplabel]\"\r\n >\r\n <option\r\n *ngFor=\"let item of option[groupitems]\"\r\n [value]=\"item[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate;context:{ label: item[optionlabel] }\"\r\n >\r\n </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n" }]
1407
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
622
1408
  type: Host
623
1409
  }, {
624
1410
  type: Optional
625
1411
  }] }, { type: i0.Injector }]; } });
626
1412
 
627
- class SacInputPasswordComponent extends SacInputPasswordCommon {
628
- constructor(parent, injector) {
629
- super(parent, injector);
1413
+ class SACBootstrap3ListModule {
1414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1415
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, imports: [CommonModule,
1416
+ FormsModule,
1417
+ SacDropdownComponent,
1418
+ SacDropdownOptionDirective,
1419
+ SacListboxComponent], exports: [SacDropdownComponent,
1420
+ SacDropdownOptionDirective,
1421
+ SacListboxComponent] }); }
1422
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, imports: [CommonModule,
1423
+ FormsModule,
1424
+ SacDropdownComponent,
1425
+ SacListboxComponent] }); }
1426
+ }
1427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ListModule, decorators: [{
1428
+ type: NgModule,
1429
+ args: [{
1430
+ imports: [
1431
+ CommonModule,
1432
+ FormsModule,
1433
+ SacDropdownComponent,
1434
+ SacDropdownOptionDirective,
1435
+ SacListboxComponent,
1436
+ ],
1437
+ exports: [
1438
+ SacDropdownComponent,
1439
+ SacDropdownOptionDirective,
1440
+ SacListboxComponent,
1441
+ ],
1442
+ }]
1443
+ }] });
1444
+
1445
+ class SacStaticLabelComponent extends SacStaticLabelCommon {
1446
+ // #region Constructors
1447
+ /**
1448
+ * Constructor
1449
+ * @param formLayout SacFormLayout to define scoped layout settings
1450
+ * @param injector Injector for injecting services
1451
+ */
1452
+ constructor(formLayout, injector) {
1453
+ super(formLayout, injector);
630
1454
  }
631
- 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 }); }
632
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputPasswordComponent, isStandalone: true, selector: "sac-inputpassword", providers: [
633
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputPasswordComponent },
634
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputPasswordComponent) }
635
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\" type=\"password\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" autocomplete=\"new-password\" [ngClass]=\"{'language-specific': islanguagespecific }\"\r\n [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, deps: [{ token: SacFormLayoutDirective, 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: SacStaticLabelComponent, isStandalone: true, selector: "sac-staticlabel", providers: [
1457
+ {
1458
+ provide: NG_VALUE_ACCESSOR,
1459
+ multi: true,
1460
+ useExisting: SacStaticLabelComponent,
1461
+ },
1462
+ {
1463
+ provide: NG_VALIDATORS,
1464
+ multi: true,
1465
+ useExisting: forwardRef(() => SacStaticLabelComponent),
1466
+ },
1467
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"form-control-static\" [innerHTML]=\"value\"></div>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-left control-label\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
636
1468
  }
637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
1469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, decorators: [{
638
1470
  type: Component,
639
- args: [{ selector: 'sac-inputpassword', providers: [
640
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputPasswordComponent },
641
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputPasswordComponent) }
642
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\" type=\"password\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" autocomplete=\"new-password\" [ngClass]=\"{'language-specific': islanguagespecific }\"\r\n [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
643
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1471
+ args: [{ selector: 'sac-staticlabel', providers: [
1472
+ {
1473
+ provide: NG_VALUE_ACCESSOR,
1474
+ multi: true,
1475
+ useExisting: SacStaticLabelComponent,
1476
+ },
1477
+ {
1478
+ provide: NG_VALIDATORS,
1479
+ multi: true,
1480
+ useExisting: forwardRef(() => SacStaticLabelComponent),
1481
+ },
1482
+ ], standalone: true, imports: [NgIf, NgClass, SacToLabelWidthCssPipe, SacToControlWidthCssPipe], template: "<div class=\"row form-group\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"form-control-static\" [innerHTML]=\"value\"></div>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-left control-label\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n</div>\r\n" }]
1483
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
644
1484
  type: Host
645
1485
  }, {
646
1486
  type: Optional
647
1487
  }] }, { type: i0.Injector }]; } });
648
1488
 
649
- class SacInputSearchComponent extends SacInputSearchCommon {
650
- constructor(parent, injector) {
651
- super(parent, injector);
1489
+ /**
1490
+ * Component für einbindung eines beliebigen Controls in die Form Struktur
1491
+ *
1492
+ * @example
1493
+ * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
1494
+ * <input type="range" class="form-control" />
1495
+ * </ngStaticFormContainer>
1496
+ *
1497
+ * @example
1498
+ * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
1499
+ * <input type="range" class="form-control" />
1500
+ * </ngStaticFormContainer>
1501
+ *
1502
+ **/
1503
+ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
1504
+ // #region Constructors
1505
+ /**
1506
+ * Constructor
1507
+ * @param formLayout SacFormLayout to define scoped layout settings
1508
+ * @param injector Injector for injecting services
1509
+ */
1510
+ constructor(formLayout, injector) {
1511
+ super(formLayout, injector);
652
1512
  }
653
- 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 }); }
654
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputSearchComponent, isStandalone: true, selector: "sac-inputsearch", providers: [
655
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputSearchComponent },
656
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputSearchComponent) }
657
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\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 }\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <input type=\"submit\" class=\"btn btn-default\" id=\"{{name}}_search\" (click)=\"searchClick()\" [value]=\"buttontext\" />\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacStaticFormContainerComponent, isStandalone: true, selector: "sac-staticformcontainer", providers: [
1515
+ {
1516
+ provide: NG_VALUE_ACCESSOR,
1517
+ multi: true,
1518
+ useExisting: SacStaticFormContainerComponent,
1519
+ },
1520
+ {
1521
+ provide: NG_VALIDATORS,
1522
+ multi: true,
1523
+ useExisting: forwardRef(() => SacStaticFormContainerComponent),
1524
+ },
1525
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <ng-content></ng-content>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
658
1526
  }
659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, decorators: [{
1527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, decorators: [{
660
1528
  type: Component,
661
- args: [{ selector: 'sac-inputsearch', providers: [
662
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputSearchComponent },
663
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputSearchComponent) }
664
- ], standalone: true, imports: [NgClass, NgIf], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\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 }\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <input type=\"submit\" class=\"btn btn-default\" id=\"{{name}}_search\" (click)=\"searchClick()\" [value]=\"buttontext\" />\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
665
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1529
+ args: [{ selector: 'sac-staticformcontainer', providers: [
1530
+ {
1531
+ provide: NG_VALUE_ACCESSOR,
1532
+ multi: true,
1533
+ useExisting: SacStaticFormContainerComponent,
1534
+ },
1535
+ {
1536
+ provide: NG_VALIDATORS,
1537
+ multi: true,
1538
+ useExisting: forwardRef(() => SacStaticFormContainerComponent),
1539
+ },
1540
+ ], standalone: true, imports: [
1541
+ NgClass,
1542
+ NgIf,
1543
+ AsyncPipe,
1544
+ SacToLabelWidthCssPipe,
1545
+ SacToControlWidthCssPipe,
1546
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <ng-content></ng-content>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1547
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
666
1548
  type: Host
667
1549
  }, {
668
1550
  type: Optional
669
1551
  }] }, { type: i0.Injector }]; } });
670
1552
 
671
- class SACBootstrap3InputModule {
672
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
673
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, imports: [CommonModule, CommonModule, FormsModule, SACBootstrap3TooltipModule,
674
- SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent], exports: [SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent] }); }
675
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, imports: [CommonModule, CommonModule, FormsModule, SACBootstrap3TooltipModule] }); }
1553
+ class SACBootstrap3StaticLabelModule {
1554
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1555
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, imports: [CommonModule, SACBootstrap3TooltipModule,
1556
+ SacStaticLabelComponent, SacStaticFormContainerComponent], exports: [SacStaticLabelComponent, SacStaticFormContainerComponent] }); }
1557
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, imports: [CommonModule, SACBootstrap3TooltipModule] }); }
676
1558
  }
677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3InputModule, decorators: [{
1559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, decorators: [{
678
1560
  type: NgModule,
679
1561
  args: [{
680
1562
  imports: [
681
- CommonModule, CommonModule, FormsModule, SACBootstrap3TooltipModule,
682
- SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent
1563
+ CommonModule, SACBootstrap3TooltipModule,
1564
+ SacStaticLabelComponent, SacStaticFormContainerComponent
683
1565
  ],
684
- exports: [SacInputComponent, SacInputAreaComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent]
1566
+ exports: [SacStaticLabelComponent, SacStaticFormContainerComponent]
685
1567
  }]
686
1568
  }] });
687
1569
 
688
- class SacDateSelectorComponent extends SacDateSelectorCommon {
689
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
690
- 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\" style=\"min-width: 265px\">\r\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\r\n <thead>\r\n <tr>\r\n <th class=\"prev text-left\" (click)=\"monthBack()\">\r\n <i [class]=\"iconMonthPrev\"></i>\r\n </th>\r\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\r\n <th class=\"next text-right\" (click)=\"monthNext()\">\r\n <i [class]=\"iconMonthNext\"></i>\r\n </th>\r\n </tr>\r\n <tr>\r\n <th class=\"dow text-center\">Mo</th>\r\n <th class=\"dow text-center\">Di</th>\r\n <th class=\"dow text-center\">Mi</th>\r\n <th class=\"dow text-center\">Do</th>\r\n <th class=\"dow text-center\">Fr</th>\r\n <th class=\"dow text-center\">Sa</th>\r\n <th class=\"dow text-center\">So</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <tr>\r\n <td\r\n class=\"text-center\"\r\n *ngFor=\"let item of week\"\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 </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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=\"col-md-6\" style=\"padding-left: 20px\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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>\r\n <div class=\"row\" style=\"margin-top: 10px\">\r\n <div class=\"col-md-4 text-left\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"col-md-8 text-right\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\r\n Reset\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n style=\"margin-left: 10px\"\r\n (click)=\"applySelection()\"\r\n >\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"] }] }); }
1570
+ class SacTabItemComponent extends SacTabItemCommon {
1571
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1572
+ 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\"\r\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
691
1573
  }
692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateSelectorComponent, decorators: [{
1574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabItemComponent, decorators: [{
693
1575
  type: Component,
694
- args: [{ selector: 'sac-dateselector', standalone: true, imports: [
695
- NgIf,
696
- NgFor,
697
- NgStyle,
698
- NgClass,
699
- ], template: "<div class=\"calendar-selector\" style=\"min-width: 265px\">\r\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\r\n <thead>\r\n <tr>\r\n <th class=\"prev text-left\" (click)=\"monthBack()\">\r\n <i [class]=\"iconMonthPrev\"></i>\r\n </th>\r\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\r\n <th class=\"next text-right\" (click)=\"monthNext()\">\r\n <i [class]=\"iconMonthNext\"></i>\r\n </th>\r\n </tr>\r\n <tr>\r\n <th class=\"dow text-center\">Mo</th>\r\n <th class=\"dow text-center\">Di</th>\r\n <th class=\"dow text-center\">Mi</th>\r\n <th class=\"dow text-center\">Do</th>\r\n <th class=\"dow text-center\">Fr</th>\r\n <th class=\"dow text-center\">Sa</th>\r\n <th class=\"dow text-center\">So</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <tr>\r\n <td\r\n class=\"text-center\"\r\n *ngFor=\"let item of week\"\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 </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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=\"col-md-6\" style=\"padding-left: 20px\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\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>\r\n <div class=\"row\" style=\"margin-top: 10px\">\r\n <div class=\"col-md-4 text-left\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"col-md-8 text-right\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\r\n Reset\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n style=\"margin-left: 10px\"\r\n (click)=\"applySelection()\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1576
+ args: [{ selector: 'sac-tabitem', standalone: true, imports: [NgIf, NgTemplateOutlet], template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\"\r\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n\r\n" }]
700
1577
  }] });
701
1578
 
702
- const moment = moment_["default"];
703
- class SacDateComponent extends SacDateCommon {
704
- constructor(parent, injector, _elementRef) {
705
- super(parent, injector, _elementRef);
706
- }
707
- 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 }); }
708
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDateComponent, isStandalone: true, selector: "sac-date", providers: [
709
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => SacDateComponent) },
710
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacDateComponent) }
711
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\r\n <input\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control date-control\"\r\n [imask]=\"imaskDate\"\r\n placeholder=\"dd.mm.yyyy\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n maxlength=\"10\"\r\n size=\"10\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
712
- }
713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateComponent, decorators: [{
714
- type: Component,
715
- args: [{ selector: 'sac-date', providers: [
716
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => SacDateComponent) },
717
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacDateComponent) }
718
- ], standalone: true, imports: [NgClass, NgIf, IMaskDirective, SacDateSelectorComponent, AsyncPipe], template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\r\n <input\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control date-control\"\r\n [imask]=\"imaskDate\"\r\n placeholder=\"dd.mm.yyyy\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n maxlength=\"10\"\r\n size=\"10\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
719
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
720
- type: Host
721
- }, {
722
- type: Optional
723
- }] }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
724
-
725
- class SacDateTimeComponent extends SacDateTimeCommon {
726
- constructor(parent, injector, _elementRef) {
727
- super(parent, injector, _elementRef);
728
- }
729
- 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 }); }
730
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDateTimeComponent, isStandalone: true, selector: "sac-datetime", providers: [
731
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => SacDateTimeComponent) },
732
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacDateTimeComponent) }
733
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div style=\"position: relative; width: 180px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
734
- }
735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateTimeComponent, decorators: [{
736
- type: Component,
737
- args: [{ selector: 'sac-datetime', providers: [
738
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => SacDateTimeComponent) },
739
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacDateTimeComponent) }
740
- ], standalone: true, imports: [NgClass, NgIf, IMaskDirective, SacDateSelectorComponent, AsyncPipe], template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div style=\"position: relative; width: 180px\">\r\n <div id=\"{{name}}\" class=\"datetime-textbox input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
741
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
742
- type: Host
743
- }, {
744
- type: Optional
745
- }] }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
746
-
747
- class SacTimeComponent extends SacTimeCommon {
748
- constructor(parent, injector, _elementRef) {
749
- super(parent, injector, _elementRef);
1579
+ class SacTabComponent extends SacTabCommon {
1580
+ tabItems() {
1581
+ return this._tabItems.toArray();
750
1582
  }
751
- 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 }); }
752
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTimeComponent, isStandalone: true, selector: "sac-time", providers: [
753
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => SacTimeComponent) },
754
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacTimeComponent) }
755
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n [value]=\"valuestring\"\r\n maxlength=\"6\"\r\n [imask]=\"imaskDate\"\r\n size=\"6\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n data-error-msg=\"ctl00_cphContent_ctl00_ucPublicationDetail_dtpValidFrom_timeTextBoxTypeValidator\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1584
+ 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 [id]=\"name\" class=\"content-nav-tabs\">\r\n <ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li\r\n *ngFor=\"let item of _tabItems\"\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 >\r\n <a [id]=\"GetTabItemButtonId(item._id)\" role=\"tab\">\r\n <ng-template\r\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\r\n >\r\n </ng-template>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content\" style=\"margin-top: 15px\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\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"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
756
1585
  }
757
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTimeComponent, decorators: [{
1586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, decorators: [{
758
1587
  type: Component,
759
- args: [{ selector: 'sac-time', providers: [
760
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => SacTimeComponent) },
761
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacTimeComponent) }
762
- ], standalone: true, imports: [NgClass, NgIf, IMaskDirective, SacDateSelectorComponent, AsyncPipe], template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div style=\"position: relative; width: 140px\">\r\n <div class=\"input-group\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n [value]=\"valuestring\"\r\n maxlength=\"6\"\r\n [imask]=\"imaskDate\"\r\n size=\"6\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n data-error-msg=\"ctl00_cphContent_ctl00_ucPublicationDetail_dtpValidFrom_timeTextBoxTypeValidator\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <span class=\"input-group-btn\">\r\n <button\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\"\r\n >\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n class=\"popover bottom in\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n style=\"\r\n display: block;\r\n left: unset;\r\n right: 0px;\r\n top: 34px;\r\n max-width: 325px;\r\n \"\r\n >\r\n <div class=\"arrow\" style=\"left: unset; right: 10px\"></div>\r\n <h3 class=\"popover-title\" style=\"display: none\"></h3>\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"\r\n ></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
763
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
764
- type: Host
765
- }, {
766
- type: Optional
767
- }] }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1588
+ args: [{ selector: 'sac-tab', standalone: true, imports: [NgFor, NgClass, NgStyle, NgTemplateOutlet], template: "<!-- Nav tabs -->\r\n<div [id]=\"name\" class=\"content-nav-tabs\">\r\n <ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li\r\n *ngFor=\"let item of _tabItems\"\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 >\r\n <a [id]=\"GetTabItemButtonId(item._id)\" role=\"tab\">\r\n <ng-template\r\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\r\n >\r\n </ng-template>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content\" style=\"margin-top: 15px\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n" }]
1589
+ }], propDecorators: { _tabItems: [{
1590
+ type: ContentChildren,
1591
+ args: [SacTabItemComponent]
1592
+ }] } });
768
1593
 
769
- class SACBootstrap3DateTimeModule {
770
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
771
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, imports: [CommonModule, IMaskModule,
772
- SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent], exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent] }); }
773
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, imports: [CommonModule, IMaskModule] }); }
1594
+ class SACBootstrap3TabsModule {
1595
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1596
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, imports: [CommonModule,
1597
+ SacTabComponent, SacTabItemComponent], exports: [SacTabComponent, SacTabItemComponent] }); }
1598
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, imports: [CommonModule] }); }
774
1599
  }
775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3DateTimeModule, decorators: [{
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TabsModule, decorators: [{
776
1601
  type: NgModule,
777
1602
  args: [{
778
1603
  imports: [
779
- CommonModule, IMaskModule,
780
- SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent
1604
+ CommonModule,
1605
+ SacTabComponent, SacTabItemComponent
781
1606
  ],
782
- exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent]
1607
+ exports: [SacTabComponent, SacTabItemComponent]
783
1608
  }]
784
1609
  }] });
785
1610
 
786
1611
  class SacTinyMceComponent extends SacTinyMceCommon {
1612
+ // #region Constructors
787
1613
  /**
788
- * Konstruktor
789
- * @param parent Formular
790
- * @param injector Angular Dependency Injection Service
791
- * @param ngZone ngZone
1614
+ * Constructor
1615
+ * @param formLayout SacFormLayout to define scoped layout settings
1616
+ * @param injector Injector for injecting services
1617
+ * @param ngZone ngZone to manage external javascripts
792
1618
  */
793
- constructor(parent, injector, ngZone) {
794
- super(parent, injector, ngZone);
1619
+ constructor(formLayout, injector, ngZone) {
1620
+ super(formLayout, injector, ngZone);
795
1621
  }
1622
+ // #endregion Constructors
1623
+ // #region Public Methods
796
1624
  /**
797
1625
  * overwrite tinymce defaults
798
1626
  * @returns boostrap3 does not support file browser
@@ -800,7 +1628,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
800
1628
  overwriteDefaultSettings() {
801
1629
  return { file_picker_types: undefined, file_picker_callback: undefined };
802
1630
  }
803
- 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 }); }
1631
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
804
1632
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTinyMceComponent, isStandalone: true, selector: "sac-tinymce", providers: [
805
1633
  {
806
1634
  provide: NG_VALUE_ACCESSOR,
@@ -812,7 +1640,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
812
1640
  useExisting: forwardRef(() => SacTinyMceComponent),
813
1641
  multi: true,
814
1642
  },
815
- ], 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> </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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.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", inputs: ["zindex"] }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1643
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : '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-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody> </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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.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", inputs: ["zindex"] }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
816
1644
  }
817
1645
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, decorators: [{
818
1646
  type: Component,
@@ -835,8 +1663,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
835
1663
  SacDialogComponent,
836
1664
  SacButtonComponent,
837
1665
  AsyncPipe,
838
- ], 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> </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" }]
839
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1666
+ SacToLabelWidthCssPipe,
1667
+ SacToControlWidthCssPipe,
1668
+ ], template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : '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-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody> </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" }]
1669
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
840
1670
  type: Host
841
1671
  }, {
842
1672
  type: Optional
@@ -855,153 +1685,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
855
1685
  }]
856
1686
  }] });
857
1687
 
858
- class SacStaticLabelComponent extends SacStaticLabelCommon {
859
- constructor(parent, injector) {
860
- super(parent, injector);
861
- }
862
- 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 }); }
863
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacStaticLabelComponent, isStandalone: true, selector: "sac-staticlabel", providers: [
864
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacStaticLabelComponent },
865
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacStaticLabelComponent) }
866
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"form-control-static\" [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"] }] }); }
867
- }
868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, decorators: [{
869
- type: Component,
870
- args: [{ selector: 'sac-staticlabel', providers: [
871
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacStaticLabelComponent },
872
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacStaticLabelComponent) }
873
- ], standalone: true, imports: [NgIf, NgClass], template: "<div class=\"form-group\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"form-control-static\" [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" }]
874
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
875
- type: Host
876
- }, {
877
- type: Optional
878
- }] }, { type: i0.Injector }]; } });
879
-
880
- /**
881
- * Component für einbindung eines beliebigen Controls in die Form Struktur
882
- *
883
- * @example
884
- * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
885
- * <input type="range" class="form-control" />
886
- * </ngStaticFormContainer>
887
- *
888
- * @example
889
- * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
890
- * <input type="range" class="form-control" />
891
- * </ngStaticFormContainer>
892
- *
893
- **/
894
- class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
895
- /**
896
- * Konsturktor
897
- * @param parent Parent SacFormular Instanz
898
- * @param injector Injector Instanz
899
- */
900
- constructor(parent, injector) {
901
- super(parent, injector);
902
- }
903
- 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 }); }
904
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacStaticFormContainerComponent, isStandalone: true, selector: "sac-staticformcontainer", providers: [
905
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacStaticFormContainerComponent },
906
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacStaticFormContainerComponent) }
907
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-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=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1688
+ class SacTreeViewChildComponent extends SacTreeViewChildCommon {
1689
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewChildComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1690
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeViewChildComponent, isStandalone: true, selector: "sac-treeviewchild", usesInheritance: true, ngImport: i0, template: "<ul class=\"jstree-children\" *ngIf=\"nodes && nodes.length\">\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n {{node[textAttr]}}\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n</ul>\r\n", dependencies: [{ kind: "component", type: SacTreeViewChildComponent, selector: "sac-treeviewchild" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
908
1691
  }
909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, decorators: [{
1692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewChildComponent, decorators: [{
910
1693
  type: Component,
911
- args: [{ selector: 'sac-staticformcontainer', providers: [
912
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacStaticFormContainerComponent },
913
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacStaticFormContainerComponent) }
914
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-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=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
915
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
916
- type: Host
917
- }, {
918
- type: Optional
919
- }] }, { type: i0.Injector }]; } });
920
-
921
- class SACBootstrap3StaticLabelModule {
922
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
923
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, imports: [CommonModule, SACBootstrap3TooltipModule,
924
- SacStaticLabelComponent, SacStaticFormContainerComponent], exports: [SacStaticLabelComponent, SacStaticFormContainerComponent] }); }
925
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, imports: [CommonModule, SACBootstrap3TooltipModule] }); }
926
- }
927
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3StaticLabelModule, decorators: [{
928
- type: NgModule,
929
- args: [{
930
- imports: [
931
- CommonModule, SACBootstrap3TooltipModule,
932
- SacStaticLabelComponent, SacStaticFormContainerComponent
933
- ],
934
- exports: [SacStaticLabelComponent, SacStaticFormContainerComponent]
935
- }]
1694
+ args: [{ selector: 'sac-treeviewchild', standalone: true, imports: [NgIf, NgFor, NgClass, NgTemplateOutlet, SacTreeViewChildComponent], template: "<ul class=\"jstree-children\" *ngIf=\"nodes && nodes.length\">\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n {{node[textAttr]}}\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n</ul>\r\n" }]
936
1695
  }] });
937
1696
 
938
- class SacWizardItemComponent extends SacWizardItemCommon {
939
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
940
- 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: "" }); }
1697
+ class SacTreeViewComponent extends SacTreeViewCommon {
1698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1699
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeViewComponent, isStandalone: true, selector: "sac-treeview", usesInheritance: true, ngImport: i0, template: "<div class=\"structure panel panel-default\" icon=\"Structure\">\r\n <div class=\"panel-heading\">\r\n <p class=\"panel-title\"><span>{{ name }}</span></p>\r\n </div>\r\n <div class=\"panel-body\">\r\n <div class=\"right\">\r\n <div\r\n class=\"form-submit form-inline\"\r\n style=\"text-align: right; height: 24px\"\r\n >\r\n <a class=\"btn-inline\"\r\n ><i class=\"icon icon-base-expand\" (click)=\"collapseAllNode(false)\"></i\r\n ></a>\r\n <a class=\"btn-inline\"\r\n ><i\r\n class=\"icon icon-base-collapse\"\r\n (click)=\"collapseAllNode(true)\"\r\n ></i\r\n ></a>\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"name\"\r\n class=\"structure-tree single-root jstree jstree-1 jstree-default\"\r\n >\r\n <ul\r\n class=\"jstree-container-ul jstree-children jstree-no-dots jstree-striped jstree-wholerow-ul\"\r\n *ngIf=\"nodes && nodes.length\"\r\n >\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <span>{{node[textAttr]}}</span>\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n </ul>\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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SacTreeViewChildComponent, selector: "sac-treeviewchild" }] }); }
941
1700
  }
942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardItemComponent, decorators: [{
1701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewComponent, decorators: [{
943
1702
  type: Component,
944
- args: [{ selector: 'sac-wizarditem', standalone: true, template: "" }]
1703
+ args: [{ selector: 'sac-treeview', standalone: true, imports: [NgIf, NgFor, NgClass, NgTemplateOutlet, SacTreeViewChildComponent], template: "<div class=\"structure panel panel-default\" icon=\"Structure\">\r\n <div class=\"panel-heading\">\r\n <p class=\"panel-title\"><span>{{ name }}</span></p>\r\n </div>\r\n <div class=\"panel-body\">\r\n <div class=\"right\">\r\n <div\r\n class=\"form-submit form-inline\"\r\n style=\"text-align: right; height: 24px\"\r\n >\r\n <a class=\"btn-inline\"\r\n ><i class=\"icon icon-base-expand\" (click)=\"collapseAllNode(false)\"></i\r\n ></a>\r\n <a class=\"btn-inline\"\r\n ><i\r\n class=\"icon icon-base-collapse\"\r\n (click)=\"collapseAllNode(true)\"\r\n ></i\r\n ></a>\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"name\"\r\n class=\"structure-tree single-root jstree jstree-1 jstree-default\"\r\n >\r\n <ul\r\n class=\"jstree-container-ul jstree-children jstree-no-dots jstree-striped jstree-wholerow-ul\"\r\n *ngIf=\"nodes && nodes.length\"\r\n >\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <span>{{node[textAttr]}}</span>\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
945
1704
  }] });
946
1705
 
947
- class SacWizardComponent extends SacWizardCommon {
948
- wizardItems() {
949
- return this._wizardItems;
1706
+ class SacTreeItemActionComponent extends SacTreeItemActionCommon {
1707
+ // #region Constructors
1708
+ constructor(el) {
1709
+ super(el);
950
1710
  }
951
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
952
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacWizardComponent, isStandalone: true, selector: "sac-wizard", providers: [
953
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
954
- ], queries: [{ propertyName: "_wizardItems", predicate: SacWizardItemComponent }], usesInheritance: true, ngImport: i0, template: "<ul [id]=\"name\" 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"] }] }); }
1711
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeItemActionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
1712
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeItemActionComponent, isStandalone: true, selector: "sac-treeitemaction", usesInheritance: true, ngImport: i0, template: "<i class=\"{{transformClass(iconstyle)}}\" (mouseover)=\"item.hover=true\" (mouseout)=\"item.hover=false\" (click)=\"iconaction()\" ></i>" }); }
955
1713
  }
956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardComponent, decorators: [{
1714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeItemActionComponent, decorators: [{
957
1715
  type: Component,
958
- args: [{ selector: 'sac-wizard', providers: [
959
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
960
- ], standalone: true, imports: [
961
- NgFor,
962
- NgClass,
963
- NgStyle,
964
- ], template: "<ul [id]=\"name\" 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" }]
965
- }], propDecorators: { _wizardItems: [{
966
- type: ContentChildren,
967
- args: [SacWizardItemComponent]
968
- }] } });
1716
+ args: [{ selector: 'sac-treeitemaction', standalone: true, template: "<i class=\"{{transformClass(iconstyle)}}\" (mouseover)=\"item.hover=true\" (mouseout)=\"item.hover=false\" (click)=\"iconaction()\" ></i>" }]
1717
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
969
1718
 
970
- class SACBootstrap3WizardModule {
971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
972
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, imports: [CommonModule,
973
- SacWizardComponent, SacWizardItemComponent], exports: [SacWizardComponent, SacWizardItemComponent] }); }
974
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, imports: [CommonModule] }); }
1719
+ class SACBootstrap3TtreeviewModule {
1720
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1721
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, imports: [CommonModule,
1722
+ SacTreeViewComponent,
1723
+ SacTreeViewChildComponent,
1724
+ SacTreeItemActionComponent], exports: [SacTreeViewComponent,
1725
+ SacTreeViewChildComponent,
1726
+ SacTreeItemActionComponent] }); }
1727
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, imports: [CommonModule] }); }
975
1728
  }
976
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, decorators: [{
1729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, decorators: [{
977
1730
  type: NgModule,
978
1731
  args: [{
979
1732
  imports: [
980
1733
  CommonModule,
981
- SacWizardComponent, SacWizardItemComponent
1734
+ SacTreeViewComponent,
1735
+ SacTreeViewChildComponent,
1736
+ SacTreeItemActionComponent,
1737
+ ],
1738
+ exports: [
1739
+ SacTreeViewComponent,
1740
+ SacTreeViewChildComponent,
1741
+ SacTreeItemActionComponent,
982
1742
  ],
983
- exports: [SacWizardComponent, SacWizardItemComponent]
984
1743
  }]
985
1744
  }] });
986
1745
 
987
1746
  // https://github.com/kukhariev/ngx-uploadx/
988
1747
  class SacUploadComponent extends SacUploadSingleCommon {
989
- constructor(parent, injector, renderer, ngZone) {
990
- super(parent, injector, renderer, ngZone);
1748
+ // #region Constructors
1749
+ /**
1750
+ * Constructor
1751
+ * @param formLayout SacFormLayout to define scoped layout settings
1752
+ * @param injector Injector for injecting services
1753
+ * @param renderer Angular rendering engine
1754
+ * @param ngZone ngZone to manage external javascripts
1755
+ */
1756
+ constructor(formLayout, injector, renderer, ngZone) {
1757
+ super(formLayout, injector, renderer, ngZone);
991
1758
  }
992
- 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 }); }
1759
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacUploadComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
993
1760
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacUploadComponent, isStandalone: true, selector: "sac-upload", providers: [
994
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacUploadComponent },
995
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacUploadComponent) }
996
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\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-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1761
+ {
1762
+ provide: NG_VALUE_ACCESSOR,
1763
+ multi: true,
1764
+ useExisting: SacUploadComponent,
1765
+ },
1766
+ {
1767
+ provide: NG_VALIDATORS,
1768
+ multi: true,
1769
+ useExisting: forwardRef(() => SacUploadComponent),
1770
+ },
1771
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group upload-component upload-single\">\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
997
1772
  }
998
1773
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacUploadComponent, decorators: [{
999
1774
  type: Component,
1000
1775
  args: [{ selector: 'sac-upload', providers: [
1001
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacUploadComponent },
1002
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacUploadComponent) }
1003
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\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-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"] }]
1004
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1776
+ {
1777
+ provide: NG_VALUE_ACCESSOR,
1778
+ multi: true,
1779
+ useExisting: SacUploadComponent,
1780
+ },
1781
+ {
1782
+ provide: NG_VALIDATORS,
1783
+ multi: true,
1784
+ useExisting: forwardRef(() => SacUploadComponent),
1785
+ },
1786
+ ], standalone: true, imports: [
1787
+ NgClass,
1788
+ NgIf,
1789
+ AsyncPipe,
1790
+ SacToLabelWidthCssPipe,
1791
+ SacToControlWidthCssPipe,
1792
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"input-group upload-component upload-single\">\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"] }]
1793
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1005
1794
  type: Host
1006
1795
  }, {
1007
1796
  type: Optional
@@ -1009,10 +1798,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1009
1798
 
1010
1799
  // https://github.com/kukhariev/ngx-uploadx/
1011
1800
  class SacUploadMultipleComponent extends SacUploadMultipleCommon {
1012
- constructor(parent, injector, renderer, ngZone) {
1013
- super(parent, injector, renderer, ngZone);
1801
+ // #region Constructors
1802
+ /**
1803
+ * Constructor
1804
+ * @param formLayout SacFormLayout to define scoped layout settings
1805
+ * @param injector Injector for injecting services
1806
+ * @param renderer Angular rendering engine
1807
+ * @param ngZone ngZone to manage external javascripts
1808
+ */
1809
+ constructor(formLayout, injector, renderer, ngZone) {
1810
+ super(formLayout, injector, renderer, ngZone);
1014
1811
  }
1015
- 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 }); }
1812
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacUploadMultipleComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1016
1813
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacUploadMultipleComponent, isStandalone: true, selector: "sac-uploadmultiple", providers: [
1017
1814
  {
1018
1815
  provide: NG_VALUE_ACCESSOR,
@@ -1024,7 +1821,7 @@ class SacUploadMultipleComponent extends SacUploadMultipleCommon {
1024
1821
  multi: true,
1025
1822
  useExisting: forwardRef(() => SacUploadMultipleComponent),
1026
1823
  },
1027
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-xs-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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\"></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 <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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" }] }); }
1824
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-xs-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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\"></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 <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
1028
1825
  }
1029
1826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacUploadMultipleComponent, decorators: [{
1030
1827
  type: Component,
@@ -1044,8 +1841,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1044
1841
  NgIf,
1045
1842
  NgFor,
1046
1843
  AsyncPipe,
1047
- ], template: "<div\r\n class=\"form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"control-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-xs-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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\"></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 <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"] }]
1048
- }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1844
+ SacToLabelWidthCssPipe,
1845
+ SacToControlWidthCssPipe,
1846
+ ], template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"{'has-error': invalid && (dirty || touched)}\"\r\n>\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}label\"\r\n for=\"{{name}}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-xs-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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\"></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 <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\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 class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\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-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\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-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.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}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;line-height:34px;height:34px;color:#000}\n"] }]
1847
+ }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1049
1848
  type: Host
1050
1849
  }, {
1051
1850
  type: Optional
@@ -1068,138 +1867,149 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1068
1867
  }]
1069
1868
  }] });
1070
1869
 
1071
- class SacConfirmComponent extends SacConfirmCommon {
1072
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1073
- 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 [(isvisible)]=\"isvisible\" [title]=\"title\" [allowesc]=\"false\" [closebutton]=\"false\">\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\r\n <img [attr.src]=\"image\" />\r\n </div>\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <div dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button [name]=\"button.key\" [text]=\"button.text\" (clicked)=\"confirm(button.key)\" style=\"margin-left: 15px;\"></sac-button>\r\n </ng-container>\r\n </div>\r\n</sac-dialog>\r\n", dependencies: [{ kind: "component", type: SacDialogComponent, selector: "sac-dialog", inputs: ["zindex"] }, { 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" }] }); }
1074
- }
1075
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacConfirmComponent, decorators: [{
1076
- type: Component,
1077
- args: [{ selector: 'sac-confirm', standalone: true, imports: [SacDialogComponent, NgIf, NgFor, SacButtonComponent], template: "<sac-dialog [(isvisible)]=\"isvisible\" [title]=\"title\" [allowesc]=\"false\" [closebutton]=\"false\">\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\r\n <img [attr.src]=\"image\" />\r\n </div>\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <div dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button [name]=\"button.key\" [text]=\"button.text\" (clicked)=\"confirm(button.key)\" style=\"margin-left: 15px;\"></sac-button>\r\n </ng-container>\r\n </div>\r\n</sac-dialog>\r\n" }]
1078
- }] });
1079
-
1080
1870
  /**
1081
- * Service für Confirm Messages in TypeScript Code
1871
+ * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
1082
1872
  *
1083
- * @example
1084
- * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
1085
- * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
1873
+ * @example Beispiel über Div Container
1086
1874
  *
1087
- * @example
1088
- * // Beispiel für ConfirmMessage mit eigenen Buttons
1089
- * let buttons: SacConfirmButton[] = [];
1090
- * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
1091
- * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
1092
- * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
1875
+ * <div ngForm></div>
1876
+ *
1877
+ * @example Beispiel über Form Tag
1878
+ *
1879
+ * <form></form>
1093
1880
  */
1094
- class ServiceConfirm extends ServiceConfirmCommon {
1881
+ /* eslint @angular-eslint/directive-selector: 0 */
1882
+ class SacFormDirective extends SacFormCommon {
1883
+ // #endregion Properties
1884
+ // #region Constructors
1095
1885
  /**
1096
1886
  * Konstruktor
1097
- * @param componentFactoryResolver Component Factory Resolver Instanz
1098
- * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
1099
- * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
1887
+ * @param form Instanz von NgForm für eigene automatische Formular Logik
1100
1888
  */
1101
- constructor(componentFactoryResolver, appRef, injector) {
1102
- super(appRef, injector);
1103
- this.componentFactoryResolver = componentFactoryResolver;
1104
- /**
1105
- * Titel der im Dialog angezeigt werden soll.
1106
- */
1107
- this.title = '';
1108
- /**
1109
- * Message die in Dialog angezeigt werden soll.
1110
- */
1111
- this.message = '';
1889
+ constructor(form) {
1890
+ super(form);
1891
+ // #region Properties
1112
1892
  /**
1113
- * Collection von Buttons die angezeigt werden müssen.
1893
+ * Setzt die Standard CSS Klasse für auf dem Form Container
1114
1894
  */
1115
- this.buttons = [];
1116
- }
1117
- /**
1118
- * Erzeugen einer Component Factory für einen Dialog
1119
- */
1120
- GetComponentFactory() {
1121
- return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
1122
- }
1123
- /**
1124
- * Konfiguration des Dialogs
1125
- * @param instance Instanz eines SacConfirm Dialogs
1126
- */
1127
- ConfigureDialog(instance) {
1128
- // Text in Dialog setzen
1129
- instance.title = this.title;
1130
- instance.message = this.message;
1131
- instance.buttons = this.buttons;
1132
- instance.image = this.iconService.ConfirmDefaultImage;
1895
+ this.cssClassForm = true;
1133
1896
  }
1897
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormDirective, deps: [{ token: i2.NgForm }], target: i0.ɵɵFactoryTarget.Directive }); }
1898
+ 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" } }, exportAs: ["sacform"], usesInheritance: true, ngImport: i0 }); }
1899
+ }
1900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormDirective, decorators: [{
1901
+ type: Directive,
1902
+ args: [{
1903
+ selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
1904
+ exportAs: 'sacform',
1905
+ standalone: true,
1906
+ }]
1907
+ }], ctorParameters: function () { return [{ type: i2.NgForm }]; }, propDecorators: { cssClassForm: [{
1908
+ type: HostBinding,
1909
+ args: ['class.form']
1910
+ }] } });
1911
+
1912
+ class SacValidationSummaryComponent extends SacValidationSummaryCommon {
1913
+ // #region Constructors
1134
1914
  /**
1135
- * Confirm Dialog anzeigen
1136
- * @param message Nachricht die angezeigt werden soll.
1137
- * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
1915
+ * Constructor
1916
+ * @param formControl Instance of Form Component to receive invalid form controls
1917
+ * @param injector Injector for injecting services
1138
1918
  */
1139
- ConfirmMessage(title, message, buttons = null) {
1140
- this.title = title;
1141
- this.message = message;
1142
- // Default Buttons setzen, wenn keine Buttons angegeben sind
1143
- if (!isDefined(buttons)) {
1144
- // TODO: Text von Localisation Service beziehen
1145
- this.buttons = [];
1146
- this.buttons.push(new SacConfirmButton('yes', 'Ja'));
1147
- this.buttons.push(new SacConfirmButton('no', 'Nein'));
1148
- }
1149
- else {
1150
- this.buttons = buttons;
1151
- }
1152
- return super.Confirm();
1919
+ constructor(formControl, injector) {
1920
+ super(formControl, injector);
1153
1921
  }
1154
- 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 }); }
1155
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceConfirm }); }
1922
+ 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 }); }
1923
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacValidationSummaryComponent, isStandalone: true, selector: "sac-validationsummary", providers: [
1924
+ {
1925
+ provide: NG_VALUE_ACCESSOR,
1926
+ multi: true,
1927
+ useExisting: SacValidationSummaryComponent,
1928
+ },
1929
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\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: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
1156
1930
  }
1157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceConfirm, decorators: [{
1158
- type: Injectable
1159
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver, decorators: [{
1160
- type: Inject,
1161
- args: [ComponentFactoryResolver]
1162
- }] }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
1931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacValidationSummaryComponent, decorators: [{
1932
+ type: Component,
1933
+ args: [{ selector: 'sac-validationsummary', providers: [
1934
+ {
1935
+ provide: NG_VALUE_ACCESSOR,
1936
+ multi: true,
1937
+ useExisting: SacValidationSummaryComponent,
1938
+ },
1939
+ ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [NgIf, NgFor, AsyncPipe], template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\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" }]
1940
+ }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
1941
+ type: Host
1942
+ }, {
1943
+ type: Optional
1944
+ }] }, { type: i0.Injector }]; } });
1163
1945
 
1164
- /**
1165
- * Module für Confirm Messages
1166
- *
1167
- * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap3ConfirmModule.forRoot()
1168
- *
1169
- */
1170
- class SACBootstrap3ConfirmModule {
1171
- static forRoot() {
1172
- return {
1173
- ngModule: SACBootstrap3ConfirmModule,
1174
- providers: [ServiceConfirm],
1175
- };
1176
- }
1177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1178
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule, imports: [SacConfirmComponent], exports: [SacConfirmComponent] }); }
1179
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule }); }
1946
+ class SACBootstrap3ValidationSummaryModule {
1947
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1948
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, imports: [CommonModule,
1949
+ SacValidationSummaryComponent], exports: [SacValidationSummaryComponent] }); }
1950
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, imports: [CommonModule] }); }
1180
1951
  }
1181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ConfirmModule, decorators: [{
1952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, decorators: [{
1182
1953
  type: NgModule,
1183
1954
  args: [{
1184
- imports: [SacConfirmComponent],
1185
- exports: [SacConfirmComponent],
1955
+ imports: [
1956
+ CommonModule,
1957
+ SacValidationSummaryComponent
1958
+ ],
1959
+ exports: [SacValidationSummaryComponent]
1186
1960
  }]
1187
1961
  }] });
1188
1962
 
1189
- /**
1190
- * Factory Methode für SacForm
1191
- * @param form NgFormular
1192
- */
1193
- function SACFORM_FACTORY(form) {
1194
- return form;
1963
+ class SacWizardItemComponent extends SacWizardItemCommon {
1964
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1965
+ 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: "" }); }
1195
1966
  }
1196
- /**
1197
- * Factory Methode für NgForm
1198
- * @param form NgForm
1199
- */
1200
- function NGFORM_FACTORY(form) {
1201
- return form;
1967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardItemComponent, decorators: [{
1968
+ type: Component,
1969
+ args: [{ selector: 'sac-wizarditem', standalone: true, template: "" }]
1970
+ }] });
1971
+
1972
+ class SacWizardComponent extends SacWizardCommon {
1973
+ wizardItems() {
1974
+ return this._wizardItems;
1975
+ }
1976
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1977
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacWizardComponent, isStandalone: true, selector: "sac-wizard", providers: [
1978
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
1979
+ ], queries: [{ propertyName: "_wizardItems", predicate: SacWizardItemComponent }], usesInheritance: true, ngImport: i0, template: "<ul [id]=\"name\" 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"] }] }); }
1980
+ }
1981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardComponent, decorators: [{
1982
+ type: Component,
1983
+ args: [{ selector: 'sac-wizard', providers: [
1984
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
1985
+ ], standalone: true, imports: [
1986
+ NgFor,
1987
+ NgClass,
1988
+ NgStyle,
1989
+ ], template: "<ul [id]=\"name\" 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" }]
1990
+ }], propDecorators: { _wizardItems: [{
1991
+ type: ContentChildren,
1992
+ args: [SacWizardItemComponent]
1993
+ }] } });
1994
+
1995
+ class SACBootstrap3WizardModule {
1996
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1997
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, imports: [CommonModule,
1998
+ SacWizardComponent, SacWizardItemComponent], exports: [SacWizardComponent, SacWizardItemComponent] }); }
1999
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, imports: [CommonModule] }); }
1202
2000
  }
2001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3WizardModule, decorators: [{
2002
+ type: NgModule,
2003
+ args: [{
2004
+ imports: [
2005
+ CommonModule,
2006
+ SacWizardComponent, SacWizardItemComponent
2007
+ ],
2008
+ exports: [SacWizardComponent, SacWizardItemComponent]
2009
+ }]
2010
+ }] });
2011
+
2012
+ // #region Classes
1203
2013
  /**
1204
2014
  * Directive zum erben eines NgForm/NgFormular einer übergeordneten Komponente
1205
2015
  *
@@ -1239,12 +2049,13 @@ class SacInheritFormDirective {
1239
2049
  {
1240
2050
  provide: SacFormDirective,
1241
2051
  useFactory: SACFORM_FACTORY,
1242
- deps: [[new SkipSelf(), SacFormDirective]]
1243
- }, {
2052
+ deps: [[new SkipSelf(), SacFormDirective]],
2053
+ },
2054
+ {
1244
2055
  provide: ControlContainer,
1245
2056
  useFactory: NGFORM_FACTORY,
1246
- deps: [NgForm]
1247
- }
2057
+ deps: [NgForm],
2058
+ },
1248
2059
  ], ngImport: i0 }); }
1249
2060
  }
1250
2061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInheritFormDirective, decorators: [{
@@ -1255,16 +2066,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1255
2066
  {
1256
2067
  provide: SacFormDirective,
1257
2068
  useFactory: SACFORM_FACTORY,
1258
- deps: [[new SkipSelf(), SacFormDirective]]
1259
- }, {
2069
+ deps: [[new SkipSelf(), SacFormDirective]],
2070
+ },
2071
+ {
1260
2072
  provide: ControlContainer,
1261
2073
  useFactory: NGFORM_FACTORY,
1262
- deps: [NgForm]
1263
- }
2074
+ deps: [NgForm],
2075
+ },
1264
2076
  ],
1265
- standalone: true
2077
+ standalone: true,
1266
2078
  }]
1267
2079
  }] });
2080
+ // #endregion Classes
2081
+ // #region Functions
2082
+ /**
2083
+ * Factory Methode für NgForm
2084
+ * @param form NgForm
2085
+ */
2086
+ function NGFORM_FACTORY(form) {
2087
+ return form;
2088
+ }
2089
+ /**
2090
+ * Factory Methode für SacForm
2091
+ * @param form NgFormular
2092
+ */
2093
+ function SACFORM_FACTORY(form) {
2094
+ return form;
2095
+ }
1268
2096
 
1269
2097
  class SACBootstrap3FormModule {
1270
2098
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3FormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -1288,236 +2116,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1288
2116
  }]
1289
2117
  }] });
1290
2118
 
1291
- class SacPagingComponent extends SacPagingCommon {
1292
- /**
1293
- * Konstruktor
1294
- */
1295
- constructor(injector) { super(injector); }
1296
- 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 }); }
1297
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacPagingComponent, isStandalone: true, selector: "sac-paging", providers: [
1298
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1299
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
1300
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"pager-nav col-sm-9\" id=\"{{name}}\">\r\n <ul class=\"pagination\" style=\"margin: 10px 0\">\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-sm-3 text-right\" style=\"margin: 20px 0\">\r\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\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"] }] }); }
1301
- }
1302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacPagingComponent, decorators: [{
1303
- type: Component,
1304
- args: [{ selector: 'sac-paging', providers: [
1305
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1306
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
1307
- ], standalone: true, imports: [NgClass, NgFor], template: "<div class=\"row\">\r\n <div class=\"pager-nav col-sm-9\" id=\"{{name}}\">\r\n <ul class=\"pagination\" style=\"margin: 10px 0\">\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-sm-3 text-right\" style=\"margin: 20px 0\">\r\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\r\n </div>\r\n</div>\r\n" }]
1308
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1309
-
1310
- class SacGridComponent extends SacGridCommon {
1311
- constructor() {
1312
- super(...arguments);
1313
- this.ellipsis = false;
1314
- }
1315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridComponent, isStandalone: true, selector: "sac-grid", providers: [
1317
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
1318
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
1319
- ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<table class=\"table table-striped table-condensed table-hover\" id={{name}}>\r\n <thead>\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\" [pagingtext]=\"pagingtext\" [pagesizetext]=\"pagesizetext\"></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\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" }] }); }
1320
- }
1321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridComponent, decorators: [{
1322
- type: Component,
1323
- args: [{ selector: 'sac-grid', providers: [
1324
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
1325
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
1326
- ], standalone: true, imports: [NgTemplateOutlet, NgFor, NgIf, SacPagingComponent], template: "<table class=\"table table-striped table-condensed table-hover\" id={{name}}>\r\n <thead>\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\" [pagingtext]=\"pagingtext\" [pagesizetext]=\"pagesizetext\"></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n" }]
1327
- }], propDecorators: { template: [{
1328
- type: ContentChild,
1329
- args: [TemplateRef, { static: true }]
1330
- }] } });
1331
-
1332
- class SacGridColumnComponent extends SacGridColumnCommon {
1333
- constructor(grid, injector, el) {
1334
- super(grid, injector, el);
1335
- }
1336
- 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 }); }
1337
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridColumnComponent, isStandalone: true, selector: "sac-gridcolumn", providers: [
1338
- {
1339
- provide: SacGridColumnBaseCommon,
1340
- useExisting: forwardRef(() => SacGridColumnComponent),
1341
- },
1342
- ], 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]=\"IconSortUp\"\r\n style=\"padding-left: 0.5rem\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n [class]=\"IconSortDown\"\r\n style=\"padding-left: 0.5rem\"\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"] }] }); }
1343
- }
1344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridColumnComponent, decorators: [{
1345
- type: Component,
1346
- args: [{ selector: 'sac-gridcolumn', providers: [
1347
- {
1348
- provide: SacGridColumnBaseCommon,
1349
- useExisting: forwardRef(() => SacGridColumnComponent),
1350
- },
1351
- ], 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]=\"IconSortUp\"\r\n style=\"padding-left: 0.5rem\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n [class]=\"IconSortDown\"\r\n style=\"padding-left: 0.5rem\"\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" }]
1352
- }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1353
-
1354
- /**
1355
- * Grid Action Button
1356
- *
1357
- * @example Standard Action
1358
- *
1359
- * <ngGridButton icon="edit" (clicked)="action('edit')" [isdisabled]="true"></ngGridButton>
1360
- *
1361
- * @example Custom Action
1362
- *
1363
- * <ngGridButton iconstyle="sprite" icon="icon-sprite-base-main_info" (clicked)="action('info')"></ngGridButton>
1364
- *
1365
- */
1366
- class SacGridButtonComponent extends SacGridButtonCommon {
1367
- /**
1368
- * Gibt das Icon für den Button zurück
1369
- */
1370
- getIconClass() {
1371
- let iconset = this.iconstyle;
1372
- let iconcss = this.icon;
1373
- if (iconset === '') {
1374
- switch (this.icon) {
1375
- case 'edit':
1376
- iconset = 'sprite';
1377
- iconcss = 'icon-sprite-base-main_edit';
1378
- break;
1379
- case 'delete':
1380
- iconset = 'sprite';
1381
- iconcss = 'icon-sprite-base-main_delete';
1382
- break;
1383
- }
1384
- }
1385
- if (this._isdisabledvalue) {
1386
- iconcss += '_disabled';
1387
- }
1388
- const result = iconset + ' ' + iconcss;
1389
- return result.trim();
1390
- }
1391
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1392
- 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" }); }
1393
- }
1394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridButtonComponent, decorators: [{
1395
- type: Component,
1396
- 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" }]
1397
- }] });
1398
-
1399
- class SacGridColumnActionComponent extends SacGridColumnActionCommon {
1400
- constructor(grid, injector, el) {
1401
- super(grid, injector, el);
1402
- this.width = '52px';
1403
- }
1404
- 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 }); }
1405
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridColumnActionComponent, isStandalone: true, selector: "sac-gridcolumnaction", providers: [
1406
- {
1407
- provide: SacGridColumnBaseCommon,
1408
- useExisting: forwardRef(() => SacGridColumnActionComponent),
1409
- },
1410
- ], usesInheritance: true, ngImport: i0, template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1411
- }
1412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridColumnActionComponent, decorators: [{
1413
- type: Component,
1414
- args: [{ selector: 'sac-gridcolumnaction', providers: [
1415
- {
1416
- provide: SacGridColumnBaseCommon,
1417
- useExisting: forwardRef(() => SacGridColumnActionComponent),
1418
- },
1419
- ], standalone: true, imports: [NgIf], template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n" }]
1420
- }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1421
-
1422
- class SacGridImageComponent extends SacGridImageCommon {
1423
- getIconClass() {
1424
- switch (this.iconstyle) {
1425
- case 'edit':
1426
- return 'sprite icon-sprite-base-main_edit';
1427
- case 'delete':
1428
- return 'sprite icon-sprite-base-main_delete';
1429
- default:
1430
- return this.iconstyle;
1431
- }
1432
- }
1433
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1434
- 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 style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\r\n" }); }
1435
- }
1436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridImageComponent, decorators: [{
1437
- type: Component,
1438
- args: [{ selector: 'sac-gridimage', standalone: true, template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\r\n" }]
1439
- }] });
1440
-
1441
- class SACBootstrap3GridModule {
1442
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1443
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, imports: [CommonModule,
1444
- SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent], exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent] }); }
1445
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, imports: [CommonModule] }); }
1446
- }
1447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3GridModule, decorators: [{
1448
- type: NgModule,
1449
- args: [{
1450
- imports: [
1451
- CommonModule,
1452
- SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent
1453
- ],
1454
- exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent]
1455
- }]
1456
- }] });
1457
-
1458
- class SacTreeViewChildComponent extends SacTreeViewChildCommon {
1459
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewChildComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1460
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeViewChildComponent, isStandalone: true, selector: "sac-treeviewchild", usesInheritance: true, ngImport: i0, template: "<ul class=\"jstree-children\" *ngIf=\"nodes && nodes.length\">\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n {{node[textAttr]}}\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n</ul>\r\n", dependencies: [{ kind: "component", type: SacTreeViewChildComponent, selector: "sac-treeviewchild" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
1461
- }
1462
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewChildComponent, decorators: [{
1463
- type: Component,
1464
- args: [{ selector: 'sac-treeviewchild', standalone: true, imports: [NgIf, NgFor, NgClass, NgTemplateOutlet, SacTreeViewChildComponent], template: "<ul class=\"jstree-children\" *ngIf=\"nodes && nodes.length\">\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n {{node[textAttr]}}\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n</ul>\r\n" }]
1465
- }] });
1466
-
1467
- class SacTreeViewComponent extends SacTreeViewCommon {
1468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeViewComponent, isStandalone: true, selector: "sac-treeview", usesInheritance: true, ngImport: i0, template: "<div class=\"structure panel panel-default\" icon=\"Structure\">\r\n <div class=\"panel-heading\">\r\n <p class=\"panel-title\"><span>{{ name }}</span></p>\r\n </div>\r\n <div class=\"panel-body\">\r\n <div class=\"right\">\r\n <div\r\n class=\"form-submit form-inline\"\r\n style=\"text-align: right; height: 24px\"\r\n >\r\n <a class=\"btn-inline\"\r\n ><i class=\"icon icon-base-expand\" (click)=\"collapseAllNode(false)\"></i\r\n ></a>\r\n <a class=\"btn-inline\"\r\n ><i\r\n class=\"icon icon-base-collapse\"\r\n (click)=\"collapseAllNode(true)\"\r\n ></i\r\n ></a>\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"name\"\r\n class=\"structure-tree single-root jstree jstree-1 jstree-default\"\r\n >\r\n <ul\r\n class=\"jstree-container-ul jstree-children jstree-no-dots jstree-striped jstree-wholerow-ul\"\r\n *ngIf=\"nodes && nodes.length\"\r\n >\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <span>{{node[textAttr]}}</span>\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n </ul>\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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SacTreeViewChildComponent, selector: "sac-treeviewchild" }] }); }
1470
- }
1471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeViewComponent, decorators: [{
1472
- type: Component,
1473
- args: [{ selector: 'sac-treeview', standalone: true, imports: [
1474
- NgIf,
1475
- NgFor,
1476
- NgClass,
1477
- NgTemplateOutlet,
1478
- SacTreeViewChildComponent,
1479
- ], template: "<div class=\"structure panel panel-default\" icon=\"Structure\">\r\n <div class=\"panel-heading\">\r\n <p class=\"panel-title\"><span>{{ name }}</span></p>\r\n </div>\r\n <div class=\"panel-body\">\r\n <div class=\"right\">\r\n <div\r\n class=\"form-submit form-inline\"\r\n style=\"text-align: right; height: 24px\"\r\n >\r\n <a class=\"btn-inline\"\r\n ><i class=\"icon icon-base-expand\" (click)=\"collapseAllNode(false)\"></i\r\n ></a>\r\n <a class=\"btn-inline\"\r\n ><i\r\n class=\"icon icon-base-collapse\"\r\n (click)=\"collapseAllNode(true)\"\r\n ></i\r\n ></a>\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"name\"\r\n class=\"structure-tree single-root jstree jstree-1 jstree-default\"\r\n >\r\n <ul\r\n class=\"jstree-container-ul jstree-children jstree-no-dots jstree-striped jstree-wholerow-ul\"\r\n *ngIf=\"nodes && nodes.length\"\r\n >\r\n <li\r\n *ngFor=\"let node of nodes; let last = last\"\r\n class=\"jstree-node\"\r\n [ngClass]=\"{\r\n 'jstree-open': !node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-closed': node[collapseAttr] && node[childrenAttr] && node[childrenAttr].length,\r\n 'jstree-leaf': !node[childrenAttr].length,\r\n 'jstree-last': last\r\n }\"\r\n [id]=\"node[idAttr]\"\r\n >\r\n <div\r\n unselectable=\"on\"\r\n role=\"presentation\"\r\n class=\"jstree-wholerow\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n [ngClass]=\"{'jstree-wholerow-clicked': node === selectedNode, 'jstree-wholerow-hovered': node.hover}\"\r\n >\r\n &nbsp;\r\n </div>\r\n\r\n <i\r\n class=\"jstree-icon jstree-ocl\"\r\n role=\"presentation\"\r\n (click)=\"onCollapseClick(node)\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n ></i>\r\n\r\n <a\r\n class=\"jstree-anchor\"\r\n (click)=\"onClick(node)\"\r\n [ngClass]=\"{'jstree-clicked': node === selectedNode, 'jstreehovered': node.hover}\"\r\n (mouseover)=\"node.hover=true\"\r\n (mouseout)=\"node.hover=false\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"treefileicon; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <span>{{node[textAttr]}}</span>\r\n </a>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { item: node }\"\r\n ;\r\n content\r\n ></ng-container>\r\n\r\n <sac-treeviewchild\r\n *ngIf=\"node[childrenAttr] && node[childrenAttr].length\"\r\n [fileicontemplate]=\"fileicontemplate\"\r\n [template]=\"template\"\r\n [collapseall]=\"collapseall\"\r\n [ngClass]=\"(node[collapseAttr]===true)?'collapse':'show'\"\r\n [data]=\"node[childrenAttr]\"\r\n [idAttr]=\"idAttr\"\r\n [parentAttr]=\"parentAttr\"\r\n [textAttr]=\"textAttr\"\r\n [prepareData]=\"false\"\r\n (onselecteditem)=\"sendMsgToParent($event)\"\r\n [(selectedid)]=\"selectedid\"\r\n >\r\n </sac-treeviewchild>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1480
- }] });
1481
-
1482
- class SacTreeItemActionComponent extends SacTreeItemActionCommon {
1483
- constructor(el) {
1484
- super(el);
1485
- }
1486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeItemActionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
1487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeItemActionComponent, isStandalone: true, selector: "sac-treeitemaction", usesInheritance: true, ngImport: i0, template: "<i class=\"{{transformClass(iconstyle)}}\" (mouseover)=\"item.hover=true\" (mouseout)=\"item.hover=false\" (click)=\"iconaction()\" ></i>" }); }
1488
- }
1489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeItemActionComponent, decorators: [{
1490
- type: Component,
1491
- args: [{ selector: 'sac-treeitemaction', standalone: true, template: "<i class=\"{{transformClass(iconstyle)}}\" (mouseover)=\"item.hover=true\" (mouseout)=\"item.hover=false\" (click)=\"iconaction()\" ></i>" }]
1492
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1493
-
1494
- class SACBootstrap3TtreeviewModule {
1495
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1496
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, imports: [CommonModule,
1497
- SacTreeViewComponent,
1498
- SacTreeViewChildComponent,
1499
- SacTreeItemActionComponent], exports: [SacTreeViewComponent,
1500
- SacTreeViewChildComponent,
1501
- SacTreeItemActionComponent] }); }
1502
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, imports: [CommonModule] }); }
1503
- }
1504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, decorators: [{
1505
- type: NgModule,
1506
- args: [{
1507
- imports: [
1508
- CommonModule,
1509
- SacTreeViewComponent,
1510
- SacTreeViewChildComponent,
1511
- SacTreeItemActionComponent,
1512
- ],
1513
- exports: [
1514
- SacTreeViewComponent,
1515
- SacTreeViewChildComponent,
1516
- SacTreeItemActionComponent,
1517
- ],
1518
- }]
1519
- }] });
1520
-
1521
2119
  /*
1522
2120
  * Public API Surface of sac-bootstrap3
1523
2121
  */
@@ -1526,5 +2124,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1526
2124
  * Generated bundle index. Do not edit.
1527
2125
  */
1528
2126
 
1529
- export { NGFORM_FACTORY, SACBootstrap3ButtonModule, SACBootstrap3CheckboxModule, SACBootstrap3ConfirmModule, SACBootstrap3DateTimeModule, SACBootstrap3DialogModule, SACBootstrap3FormModule, SACBootstrap3GridModule, SACBootstrap3InputModule, SACBootstrap3ListModule, SACBootstrap3StaticLabelModule, SACBootstrap3TabsModule, SACBootstrap3TinyMceModule, SACBootstrap3TooltipModule, SACBootstrap3TtreeviewModule, SACBootstrap3UploadModule, SACBootstrap3ValidationSummaryModule, SACBootstrap3WizardModule, SACFORM_FACTORY, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacFormDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacTooltipComponent, SacTreeItemActionComponent, SacTreeViewChildComponent, SacTreeViewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm };
2127
+ export { NGFORM_FACTORY, SACBootstrap3ButtonModule, SACBootstrap3CheckboxModule, SACBootstrap3ConfirmModule, SACBootstrap3DateTimeModule, SACBootstrap3DialogModule, SACBootstrap3FormModule, SACBootstrap3GridModule, SACBootstrap3InputModule, SACBootstrap3LayoutModule, SACBootstrap3ListModule, SACBootstrap3StaticLabelModule, SACBootstrap3TabsModule, SACBootstrap3TinyMceModule, SACBootstrap3TooltipModule, SACBootstrap3TtreeviewModule, SACBootstrap3UploadModule, SACBootstrap3ValidationSummaryModule, SACBootstrap3WizardModule, SACFORM_FACTORY, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacFormDirective, SacFormLayoutDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacToControlWidthCssPipe, SacToLabelWidthCssPipe, SacTooltipComponent, SacTreeItemActionComponent, SacTreeViewChildComponent, SacTreeViewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm };
1530
2128
  //# sourceMappingURL=simpleangularcontrols-sac-bootstrap3.mjs.map