@simpleangularcontrols/sac-common 10.0.0-rc.11 → 10.0.0-rc.13

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 (86) hide show
  1. package/bundles/simpleangularcontrols-sac-common.umd.js +1425 -1088
  2. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
  3. package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
  5. package/common/basedatetimecontrol.d.ts +99 -13
  6. package/common/basemodelcontrol.d.ts +33 -29
  7. package/controls/checkbox/radiobutton.d.ts +61 -26
  8. package/controls/contextmenu/contextmenu.d.ts +26 -19
  9. package/controls/contextmenu/contextmenu.interface.d.ts +3 -0
  10. package/controls/contextmenu/contextmenuitem.d.ts +5 -0
  11. package/controls/contextmenu/contextmenuitembutton.d.ts +21 -20
  12. package/controls/datetime/date.d.ts +28 -27
  13. package/controls/datetime/datetime.d.ts +27 -27
  14. package/controls/datetime/time.d.ts +26 -26
  15. package/controls/dialog/dialog.d.ts +31 -43
  16. package/controls/layout/formlayout.d.ts +4 -0
  17. package/controls/list/buildvaluestring.d.ts +6 -0
  18. package/controls/list/dropdown.d.ts +9 -51
  19. package/controls/list/dropdownoptions.d.ts +38 -0
  20. package/controls/list/dropdownoptions.ngfactory.d.ts +1 -0
  21. package/controls/static/formcontainer.d.ts +11 -3
  22. package/controls/tooltip/tooltip.d.ts +33 -51
  23. package/controls/treeview/treeview.d.ts +87 -121
  24. package/esm2015/common/basedatetimecontrol.js +178 -30
  25. package/esm2015/common/basemodelcontrol.js +71 -56
  26. package/esm2015/controls/checkbox/radiobutton.js +94 -45
  27. package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -0
  28. package/esm2015/controls/contextmenu/contextmenu.interface.ngfactory.js +7 -0
  29. package/esm2015/controls/contextmenu/contextmenu.js +22 -23
  30. package/esm2015/controls/contextmenu/contextmenuitem.js +13 -2
  31. package/esm2015/controls/contextmenu/contextmenuitembutton.js +34 -25
  32. package/esm2015/controls/datetime/date.js +43 -41
  33. package/esm2015/controls/datetime/datetime.js +42 -41
  34. package/esm2015/controls/datetime/time.js +42 -41
  35. package/esm2015/controls/dialog/dialog.js +41 -83
  36. package/esm2015/controls/layout/formlayout.js +7 -6
  37. package/esm2015/controls/list/buildvaluestring.js +18 -0
  38. package/esm2015/controls/{treeview/ngtreeitemaction.ngfactory.js → list/buildvaluestring.ngfactory.js} +1 -1
  39. package/esm2015/controls/list/dropdown.js +16 -114
  40. package/esm2015/controls/list/dropdownoptions.js +72 -0
  41. package/esm2015/controls/{treeview/treeviewchild.ngfactory.js → list/dropdownoptions.ngfactory.js} +1 -1
  42. package/esm2015/controls/static/formcontainer.js +16 -6
  43. package/esm2015/controls/tooltip/tooltip.js +60 -250
  44. package/esm2015/controls/treeview/treeview.js +232 -247
  45. package/esm2015/interfaces/ISacConfigurationService.js +1 -1
  46. package/esm2015/interfaces/ISacIconService.js +1 -1
  47. package/esm2015/interfaces/treeviewaction.interface.js +1 -0
  48. package/esm2015/interfaces/treeviewaction.interface.ngfactory.js +7 -0
  49. package/esm2015/public_api.js +6 -6
  50. package/esm2015/services/sac-configuration.service.js +7 -5
  51. package/esm2015/services/sac-icon.service.js +25 -1
  52. package/esm2015/utilities/enums.js +5 -1
  53. package/esm2015/utilities/popuphelper.js +343 -0
  54. package/esm2015/utilities/popuphelper.ngfactory.js +7 -0
  55. package/esm2015/validation/equals.validator.js +14 -0
  56. package/esm2015/validation/equals.validator.ngfactory.js +7 -0
  57. package/esm2015/validation/notequals.validator.js +14 -0
  58. package/esm2015/validation/notequals.validator.ngfactory.js +7 -0
  59. package/esm2015/validation/validation.class.js +30 -6
  60. package/fesm2015/simpleangularcontrols-sac-common.js +1398 -1075
  61. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
  62. package/interfaces/ISacConfigurationService.d.ts +4 -0
  63. package/interfaces/ISacIconService.d.ts +16 -0
  64. package/interfaces/treeviewaction.interface.d.ts +4 -0
  65. package/interfaces/treeviewaction.interface.ngfactory.d.ts +1 -0
  66. package/package.json +1 -1
  67. package/public_api.d.ts +5 -5
  68. package/services/sac-configuration.service.d.ts +8 -0
  69. package/services/sac-icon.service.d.ts +33 -1
  70. package/simpleangularcontrols-sac-common-10.0.0-rc.13.tgz +0 -0
  71. package/simpleangularcontrols-sac-common.metadata.json +1 -1
  72. package/utilities/enums.d.ts +3 -1
  73. package/utilities/popuphelper.d.ts +83 -0
  74. package/utilities/popuphelper.ngfactory.d.ts +1 -0
  75. package/validation/equals.validator.d.ts +2 -0
  76. package/validation/equals.validator.ngfactory.d.ts +1 -0
  77. package/validation/notequals.validator.d.ts +2 -0
  78. package/validation/notequals.validator.ngfactory.d.ts +1 -0
  79. package/validation/validation.class.d.ts +19 -0
  80. package/controls/treeview/ngtreeitemaction.d.ts +0 -40
  81. package/controls/treeview/treeviewchild.d.ts +0 -12
  82. package/esm2015/controls/treeview/ngtreeitemaction.js +0 -60
  83. package/esm2015/controls/treeview/treeviewchild.js +0 -18
  84. package/simpleangularcontrols-sac-common-10.0.0-rc.11.tgz +0 -0
  85. /package/controls/{treeview/ngtreeitemaction.ngfactory.d.ts → contextmenu/contextmenu.interface.ngfactory.d.ts} +0 -0
  86. /package/controls/{treeview/treeviewchild.ngfactory.d.ts → list/buildvaluestring.ngfactory.d.ts} +0 -0
@@ -1,25 +1,78 @@
1
- import { AfterViewInit, ElementRef, Injector } from '@angular/core';
2
- import { AbstractControl, ValidationErrors } from '@angular/forms';
3
- import { Moment } from 'moment';
4
1
  import { SacFormLayoutCommon } from '../controls/layout/formlayout';
2
+ import { TooltipPosition } from '../utilities/enums';
5
3
  import { SacBaseModelControl } from './basemodelcontrol';
4
+ import { ChangeDetectorRef, DoCheck, ElementRef, Injector, OnDestroy, OnInit } from '@angular/core';
5
+ import { AbstractControl, ValidationErrors } from '@angular/forms';
6
+ import * as moment_ from 'moment';
6
7
  /**
7
8
  * Base Klasse für Date/Time Controls
8
9
  */
9
- export declare abstract class SacBaseDateTimeControl extends SacBaseModelControl<Date> implements AfterViewInit {
10
+ export declare abstract class SacBaseDateTimeControl extends SacBaseModelControl<Date> implements OnInit, OnDestroy, DoCheck {
10
11
  protected elementRef: ElementRef;
12
+ private readonly cdRef;
13
+ /**
14
+ * Helper class to display tooltip on correct position
15
+ */
16
+ private readonly popupHelper;
11
17
  /**
12
18
  * das property enthielt das Value als string. Default ist ''
13
19
  */
14
20
  protected _valueAsString: string;
21
+ /**
22
+ * Containers for the datetime picker
23
+ */
24
+ protected pickercontainer: ElementRef<HTMLElement>;
25
+ /**
26
+ * Property for enum in Angular HTML template
27
+ */
28
+ TooltipPosition: typeof TooltipPosition;
29
+ /**
30
+ * Definiert ob der Date Selector angezeigt wird
31
+ */
32
+ _showselector: boolean;
15
33
  /**
16
34
  * Definiert das Control als Required
17
35
  */
18
36
  isrequired: boolean;
37
+ /**
38
+ * Moment JS Instance
39
+ */
40
+ moment: any;
41
+ /**
42
+ * Arrow Item of Picker Element. Required to set the position of arrow correctly
43
+ */
44
+ pickerPosition: typeof TooltipPosition;
45
+ pickerarrow: ElementRef<HTMLElement> | null;
46
+ /**
47
+ * Name of the container for content (e.g. icon) on which the tooltip is displayed.
48
+ */
49
+ pickerbutton: ElementRef<HTMLElement>;
19
50
  /**
20
51
  * TextBox Placeholder
21
52
  */
22
53
  placeholder: string;
54
+ /**
55
+ * Position of the picker arrow at the left
56
+ */
57
+ posArrowLeft: number | null;
58
+ /**
59
+ * Position of the picker arrow at the top
60
+ */
61
+ posArrowTop: number | null;
62
+ /**
63
+ * Position of the picker at the left
64
+ */
65
+ posPopupLeft: number;
66
+ /**
67
+ * Position of the picker at the top
68
+ */
69
+ posPopupTop: number;
70
+ /**
71
+ * Position of the datetime picker. Values: left|top|right|bottom|auto
72
+ *
73
+ * Value 'auto' can be combined with another value.
74
+ */
75
+ position: string;
23
76
  /**
24
77
  * Resource Key für Validation Message DateTimeFormat bei Control
25
78
  */
@@ -42,23 +95,50 @@ export declare abstract class SacBaseDateTimeControl extends SacBaseModelControl
42
95
  * @param injector Injector for injecting services
43
96
  * @param elementRef reference to html element
44
97
  */
45
- constructor(formlayout: SacFormLayoutCommon, injector: Injector, elementRef: ElementRef);
98
+ constructor(formlayout: SacFormLayoutCommon, injector: Injector, elementRef: ElementRef, cdRef: ChangeDetectorRef);
46
99
  /**
47
- * Das Input bekommt das value von typ string
100
+ * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.
48
101
  */
49
- set valuestring(v: string);
102
+ set picker(picker: ElementRef);
103
+ get tooltop(): ElementRef;
50
104
  /**
51
105
  * getter für valuestring
52
106
  */
53
107
  get valuestring(): string;
108
+ /**
109
+ * Das Input bekommt das value von typ string
110
+ */
111
+ set valuestring(v: string);
112
+ /**
113
+ * Die methode returns dateTime in string
114
+ */
115
+ abstract GetDateTimeFormatString(): string;
116
+ /**
117
+ * Returns the position of the tooltip
118
+ */
119
+ GetPickerPosition(): TooltipPosition;
120
+ /**
121
+ * Die methode modifiziert das eingegebene Value von typ Moment
122
+ */
123
+ abstract ModifyParsedDateTimeValue(v: moment_.Moment): moment_.Moment;
54
124
  /**
55
125
  * JSON Date String in ein UTC DateTime Object konvertieren, welches vom Control verwendete werden kann
56
126
  */
57
127
  getDate(timestamp: any): moment.Moment;
128
+ /**
129
+ * Calculates the height of the tooltip
130
+ */
131
+ getPickerHeight(): number;
132
+ /**
133
+ * Calculates the width of the picker
134
+ */
135
+ getPickerWidth(): number;
136
+ ngDoCheck(): void;
137
+ ngOnDestroy(): void;
58
138
  /**
59
139
  * Init Event
60
140
  */
61
- ngAfterViewInit(): void;
141
+ ngOnInit(): void;
62
142
  /**
63
143
  * setzt das value von typ string zu property valuestring
64
144
  */
@@ -71,13 +151,19 @@ export declare abstract class SacBaseDateTimeControl extends SacBaseModelControl
71
151
  * Overwrite WriteValue to Set correct Date Object
72
152
  */
73
153
  writeValue(value: Date | string): void;
154
+ protected getArrowHeight(): number;
155
+ protected getArrowWidth(): number;
74
156
  /**
75
- * Die methode returns dateTime in string
157
+ * Calculates the position of the tooltip from links
76
158
  */
77
- abstract GetDateTimeFormatString(): string;
159
+ protected getPositionLeft(): number;
78
160
  /**
79
- * Die methode modifiziert das eingegebene Value von typ Moment
161
+ * Calculates the position of the tooltip from the top
162
+ */
163
+ protected getPositionTop(): number;
164
+ /**
165
+ * method if content has changed and proportions need to be reset in the UI.
80
166
  */
81
- abstract ModifyParsedDateTimeValue(v: Moment): Moment;
82
- private SetDateTimeFormat;
167
+ private readonly onContentChange;
168
+ private setDateTimeFormat;
83
169
  }
@@ -1,6 +1,3 @@
1
- import { AfterViewInit, Injector, OnInit } from '@angular/core';
2
- import { AbstractControl, ControlValueAccessor, FormControl, ValidationErrors, Validator } from '@angular/forms';
3
- import { Observable } from 'rxjs';
4
1
  import { SacFormLayoutCommon } from '../controls/layout/formlayout';
5
2
  import { ControlHeight } from '../enums/ControlHeight';
6
3
  import { ISacConfigurationService } from '../interfaces/ISacConfigurationService';
@@ -8,15 +5,21 @@ import { ISacIconService } from '../interfaces/ISacIconService';
8
5
  import { ISacLabelSizes } from '../interfaces/ISacLabelSizes';
9
6
  import { ISacLocalisationService } from '../interfaces/ISacLocalisationService';
10
7
  import { ISacValidationKeyService } from '../interfaces/ISacValidationKeyService';
8
+ import { Injector, OnInit } from '@angular/core';
9
+ import { AbstractControl, ControlValueAccessor, FormControl, ValidationErrors, Validator } from '@angular/forms';
10
+ import { Observable } from 'rxjs';
11
11
  /**
12
12
  * Abstract Klasse für SacBaseModelControl. Implements ControlValueAccessor, Validator, OnInit
13
13
  */
14
- export declare abstract class SacBaseModelControl<VALUE> implements ControlValueAccessor, Validator, OnInit, AfterViewInit {
14
+ export declare abstract class SacBaseModelControl<VALUE> implements ControlValueAccessor, Validator, OnInit {
15
15
  private readonly injector;
16
16
  /**
17
17
  * Inline Errors für das Control
18
18
  */
19
19
  private _inlineerrorenabled;
20
+ /**
21
+ * Label Text
22
+ */
20
23
  private _label;
21
24
  /**
22
25
  * Service for loading default settings for the controls
@@ -58,6 +61,10 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
58
61
  * ngControl
59
62
  */
60
63
  protected ngControl: FormControl;
64
+ /**
65
+ * ControlHeight enum for use in HTML markup
66
+ */
67
+ ControlHeight: typeof ControlHeight;
61
68
  /**
62
69
  * Defines the standard height of the components
63
70
  */
@@ -114,10 +121,6 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
114
121
  * Name des Controls
115
122
  */
116
123
  name: string;
117
- /**
118
- * ControlHeight enum for use in HTML markup
119
- */
120
- ControlHeight: typeof ControlHeight;
121
124
  /**
122
125
  * Leere Implementation von "propagateChange". Muss gemacht werden, damit kein Fehler entsteht
123
126
  */
@@ -126,6 +129,10 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
126
129
  * Leere Implementation von "propagateTouch". Muss gemacht werden, damit kein Fehler entsteht
127
130
  */
128
131
  propagateTouch: any;
132
+ /**
133
+ * Detach label text and tooltip from each other in Label so that label and tooltip can be aligned differently. This is in Bootstrap 3 not supported!
134
+ */
135
+ splitlabelandhelptext: boolean | null;
129
136
  /**
130
137
  * Service to receive standard validation message keys and texts
131
138
  */
@@ -136,19 +143,6 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
136
143
  * @param injector Injector for injecting services
137
144
  */
138
145
  constructor(formlayout: SacFormLayoutCommon, injector: Injector);
139
- /**
140
- * Aktiviert oder Deaktiviert die Inline Errors für das Control
141
- */
142
- set inlineerrorenabled(value: boolean | null);
143
- /**
144
- * Definiert den Label Text
145
- */
146
- set label(v: string);
147
- /**
148
- * Set Methode für NgModel Binding in Html Markup
149
- * Input wird benötigt, damit der Wert auch über das Markup gesetzt werden kann.
150
- */
151
- set value(v: VALUE);
152
146
  /**
153
147
  * Get Icon for Helptext Tooltip
154
148
  */
@@ -161,6 +155,10 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
161
155
  * Show error messages inline
162
156
  */
163
157
  get inlineerrorenabled(): boolean | null;
158
+ /**
159
+ * Aktiviert oder Deaktiviert die Inline Errors für das Control
160
+ */
161
+ set inlineerrorenabled(value: boolean | null);
164
162
  /**
165
163
  * Methode ergibt boolean Wert wenn Form invalid oder nicht invalid ist
166
164
  */
@@ -177,6 +175,10 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
177
175
  * Definiert den Label Text
178
176
  */
179
177
  get label(): string;
178
+ /**
179
+ * Definiert den Label Text
180
+ */
181
+ set label(v: string);
180
182
  /**
181
183
  * returns an object with all label sizes. These values can then be transferred to corresponding CSS classes using a pipe
182
184
  */
@@ -190,13 +192,14 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
190
192
  */
191
193
  get value(): VALUE;
192
194
  /**
193
- * Methode ergibt Error anhand von gegebenen Kriterien
195
+ * Set Methode für NgModel Binding in Html Markup
196
+ * Input wird benötigt, damit der Wert auch über das Markup gesetzt werden kann.
194
197
  */
195
- GetErrorMessage(): Observable<string>;
198
+ set value(v: VALUE);
196
199
  /**
197
- * In Angular 10 the Control Label for Reactive Forms can be set first time here. With Angular 13 is supported by init in OnInit
200
+ * Methode ergibt Error anhand von gegebenen Kriterien
198
201
  */
199
- ngAfterViewInit(): void;
202
+ GetErrorMessage(): Observable<string>;
200
203
  /**
201
204
  * Init Event
202
205
  */
@@ -230,14 +233,14 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
230
233
  * Validator Methode
231
234
  */
232
235
  validate(c: AbstractControl): ValidationErrors | null;
233
- /**
234
- * Methode zum schreiben von Werten aus dem Model in das Control
235
- */
236
- writeValue(value: VALUE): void;
237
236
  /**
238
237
  * Abstrakte Validator Methode
239
238
  */
240
239
  abstract validateData(c: AbstractControl): ValidationErrors | null;
240
+ /**
241
+ * Methode zum schreiben von Werten aus dem Model in das Control
242
+ */
243
+ writeValue(value: VALUE): void;
241
244
  /**
242
245
  * Method can Overwriten in Parent Classes
243
246
  * @param value Wert welcher in den korrekten Typ konvertiert werden soll
@@ -273,4 +276,5 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
273
276
  * Set label sizes from property or parent layout control
274
277
  */
275
278
  private setLabelSizes;
279
+ private setLabelSplitMode;
276
280
  }
@@ -1,28 +1,39 @@
1
- import { EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
1
  import { ControlHeight } from '../../enums/ControlHeight';
2
+ import { ISacConfigurationService } from '../../interfaces/ISacConfigurationService';
3
+ import { ISacIconService } from '../../interfaces/ISacIconService';
4
+ import { SacFormLayoutCommon } from '../layout/formlayout';
3
5
  import { SacRadiobuttonsCommon } from './radiobuttons';
6
+ import { EventEmitter, Injector, OnDestroy, OnInit, TemplateRef } from '@angular/core';
4
7
  /**
5
8
  * Basis Komponente für SacRadiobutton.
6
9
  */
7
- export declare abstract class SacRadiobuttonCommon implements OnDestroy {
10
+ export declare abstract class SacRadiobuttonCommon implements OnInit, OnDestroy {
8
11
  protected sacRadioButtons: SacRadiobuttonsCommon;
12
+ private readonly injector;
9
13
  /**
10
- * Konstruktor
11
- * @param SacRadioButtons
14
+ * Boolean Property zum Ausblenden des Controls; default Wert - false
12
15
  */
13
- constructor(sacRadioButtons: SacRadiobuttonsCommon);
16
+ private _hidden;
14
17
  /**
15
- * ControlHeight enum for use in HTML markup
18
+ * Service for loading default settings for the controls
16
19
  */
17
- ControlHeight: typeof ControlHeight;
20
+ protected readonly configurationService: ISacConfigurationService;
18
21
  /**
19
- * Wert
22
+ * Form layout instance if exists
20
23
  */
21
- value: any;
24
+ protected formlayout: SacFormLayoutCommon;
22
25
  /**
23
- * Label Text
26
+ * icon service
24
27
  */
25
- label: string;
28
+ protected iconService: ISacIconService;
29
+ /**
30
+ * public public public public public public public public public public public public public ControlHeight enum for use in HTML markup
31
+ */
32
+ ControlHeight: typeof ControlHeight;
33
+ /**
34
+ * Unique Index für RadioButton
35
+ */
36
+ _index: number;
26
37
  /**
27
38
  * Boolean Property, ob Radiobutton checked ist
28
39
  */
@@ -31,27 +42,45 @@ export declare abstract class SacRadiobuttonCommon implements OnDestroy {
31
42
  * Boolean Property, ob Radiobutton disabled ist
32
43
  */
33
44
  disabled: boolean;
45
+ /**
46
+ * Text to support the user during input.
47
+ */
48
+ helptext: string;
49
+ /**
50
+ * Mode for display helptext
51
+ */
52
+ helptextmode: 'tooltip' | 'text' | null;
53
+ /**
54
+ * Label Text
55
+ */
56
+ label: string;
57
+ /**
58
+ * Template für Value Element
59
+ */
60
+ labeltemplate: TemplateRef<any>;
34
61
  /**
35
62
  * Output Event
36
63
  */
37
64
  onselectitem: EventEmitter<any>;
38
65
  /**
39
- * Methode ergibt Boolean, ob Control disabled ist
66
+ * Wert
40
67
  */
41
- get isDisabled(): boolean;
68
+ value: any;
42
69
  /**
43
- * Boolean Property zum Ausblenden des Controls; default Wert - false
70
+ * Konstruktor
71
+ * @param SacRadioButtons
72
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
73
+ * @param injector Injector for injecting services
44
74
  */
45
- private _hidden;
75
+ constructor(sacRadioButtons: SacRadiobuttonsCommon, formlayout: SacFormLayoutCommon, injector: Injector);
46
76
  /**
47
- * Setter für hidden Property
77
+ * Get Icon for Helptext Tooltip
48
78
  */
49
- set hidden(v: boolean | string);
50
- get hidden(): boolean | string;
79
+ get HelptextTooltipIcon(): string;
51
80
  /**
52
- * Unique Index für RadioButton
81
+ * define the control height from parent control
53
82
  */
54
- _index: number;
83
+ get componentHeight(): ControlHeight | null;
55
84
  /**
56
85
  * Getter für Unique Index
57
86
  */
@@ -60,20 +89,26 @@ export declare abstract class SacRadiobuttonCommon implements OnDestroy {
60
89
  * Parent Control Name
61
90
  */
62
91
  get getName(): string;
92
+ get hidden(): boolean | string;
63
93
  /**
64
- * define the control height from parent control
94
+ * Setter für hidden Property
65
95
  */
66
- get componentHeight(): ControlHeight | null;
96
+ set hidden(v: boolean | string);
67
97
  /**
68
- * Template für Value Element
98
+ * Methode ergibt Boolean, ob Control disabled ist
69
99
  */
70
- labeltemplate: TemplateRef<any>;
100
+ get isDisabled(): boolean;
101
+ /**
102
+ * Event bei Änderungen
103
+ */
104
+ ChangeEvent(): void;
71
105
  /**
72
106
  * Event wenn die Komponente zerstört wird
73
107
  */
74
108
  ngOnDestroy(): void;
109
+ ngOnInit(): void;
75
110
  /**
76
- * Event bei Änderungen
111
+ * Set mode for helptext. Can be tooltip or text
77
112
  */
78
- ChangeEvent(): void;
113
+ private setHelpTextMode;
79
114
  }
@@ -1,34 +1,36 @@
1
- import { ElementRef, Injector, NgZone, OnDestroy, Renderer2, TemplateRef } from '@angular/core';
2
1
  import { ISacIconService } from '../../interfaces/ISacIconService';
3
2
  import { PlacementArray } from '../../utilities/positioning';
3
+ import { ISacContextmenuCommon } from './contextmenu.interface';
4
+ import { SacContextmenuItemCommon } from './contextmenuitem';
5
+ import { AfterContentInit, ElementRef, Injector, NgZone, OnDestroy, QueryList, Renderer2, TemplateRef } from '@angular/core';
4
6
  /**
5
7
  * Base Context Menü Element. Die Logik wurde aus NG-BOOTSTRAP übernommen.
6
8
  */
7
- export declare class SacContextmenuCommon implements OnDestroy {
8
- private document;
9
- private ngZone;
10
- private elementRef;
11
- private renderer;
9
+ export declare class SacContextmenuCommon implements ISacContextmenuCommon, AfterContentInit, OnDestroy {
10
+ private readonly document;
11
+ private readonly ngZone;
12
+ private readonly elementRef;
13
+ private readonly renderer;
12
14
  /**
13
- * Button für Open/Close Event aus Template
15
+ * Button für Open/Close Event
14
16
  */
15
- private _anchorTemplate;
17
+ private readonly _anchor;
16
18
  /**
17
- * Button für Open/Close Event
19
+ * Button für Open/Close Event aus Template
18
20
  */
19
- private _anchor;
21
+ private readonly _anchorTemplate;
20
22
  /**
21
23
  * Container Element für Dropdown
22
24
  */
23
- private _menu;
25
+ private readonly _menu;
24
26
  /**
25
- * Body HTML Element
27
+ * Zone Subscription für Postitonierung des Elements
26
28
  */
27
- private bodyContainer;
29
+ private readonly zoneSubscription;
28
30
  /**
29
- * Zone Subscription für Postitonierung des Elements
31
+ * Body HTML Element
30
32
  */
31
- private zoneSubscription;
33
+ private bodyContainer;
32
34
  /**
33
35
  * icon service
34
36
  */
@@ -49,6 +51,10 @@ export declare class SacContextmenuCommon implements OnDestroy {
49
51
  * Definiert ob das Dropdown offen ist.
50
52
  */
51
53
  isopen: boolean;
54
+ /**
55
+ * All directly assigned context menu elements that are defined in the direct template for the context menu.
56
+ */
57
+ menuitems: QueryList<SacContextmenuItemCommon>;
52
58
  /**
53
59
  * The preferred placement of the dropdown.
54
60
  *
@@ -76,18 +82,19 @@ export declare class SacContextmenuCommon implements OnDestroy {
76
82
  * icon for default context menü button
77
83
  */
78
84
  get IconContextMenu(): string;
79
- /**
80
- * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
81
- */
82
- onClick(targetElement: any): void;
83
85
  /**
84
86
  * Schliesst das Dropdown
85
87
  */
86
88
  close(): void;
89
+ ngAfterContentInit(): void;
87
90
  /**
88
91
  * Event wenn Component entfernt wird.
89
92
  */
90
93
  ngOnDestroy(): void;
94
+ /**
95
+ * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
96
+ */
97
+ onClick(targetElement: any): void;
91
98
  /**
92
99
  * Öffnet das Dropdown / Zeigt das Menü an.
93
100
  */
@@ -0,0 +1,3 @@
1
+ export interface ISacContextmenuCommon {
2
+ close(): void;
3
+ }
@@ -1,5 +1,10 @@
1
+ import { ISacContextmenuCommon } from './contextmenu.interface';
1
2
  /**
2
3
  * Base Context Menu Item
3
4
  */
4
5
  export declare class SacContextmenuItemCommon {
6
+ /**
7
+ * Reference to the higher-level context menu. This property is always set automatically by the context menu. However, it may be necessary to set the reference manually.
8
+ */
9
+ contextmenu: ISacContextmenuCommon | null;
5
10
  }
@@ -1,16 +1,9 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { SacContextmenuCommon } from './contextmenu';
3
1
  import { SacContextmenuItemCommon } from './contextmenuitem';
2
+ import { EventEmitter } from '@angular/core';
4
3
  /**
5
4
  * Base Context Menu Button Item
6
5
  */
7
6
  export declare class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
8
- protected contextmenu: SacContextmenuCommon;
9
- /**
10
- * Constructor
11
- * @param contextmenu Instance of Context Menü.
12
- */
13
- constructor(contextmenu: SacContextmenuCommon);
14
7
  /**
15
8
  * Menu Item ist deaktiviert
16
9
  */
@@ -20,13 +13,17 @@ export declare class SacContextmenuItemButtonCommon extends SacContextmenuItemCo
20
13
  */
21
14
  protected _isicondisabled: boolean;
22
15
  /**
23
- * Icon für Menü
16
+ * Event wenn auf den Button geklickt wird
24
17
  */
25
- icon: string;
18
+ clicked: EventEmitter<void>;
26
19
  /**
27
20
  * css class for button styling
28
21
  */
29
22
  cssclass: string;
23
+ /**
24
+ * Icon für Menü
25
+ */
26
+ icon: string;
30
27
  /**
31
28
  * Input Property für Styling des Buttons. Definiert die Css Klassen des Buttons
32
29
  */
@@ -36,29 +33,33 @@ export declare class SacContextmenuItemButtonCommon extends SacContextmenuItemCo
36
33
  */
37
34
  image: string;
38
35
  /**
39
- * Menu Item ist deaktiviert
36
+ * name of button. used for generate id and name
40
37
  */
41
- set isdisabled(v: boolean | string);
38
+ name: string;
39
+ /**
40
+ * Text für Menü Item.
41
+ */
42
+ text: string;
43
+ /**
44
+ * Constructor
45
+ */
46
+ constructor();
42
47
  /**
43
48
  * Menu Item ist deaktiviert
44
49
  */
45
50
  get isdisabled(): boolean | string;
46
51
  /**
47
- * Icon Column in Menü ist deaktiviert
52
+ * Menu Item ist deaktiviert
48
53
  */
49
- set isicondisabled(v: boolean | string);
54
+ set isdisabled(v: boolean | string);
50
55
  /**
51
56
  * Icon Column in Menü ist deaktiviert
52
57
  */
53
58
  get isicondisabled(): boolean | string;
54
59
  /**
55
- * Text für Menü Item.
56
- */
57
- text: string;
58
- /**
59
- * Event wenn auf den Button geklickt wird
60
+ * Icon Column in Menü ist deaktiviert
60
61
  */
61
- clicked: EventEmitter<void>;
62
+ set isicondisabled(v: boolean | string);
62
63
  /**
63
64
  * Die Methode wird das cklickaction Emitter aktivieren
64
65
  */