@simpleangularcontrols/sac-common 13.0.0-rc.2 → 13.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.
- package/common/basedatetimecontrol.d.ts +33 -33
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/baseinputcontrol.d.ts +9 -9
- package/common/baseinputcontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.d.ts +118 -90
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.d.ts +140 -140
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/controls/checkbox/checkbox.d.ts +7 -3
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.d.ts +5 -4
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +42 -42
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
- package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
- package/controls/datetime/date.d.ts +7 -7
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/datetime.d.ts +7 -7
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/time.d.ts +7 -7
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/form/form.d.ts +7 -43
- package/controls/form/form.d.ts.map +1 -1
- package/controls/input/inputdecimal.d.ts +21 -21
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/layout/formlayout.d.ts +45 -0
- package/controls/layout/formlayout.d.ts.map +1 -0
- package/controls/layout/formlayout.ngfactory.d.ts +4 -0
- package/controls/layout/formlayout.ngfactory.d.ts.map +1 -0
- package/controls/layout/formlayout.ngsummary.d.ts +2 -0
- package/controls/layout/formlayout.ngsummary.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts +45 -45
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts +5 -4
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +5 -4
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/tinymce/tinymce.d.ts +63 -63
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/esm2020/common/basedatetimecontrol.mjs +75 -81
- package/esm2020/common/baseinputcontrol.mjs +20 -20
- package/esm2020/common/basemodelcontrol.mjs +290 -211
- package/esm2020/common/baseuploadcontrol.mjs +208 -207
- package/esm2020/controls/checkbox/checkbox.mjs +11 -5
- package/esm2020/controls/checkbox/radiobuttons.mjs +13 -12
- package/esm2020/controls/contextmenu/contextmenu.mjs +75 -65
- package/esm2020/controls/contextmenu/contextmenuanchor.mjs +6 -4
- package/esm2020/controls/contextmenu/contextmenucontainer.mjs +6 -4
- package/esm2020/controls/datetime/date.mjs +12 -12
- package/esm2020/controls/datetime/datetime.mjs +15 -15
- package/esm2020/controls/datetime/time.mjs +15 -15
- package/esm2020/controls/form/form.mjs +17 -71
- package/esm2020/controls/input/inputdecimal.mjs +58 -53
- package/esm2020/controls/layout/formlayout.mjs +72 -0
- package/esm2020/controls/layout/formlayout.ngfactory.mjs +4 -0
- package/esm2020/controls/layout/formlayout.ngsummary.mjs +2 -0
- package/esm2020/controls/list/dropdown.mjs +104 -85
- package/esm2020/controls/multilanguage/multilanguageinput.mjs +10 -9
- package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +10 -9
- package/esm2020/controls/tinymce/tinymce.mjs +84 -77
- package/esm2020/interfaces/ISacLabelSizes.mjs +2 -0
- package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +2 -0
- package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +2 -0
- package/esm2020/public_api.mjs +20 -18
- package/fesm2015/simpleangularcontrols-sac-common.mjs +1971 -1825
- package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/fesm2020/simpleangularcontrols-sac-common.mjs +1969 -1824
- package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacLabelSizes.d.ts +27 -0
- package/interfaces/ISacLabelSizes.d.ts.map +1 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts +2 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacLabelSizes.ngsummary.d.ts +2 -0
- package/interfaces/ISacLabelSizes.ngsummary.d.ts.map +1 -0
- package/package.json +1 -1
- package/public_api.d.ts +19 -17
- package/public_api.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-13.0.0-rc.3.tgz +0 -0
- package/simpleangularcontrols-sac-common-13.0.0-rc.2.tgz +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Directive, Input, Output,
|
|
2
|
+
import { EventEmitter, Directive, Input, Output, InjectionToken, Injectable, Host, ViewChild, HostListener, ViewChildren, TemplateRef, ContentChild, Inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/forms';
|
|
4
|
-
import {
|
|
4
|
+
import { NgControl, FormControlName, FormGroupDirective, Validators, FormGroup } from '@angular/forms';
|
|
5
5
|
import { Observable, of } from 'rxjs';
|
|
6
6
|
import * as moment_ from 'moment';
|
|
7
7
|
import moment___default from 'moment';
|
|
@@ -151,225 +151,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
151
151
|
type: Output
|
|
152
152
|
}] } });
|
|
153
153
|
|
|
154
|
-
/**
|
|
155
|
-
* Base Komponente für Dialog
|
|
156
|
-
*/
|
|
157
|
-
class SacDialogCommon {
|
|
158
|
-
// #endregion
|
|
159
|
-
// #region Constructor
|
|
160
|
-
/**
|
|
161
|
-
* Konstruktor
|
|
162
|
-
* Inject des Formulars
|
|
163
|
-
*/
|
|
164
|
-
constructor(cdRef) {
|
|
165
|
-
this.cdRef = cdRef;
|
|
166
|
-
this.hasSetBodyTag = false;
|
|
167
|
-
/**
|
|
168
|
-
* Boolean Property definiert ob das Dialog angezeigt wird
|
|
169
|
-
*/
|
|
170
|
-
this._show = false;
|
|
171
|
-
/**
|
|
172
|
-
* Das property enthielt (wenn überhaupt gesetzt) entweder keywords für sizing oder custom css Klassen.
|
|
173
|
-
* Die akzeptabel keywordssind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
174
|
-
*/
|
|
175
|
-
this._size = '';
|
|
176
|
-
// #region Properties
|
|
177
|
-
/**
|
|
178
|
-
* Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
|
|
179
|
-
*/
|
|
180
|
-
this.title = 'Dialog';
|
|
181
|
-
/**
|
|
182
|
-
* Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch ESC geschlossen werden. Default ist true.
|
|
183
|
-
*/
|
|
184
|
-
this.allowesc = true;
|
|
185
|
-
/**
|
|
186
|
-
* Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch click außerhalb des Dialog-Fenster geschlossen werden. Default ist true.
|
|
187
|
-
*/
|
|
188
|
-
this.backdrop = true;
|
|
189
|
-
/**
|
|
190
|
-
* Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
|
|
191
|
-
*/
|
|
192
|
-
this.name = '';
|
|
193
|
-
/**
|
|
194
|
-
* Steuert ob im Header des Dialogs ein Button angezeigt wird.
|
|
195
|
-
*/
|
|
196
|
-
this.closebutton = true;
|
|
197
|
-
/**
|
|
198
|
-
* Input Property. Erhält die Breite des Dialog
|
|
199
|
-
*/
|
|
200
|
-
this.width = null;
|
|
201
|
-
/**
|
|
202
|
-
* Definiert eine feste Höhe beim Dialog.
|
|
203
|
-
*/
|
|
204
|
-
this.height = null;
|
|
205
|
-
/**
|
|
206
|
-
* Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
|
|
207
|
-
*/
|
|
208
|
-
this.isvisibleChange = new EventEmitter();
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Implementation als Setter, da mit ngIf das Element bei Unsichtbarkeit UNDEFINED ist.
|
|
212
|
-
*/
|
|
213
|
-
set dialogElementSetter(content) {
|
|
214
|
-
this.dialogElement = content;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Das Input akzeptiert sowohl default size-css-Klassen als auch custom Klassen.
|
|
218
|
-
* case insensitive.
|
|
219
|
-
* Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
220
|
-
* Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
|
|
221
|
-
*/
|
|
222
|
-
set size(v) {
|
|
223
|
-
v = v.toLowerCase();
|
|
224
|
-
this._size = v;
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Setter. Erhält das boolen Wert des _show property
|
|
228
|
-
*/
|
|
229
|
-
set isvisible(v) {
|
|
230
|
-
if (v &&
|
|
231
|
-
!this.hasSetBodyTag &&
|
|
232
|
-
!document.body.classList.contains('modal-open')) {
|
|
233
|
-
document.body.classList.add('modal-open');
|
|
234
|
-
this.hasSetBodyTag = true;
|
|
235
|
-
}
|
|
236
|
-
if (!v &&
|
|
237
|
-
this.hasSetBodyTag &&
|
|
238
|
-
document.body.classList.contains('modal-open')) {
|
|
239
|
-
document.body.classList.remove('modal-open');
|
|
240
|
-
this.hasSetBodyTag = false;
|
|
241
|
-
}
|
|
242
|
-
this._show = v;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Getter. Ergibt das boolen Wert des _show property
|
|
246
|
-
*/
|
|
247
|
-
get isvisible() {
|
|
248
|
-
return this._show;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Die Funktion prüft ob es ein default css classe für Size des Dialog durch den size Input gesetzt wurde.
|
|
252
|
-
*/
|
|
253
|
-
issetdefaultsize() {
|
|
254
|
-
let result = false;
|
|
255
|
-
switch (this._size) {
|
|
256
|
-
case 'small':
|
|
257
|
-
result = true;
|
|
258
|
-
break;
|
|
259
|
-
case 'medium':
|
|
260
|
-
result = true;
|
|
261
|
-
break;
|
|
262
|
-
case 'large':
|
|
263
|
-
result = true;
|
|
264
|
-
break;
|
|
265
|
-
case 'extralarge':
|
|
266
|
-
result = true;
|
|
267
|
-
break;
|
|
268
|
-
case '':
|
|
269
|
-
result = true;
|
|
270
|
-
break;
|
|
271
|
-
}
|
|
272
|
-
return result;
|
|
273
|
-
}
|
|
274
|
-
// #endregion
|
|
275
|
-
/**
|
|
276
|
-
* Methode wenn Componente entfernt wird
|
|
277
|
-
*/
|
|
278
|
-
ngOnDestroy() {
|
|
279
|
-
if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
280
|
-
document.body.classList.remove('modal-open');
|
|
281
|
-
this.hasSetBodyTag = false;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
// #region Methods
|
|
285
|
-
/**
|
|
286
|
-
* Die Methode setz den Wert des _show property auf true
|
|
287
|
-
*/
|
|
288
|
-
show() {
|
|
289
|
-
this._show = true;
|
|
290
|
-
if (!this.hasSetBodyTag &&
|
|
291
|
-
!document.body.classList.contains('modal-open')) {
|
|
292
|
-
document.body.classList.add('modal-open');
|
|
293
|
-
this.hasSetBodyTag = true;
|
|
294
|
-
}
|
|
295
|
-
this.isvisibleChange.emit(this._show);
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Die Methode setz den Wert des _show property auf false
|
|
299
|
-
*/
|
|
300
|
-
hide() {
|
|
301
|
-
if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
302
|
-
document.body.classList.remove('modal-open');
|
|
303
|
-
this.hasSetBodyTag = false;
|
|
304
|
-
}
|
|
305
|
-
this._show = false;
|
|
306
|
-
this.isvisibleChange.emit(this._show);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Getter for ChangeDetector.
|
|
310
|
-
*/
|
|
311
|
-
get ChangeDetector() {
|
|
312
|
-
return this.cdRef;
|
|
313
|
-
}
|
|
314
|
-
// #endregion
|
|
315
|
-
// #region Host Actions
|
|
316
|
-
/**
|
|
317
|
-
* Allow Close by Click outside Dialog
|
|
318
|
-
*/
|
|
319
|
-
onClick(event) {
|
|
320
|
-
if (this.allowesc === false ||
|
|
321
|
-
(this.dialogElement !== null &&
|
|
322
|
-
this.dialogElement !== undefined &&
|
|
323
|
-
event.target !== this.dialogElement.nativeElement)) {
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
this.hide();
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* Allow Close by ESC
|
|
330
|
-
*/
|
|
331
|
-
onKeydownHandler(event) {
|
|
332
|
-
const ESCAPE_KEYCODE = 'Escape';
|
|
333
|
-
if (this.allowesc === true && event.key === ESCAPE_KEYCODE) {
|
|
334
|
-
this.hide();
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
SacDialogCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDialogCommon, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
339
|
-
SacDialogCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDialogCommon, inputs: { title: "title", allowesc: "allowesc", backdrop: "backdrop", name: "name", closebutton: "closebutton", width: "width", height: "height", size: "size", isvisible: "isvisible" }, outputs: { isvisibleChange: "isvisibleChange" }, host: { listeners: { "click": "onClick($event)", "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "dialogElementSetter", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0 });
|
|
340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDialogCommon, decorators: [{
|
|
341
|
-
type: Directive
|
|
342
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { dialogElementSetter: [{
|
|
343
|
-
type: ViewChild,
|
|
344
|
-
args: ['dialog', { static: false }]
|
|
345
|
-
}], title: [{
|
|
346
|
-
type: Input
|
|
347
|
-
}], allowesc: [{
|
|
348
|
-
type: Input
|
|
349
|
-
}], backdrop: [{
|
|
350
|
-
type: Input
|
|
351
|
-
}], name: [{
|
|
352
|
-
type: Input
|
|
353
|
-
}], closebutton: [{
|
|
354
|
-
type: Input
|
|
355
|
-
}], width: [{
|
|
356
|
-
type: Input
|
|
357
|
-
}], height: [{
|
|
358
|
-
type: Input
|
|
359
|
-
}], size: [{
|
|
360
|
-
type: Input
|
|
361
|
-
}], isvisibleChange: [{
|
|
362
|
-
type: Output
|
|
363
|
-
}], isvisible: [{
|
|
364
|
-
type: Input
|
|
365
|
-
}], onClick: [{
|
|
366
|
-
type: HostListener,
|
|
367
|
-
args: ['click', ['$event']]
|
|
368
|
-
}], onKeydownHandler: [{
|
|
369
|
-
type: HostListener,
|
|
370
|
-
args: ['document:keydown', ['$event']]
|
|
371
|
-
}] } });
|
|
372
|
-
|
|
373
154
|
/**
|
|
374
155
|
* Prüft ob ein Objekt Defined ist
|
|
375
156
|
* @param value Objekt
|
|
@@ -889,161 +670,73 @@ function mapToObject(map) {
|
|
|
889
670
|
return obj;
|
|
890
671
|
}
|
|
891
672
|
|
|
892
|
-
|
|
893
|
-
*
|
|
673
|
+
/***
|
|
674
|
+
* base component for form options
|
|
894
675
|
*/
|
|
895
|
-
class
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
* @param form Instanz von NgForm
|
|
899
|
-
*/
|
|
900
|
-
constructor(form) {
|
|
901
|
-
this.form = form;
|
|
676
|
+
class SacFormLayoutCommon {
|
|
677
|
+
constructor() {
|
|
678
|
+
// #region Properties
|
|
902
679
|
/**
|
|
903
|
-
*
|
|
680
|
+
* defines that error messages are displayed under the controls
|
|
904
681
|
*/
|
|
905
|
-
this.
|
|
682
|
+
this.inlineError = true;
|
|
906
683
|
/**
|
|
907
|
-
*
|
|
684
|
+
* defines that the labels are displayed as adaptive labels
|
|
908
685
|
*/
|
|
909
|
-
this.
|
|
686
|
+
this.isAdaptiveLabel = false;
|
|
910
687
|
/**
|
|
911
|
-
*
|
|
688
|
+
* default label size for medium devices
|
|
912
689
|
*/
|
|
913
|
-
this.
|
|
690
|
+
this.labelSizeMd = null;
|
|
914
691
|
/**
|
|
915
|
-
*
|
|
692
|
+
* default label size for small devices
|
|
916
693
|
*/
|
|
917
|
-
this.
|
|
694
|
+
this.labelSizeSm = null;
|
|
918
695
|
/**
|
|
919
|
-
*
|
|
696
|
+
* default label column size
|
|
920
697
|
*/
|
|
921
|
-
this.
|
|
922
|
-
|
|
698
|
+
this.labelSizeXs = null;
|
|
699
|
+
/**
|
|
700
|
+
* default label size for extra extra large devices
|
|
701
|
+
*/
|
|
702
|
+
this.labelSizeXxl = null;
|
|
703
|
+
/**
|
|
704
|
+
* default labe size for large devices
|
|
705
|
+
*/
|
|
706
|
+
this.labelSizeLg = null;
|
|
707
|
+
/**
|
|
708
|
+
* default label size for extra large devices
|
|
709
|
+
*/
|
|
710
|
+
this.labelSizeXl = null;
|
|
923
711
|
}
|
|
712
|
+
// #endregion Properties
|
|
713
|
+
// #region Public Getters And Setters
|
|
924
714
|
/**
|
|
925
|
-
*
|
|
715
|
+
* Returns whether the inline error messages for the form are active.
|
|
926
716
|
*/
|
|
927
|
-
|
|
928
|
-
this.
|
|
929
|
-
this.form.options.updateOn = v;
|
|
930
|
-
}
|
|
931
|
-
get updateon() {
|
|
932
|
-
return this._updateon;
|
|
933
|
-
}
|
|
934
|
-
/**
|
|
935
|
-
* Aktiviert oder Deaktiviert die Inline Errors für das Control
|
|
936
|
-
*/
|
|
937
|
-
set inlineerrorenabled(value) {
|
|
938
|
-
if (value === null || value === undefined) {
|
|
939
|
-
this._inlineerrorenabled = null;
|
|
940
|
-
}
|
|
941
|
-
else {
|
|
942
|
-
this._inlineerrorenabled = convertToBoolean(value);
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
|
-
/**
|
|
946
|
-
* Aktiviert oder Deaktiviert die Inline Errors für das Control
|
|
947
|
-
*/
|
|
948
|
-
get inlineerrorenabled() {
|
|
949
|
-
return this._inlineerrorenabled;
|
|
950
|
-
}
|
|
951
|
-
/**
|
|
952
|
-
* Vertikale oder horizontale Orientierung des Formulars zurück
|
|
953
|
-
*/
|
|
954
|
-
getOrientation() {
|
|
955
|
-
switch (this.orientation.toLowerCase()) {
|
|
956
|
-
case 'horizontal':
|
|
957
|
-
return 'horizontal';
|
|
958
|
-
case 'vertical':
|
|
959
|
-
return 'vertical';
|
|
960
|
-
case 'none':
|
|
961
|
-
return 'none';
|
|
962
|
-
default:
|
|
963
|
-
throw new Error('Invalid formtype at SacFormCommon. Valid values are horizontal, vertical, none');
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
/**
|
|
967
|
-
* Gibt die NgForm Instanz zurück
|
|
968
|
-
*/
|
|
969
|
-
getForm() {
|
|
970
|
-
return this.form;
|
|
971
|
-
}
|
|
972
|
-
/**
|
|
973
|
-
* Markiert alle Controls innerhalb des Formulares als Touched
|
|
974
|
-
*/
|
|
975
|
-
markAsTouched() {
|
|
976
|
-
if (this.form && this.form.invalid) {
|
|
977
|
-
this.markAsTouchedInternal(this.form.controls);
|
|
978
|
-
}
|
|
979
|
-
}
|
|
980
|
-
/**
|
|
981
|
-
* Aktualisiert die Werte und den Gültigkeitsstatus des Formulars
|
|
982
|
-
*/
|
|
983
|
-
updateValueAndValidity(markAsTouched = true) {
|
|
984
|
-
// Update all Controls
|
|
985
|
-
this.updateValueAndValidityInternal(this.form.controls);
|
|
986
|
-
// Update Main Form
|
|
987
|
-
this.getForm().form.updateValueAndValidity();
|
|
988
|
-
// Mark all Controls as Touched
|
|
989
|
-
if (markAsTouched) {
|
|
990
|
-
this.markAsTouched();
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
/**
|
|
994
|
-
* Markiert alle Controls inkl. dem Tree als Touched
|
|
995
|
-
* @param controls Controls Collection
|
|
996
|
-
*/
|
|
997
|
-
markAsTouchedInternal(controls) {
|
|
998
|
-
const keyList = Object.keys(controls);
|
|
999
|
-
for (const field of keyList) {
|
|
1000
|
-
const control = controls[field];
|
|
1001
|
-
if (control instanceof FormGroup) {
|
|
1002
|
-
this.markAsTouchedInternal(control.controls);
|
|
1003
|
-
}
|
|
1004
|
-
else {
|
|
1005
|
-
control.markAsTouched({ onlySelf: true });
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
|
-
}
|
|
1009
|
-
/**
|
|
1010
|
-
* Aktualisiert die Werte und die gültigkeit des Formulars
|
|
1011
|
-
* @param controls Controls Collection
|
|
1012
|
-
*/
|
|
1013
|
-
updateValueAndValidityInternal(controls) {
|
|
1014
|
-
const keyList = Object.keys(controls);
|
|
1015
|
-
for (const field of keyList) {
|
|
1016
|
-
const control = controls[field];
|
|
1017
|
-
if (control instanceof FormGroup) {
|
|
1018
|
-
this.updateValueAndValidityInternal(control.controls);
|
|
1019
|
-
}
|
|
1020
|
-
else {
|
|
1021
|
-
control.updateValueAndValidity({ onlySelf: true });
|
|
1022
|
-
}
|
|
1023
|
-
}
|
|
1024
|
-
}
|
|
1025
|
-
/**
|
|
1026
|
-
* Gibt zurück, ob die Inline Error Meldungen für das Formular aktiv sind.
|
|
1027
|
-
*/
|
|
1028
|
-
get IsInlineErrorEnabled() {
|
|
1029
|
-
return this._inlineerrorenabled !== false;
|
|
717
|
+
get IsInlineErrorEnabled() {
|
|
718
|
+
return this.inlineError !== false;
|
|
1030
719
|
}
|
|
1031
720
|
}
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type:
|
|
721
|
+
SacFormLayoutCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacFormLayoutCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
722
|
+
SacFormLayoutCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacFormLayoutCommon, inputs: { inlineError: "inlineError", isAdaptiveLabel: "isAdaptiveLabel", labelSizeMd: "labelSizeMd", labelSizeSm: "labelSizeSm", labelSizeXs: "labelSizeXs", labelSizeXxl: "labelSizeXxl", labelSizeLg: "labelSizeLg", labelSizeXl: "labelSizeXl" }, ngImport: i0 });
|
|
723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacFormLayoutCommon, decorators: [{
|
|
1035
724
|
type: Directive
|
|
1036
|
-
}],
|
|
725
|
+
}], propDecorators: { inlineError: [{
|
|
1037
726
|
type: Input
|
|
1038
|
-
}],
|
|
727
|
+
}], isAdaptiveLabel: [{
|
|
1039
728
|
type: Input
|
|
1040
|
-
}],
|
|
729
|
+
}], labelSizeMd: [{
|
|
1041
730
|
type: Input
|
|
1042
|
-
}],
|
|
731
|
+
}], labelSizeSm: [{
|
|
1043
732
|
type: Input
|
|
1044
|
-
}],
|
|
733
|
+
}], labelSizeXs: [{
|
|
1045
734
|
type: Input
|
|
1046
|
-
}],
|
|
735
|
+
}], labelSizeXxl: [{
|
|
736
|
+
type: Input
|
|
737
|
+
}], labelSizeLg: [{
|
|
738
|
+
type: Input
|
|
739
|
+
}], labelSizeXl: [{
|
|
1047
740
|
type: Input
|
|
1048
741
|
}] } });
|
|
1049
742
|
|
|
@@ -1051,65 +744,85 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1051
744
|
* Abstract Klasse für SacBaseModelControl. Implements ControlValueAccessor, Validator, OnInit
|
|
1052
745
|
*/
|
|
1053
746
|
class SacBaseModelControl {
|
|
1054
|
-
// #endregion
|
|
1055
|
-
// #region
|
|
747
|
+
// #endregion Properties
|
|
748
|
+
// #region Constructors
|
|
1056
749
|
/**
|
|
1057
|
-
*
|
|
1058
|
-
*
|
|
1059
|
-
* @
|
|
1060
|
-
* @injector Injector
|
|
750
|
+
* Constructor
|
|
751
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
752
|
+
* @param injector Injector for injecting services
|
|
1061
753
|
*/
|
|
1062
|
-
constructor(
|
|
754
|
+
constructor(formlayout, injector) {
|
|
1063
755
|
this.injector = injector;
|
|
756
|
+
// #region Properties
|
|
757
|
+
/**
|
|
758
|
+
* Inline Errors für das Control
|
|
759
|
+
*/
|
|
760
|
+
this._inlineerrorenabled = null;
|
|
761
|
+
this._label = '';
|
|
762
|
+
/**
|
|
763
|
+
* Boolean Property dirty; default Wert - false
|
|
764
|
+
*/
|
|
765
|
+
this._dirty = false;
|
|
1064
766
|
/**
|
|
1065
767
|
* SacModel Form ist disabled
|
|
1066
768
|
*/
|
|
1067
769
|
this._disabledForm = false;
|
|
1068
|
-
this._label = '';
|
|
1069
|
-
// #endregion
|
|
1070
|
-
// #region Properties
|
|
1071
770
|
/**
|
|
1072
|
-
*
|
|
771
|
+
* Boolean Property touched; default Wert - false
|
|
1073
772
|
*/
|
|
1074
|
-
this.
|
|
773
|
+
this._touched = false;
|
|
1075
774
|
/**
|
|
1076
|
-
*
|
|
775
|
+
* Interne Variable, die den Wert des Controls hält
|
|
1077
776
|
*/
|
|
1078
|
-
this.
|
|
777
|
+
this._value = null;
|
|
1079
778
|
/**
|
|
1080
|
-
*
|
|
779
|
+
* Form layout instance if exists
|
|
1081
780
|
*/
|
|
1082
|
-
this.
|
|
781
|
+
this.formlayout = null;
|
|
1083
782
|
/**
|
|
1084
783
|
* Deaktiviert das Input Control
|
|
1085
784
|
*/
|
|
1086
785
|
this.disabled = false;
|
|
1087
786
|
/**
|
|
1088
|
-
*
|
|
787
|
+
* Deaktiviert das Label im Template
|
|
1089
788
|
*/
|
|
1090
|
-
this.
|
|
789
|
+
this.disablelabel = false;
|
|
1091
790
|
/**
|
|
1092
|
-
*
|
|
791
|
+
* defines that error messages are displayed under the controls
|
|
1093
792
|
*/
|
|
1094
|
-
this.
|
|
793
|
+
this.inlineError = true;
|
|
1095
794
|
/**
|
|
1096
|
-
*
|
|
795
|
+
* defines that the labels are displayed as adaptive labels
|
|
1097
796
|
*/
|
|
1098
|
-
this.
|
|
797
|
+
this.isAdaptiveLabel = false;
|
|
1099
798
|
/**
|
|
1100
|
-
*
|
|
799
|
+
* default label size for medium devices
|
|
1101
800
|
*/
|
|
1102
|
-
this.
|
|
801
|
+
this.labelSizeMd = null;
|
|
1103
802
|
/**
|
|
1104
|
-
*
|
|
803
|
+
* default label size for small devices
|
|
1105
804
|
*/
|
|
1106
|
-
this.
|
|
805
|
+
this.labelSizeSm = null;
|
|
1107
806
|
/**
|
|
1108
|
-
*
|
|
807
|
+
* default label column size
|
|
1109
808
|
*/
|
|
1110
|
-
this.
|
|
1111
|
-
|
|
1112
|
-
|
|
809
|
+
this.labelSizeXs = null;
|
|
810
|
+
/**
|
|
811
|
+
* default label size for extra extra large devices
|
|
812
|
+
*/
|
|
813
|
+
this.labelSizeXxl = null;
|
|
814
|
+
/**
|
|
815
|
+
* default labe size for large devices
|
|
816
|
+
*/
|
|
817
|
+
this.labelSizeLg = null;
|
|
818
|
+
/**
|
|
819
|
+
* default label size for extra large devices
|
|
820
|
+
*/
|
|
821
|
+
this.labelSizeXl = null;
|
|
822
|
+
/**
|
|
823
|
+
* Name des Controls
|
|
824
|
+
*/
|
|
825
|
+
this.name = '';
|
|
1113
826
|
/**
|
|
1114
827
|
* Leere Implementation von "propagateChange". Muss gemacht werden, damit kein Fehler entsteht
|
|
1115
828
|
*/
|
|
@@ -1118,21 +831,41 @@ class SacBaseModelControl {
|
|
|
1118
831
|
* Leere Implementation von "propagateTouch". Muss gemacht werden, damit kein Fehler entsteht
|
|
1119
832
|
*/
|
|
1120
833
|
this.propagateTouch = () => { };
|
|
1121
|
-
this.
|
|
834
|
+
this.formlayout = formlayout;
|
|
1122
835
|
this.lngResourceService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
|
|
1123
836
|
}
|
|
837
|
+
// #endregion Constructors
|
|
838
|
+
// #region Public Getters And Setters
|
|
1124
839
|
/**
|
|
1125
|
-
*
|
|
840
|
+
* Methode ergibt Boolean Wert für dirty
|
|
1126
841
|
*/
|
|
1127
|
-
|
|
1128
|
-
this.
|
|
1129
|
-
|
|
842
|
+
get dirty() {
|
|
843
|
+
if (this.ngControl !== null) {
|
|
844
|
+
this._dirty = this.ngControl.dirty;
|
|
845
|
+
}
|
|
846
|
+
return this._dirty;
|
|
847
|
+
}
|
|
848
|
+
get inlineerrorenabled() {
|
|
849
|
+
return this._inlineerrorenabled;
|
|
1130
850
|
}
|
|
1131
851
|
/**
|
|
1132
|
-
*
|
|
852
|
+
* Aktiviert oder Deaktiviert die Inline Errors für das Control
|
|
1133
853
|
*/
|
|
1134
|
-
|
|
1135
|
-
|
|
854
|
+
set inlineerrorenabled(value) {
|
|
855
|
+
if (value === null || value === undefined) {
|
|
856
|
+
this._inlineerrorenabled = null;
|
|
857
|
+
}
|
|
858
|
+
else {
|
|
859
|
+
this._inlineerrorenabled = convertToBoolean(value);
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* Methode ergibt boolean Wert wenn Form invalid oder nicht invalid ist
|
|
864
|
+
*/
|
|
865
|
+
get invalid() {
|
|
866
|
+
return (this.ngControl !== undefined &&
|
|
867
|
+
this.ngControl !== null &&
|
|
868
|
+
this.ngControl.invalid);
|
|
1136
869
|
}
|
|
1137
870
|
/**
|
|
1138
871
|
* Definiert ob das Control disabled ist
|
|
@@ -1140,74 +873,59 @@ class SacBaseModelControl {
|
|
|
1140
873
|
get isdisabled() {
|
|
1141
874
|
return this._disabledForm || this.disabled;
|
|
1142
875
|
}
|
|
1143
|
-
// #endregion
|
|
1144
|
-
// #region Control Events
|
|
1145
876
|
/**
|
|
1146
|
-
*
|
|
877
|
+
* Returns whether the inline error messages are active for this control.
|
|
1147
878
|
*/
|
|
1148
|
-
|
|
879
|
+
get isinlineerrorenabled() {
|
|
1149
880
|
var _a, _b;
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
const form = this.injector.get(FormGroupDirective, null);
|
|
1154
|
-
this.ngControl = form.getControl(formControl);
|
|
1155
|
-
}
|
|
1156
|
-
else {
|
|
1157
|
-
this.ngControl = formControl.control;
|
|
1158
|
-
}
|
|
1159
|
-
this.UpdateLabelToControl();
|
|
1160
|
-
/**
|
|
1161
|
-
* Label Size von Formular lesen
|
|
1162
|
-
*/
|
|
1163
|
-
if (this.labelsize === undefined) {
|
|
1164
|
-
if (((_a = this.parent) === null || _a === void 0 ? void 0 : _a.labelsize) !== undefined) {
|
|
1165
|
-
this.labelsize = this.parent.labelsize;
|
|
1166
|
-
}
|
|
1167
|
-
else {
|
|
1168
|
-
this.labelsize = 4;
|
|
1169
|
-
}
|
|
1170
|
-
}
|
|
1171
|
-
/**
|
|
1172
|
-
* Adaptive Label from Form
|
|
1173
|
-
*/
|
|
1174
|
-
if (this.isadaptivelabel === undefined) {
|
|
1175
|
-
if (((_b = this.parent) === null || _b === void 0 ? void 0 : _b.isadaptivelabel) !== undefined) {
|
|
1176
|
-
this.isadaptivelabel = this.parent.isadaptivelabel;
|
|
1177
|
-
}
|
|
1178
|
-
else {
|
|
1179
|
-
this.isadaptivelabel = false;
|
|
1180
|
-
}
|
|
881
|
+
if (((_a = this.formlayout) === null || _a === void 0 ? void 0 : _a.IsInlineErrorEnabled) === null ||
|
|
882
|
+
((_b = this.formlayout) === null || _b === void 0 ? void 0 : _b.IsInlineErrorEnabled) === undefined) {
|
|
883
|
+
return this._inlineerrorenabled;
|
|
1181
884
|
}
|
|
1182
|
-
this.
|
|
885
|
+
return (this.formlayout.IsInlineErrorEnabled !== false &&
|
|
886
|
+
this._inlineerrorenabled !== false);
|
|
1183
887
|
}
|
|
1184
888
|
/**
|
|
1185
|
-
*
|
|
1186
|
-
* Zur Änderungsinfo die Methode propagateChange aufrufen.
|
|
889
|
+
* Definiert den Label Text
|
|
1187
890
|
*/
|
|
1188
|
-
|
|
1189
|
-
this.
|
|
891
|
+
get label() {
|
|
892
|
+
return this._label;
|
|
1190
893
|
}
|
|
1191
894
|
/**
|
|
1192
|
-
*
|
|
895
|
+
* Definiert den Label Text
|
|
1193
896
|
*/
|
|
1194
|
-
|
|
1195
|
-
this.
|
|
897
|
+
set label(v) {
|
|
898
|
+
this._label = v;
|
|
899
|
+
this.UpdateLabelToControl();
|
|
1196
900
|
}
|
|
1197
901
|
/**
|
|
1198
|
-
*
|
|
902
|
+
* returns an object with all label sizes. These values can then be transferred to corresponding CSS classes using a pipe
|
|
1199
903
|
*/
|
|
1200
|
-
|
|
1201
|
-
|
|
904
|
+
get labelSizes() {
|
|
905
|
+
return {
|
|
906
|
+
labelSizeSm: this.labelSizeSm,
|
|
907
|
+
labelSizeMd: this.labelSizeMd,
|
|
908
|
+
labelSizeXs: this.labelSizeXs,
|
|
909
|
+
labelSizeXl: this.labelSizeXl,
|
|
910
|
+
labelSizeXxl: this.labelSizeXxl,
|
|
911
|
+
labelSizeLg: this.labelSizeLg,
|
|
912
|
+
};
|
|
1202
913
|
}
|
|
1203
914
|
/**
|
|
1204
|
-
*
|
|
915
|
+
* Methode ergibt Boolean Wert für touched
|
|
1205
916
|
*/
|
|
1206
|
-
|
|
1207
|
-
this.
|
|
917
|
+
get touched() {
|
|
918
|
+
if (this.ngControl !== null) {
|
|
919
|
+
this._touched = this.ngControl.touched;
|
|
920
|
+
}
|
|
921
|
+
return this._touched;
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* Get Methode für NgModel Binding in Html Markup
|
|
925
|
+
*/
|
|
926
|
+
get value() {
|
|
927
|
+
return this._value;
|
|
1208
928
|
}
|
|
1209
|
-
// #endregion
|
|
1210
|
-
// #region Control Value
|
|
1211
929
|
/**
|
|
1212
930
|
* Set Methode für NgModel Binding in Html Markup
|
|
1213
931
|
* Input wird benötigt, damit der Wert auch über das Markup gesetzt werden kann.
|
|
@@ -1219,102 +937,10 @@ class SacBaseModelControl {
|
|
|
1219
937
|
this._value = this.ConvertInputValue(v);
|
|
1220
938
|
this.propagateChange(this._value);
|
|
1221
939
|
}
|
|
940
|
+
// #endregion Public Getters And Setters
|
|
941
|
+
// #region Public Methods
|
|
1222
942
|
/**
|
|
1223
|
-
*
|
|
1224
|
-
*/
|
|
1225
|
-
get value() {
|
|
1226
|
-
return this._value;
|
|
1227
|
-
}
|
|
1228
|
-
/**
|
|
1229
|
-
* Methode die den Wert des Inputs setzt
|
|
1230
|
-
*/
|
|
1231
|
-
setValue(v) {
|
|
1232
|
-
this.value = v;
|
|
1233
|
-
}
|
|
1234
|
-
// #endregion
|
|
1235
|
-
// #region Internal Properties
|
|
1236
|
-
/**
|
|
1237
|
-
* Berechnet die Breite des Labels
|
|
1238
|
-
*/
|
|
1239
|
-
get _inputsize() {
|
|
1240
|
-
return 12 - this.labelsize;
|
|
1241
|
-
}
|
|
1242
|
-
// #endregion
|
|
1243
|
-
// #region Protected Helper Methods
|
|
1244
|
-
/**
|
|
1245
|
-
* Method can be used to Set Properties at Class Init
|
|
1246
|
-
*/
|
|
1247
|
-
OnClassInit() { }
|
|
1248
|
-
/**
|
|
1249
|
-
* Methode ergibt Decimal Symbol
|
|
1250
|
-
*/
|
|
1251
|
-
GetDecimalSymbol() {
|
|
1252
|
-
return '.';
|
|
1253
|
-
}
|
|
1254
|
-
/**
|
|
1255
|
-
* Method can Overwriten in Parent Classes
|
|
1256
|
-
* @param value Wert welcher in den korrekten Typ konvertiert werden soll
|
|
1257
|
-
* @returns Wert im korrekten Typ
|
|
1258
|
-
*/
|
|
1259
|
-
ConvertInputValue(value) {
|
|
1260
|
-
return value;
|
|
1261
|
-
}
|
|
1262
|
-
UpdateLabelToControl() {
|
|
1263
|
-
// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
|
|
1264
|
-
if (this.ngControl) {
|
|
1265
|
-
this.ngControl.controllabel = this.label;
|
|
1266
|
-
}
|
|
1267
|
-
}
|
|
1268
|
-
// #endregion
|
|
1269
|
-
//#region Validation Base
|
|
1270
|
-
/**
|
|
1271
|
-
* Validator Methode
|
|
1272
|
-
*/
|
|
1273
|
-
validate(c) {
|
|
1274
|
-
const error = this.validateData(c);
|
|
1275
|
-
return error;
|
|
1276
|
-
}
|
|
1277
|
-
/**
|
|
1278
|
-
* Methode registriert Änderungen bei der Validierung
|
|
1279
|
-
*/
|
|
1280
|
-
registerOnValidatorChange(fn) {
|
|
1281
|
-
this._onChange = fn;
|
|
1282
|
-
}
|
|
1283
|
-
/**
|
|
1284
|
-
* Methode ergibt Boolean Wert für dirty
|
|
1285
|
-
*/
|
|
1286
|
-
get dirty() {
|
|
1287
|
-
if (this.ngControl !== null) {
|
|
1288
|
-
this._dirty = this.ngControl.dirty;
|
|
1289
|
-
}
|
|
1290
|
-
return this._dirty;
|
|
1291
|
-
}
|
|
1292
|
-
/**
|
|
1293
|
-
* Methode ergibt Boolean Wert für touched
|
|
1294
|
-
*/
|
|
1295
|
-
get touched() {
|
|
1296
|
-
if (this.ngControl !== null) {
|
|
1297
|
-
this._touched = this.ngControl.touched;
|
|
1298
|
-
}
|
|
1299
|
-
return this._touched;
|
|
1300
|
-
}
|
|
1301
|
-
/**
|
|
1302
|
-
* Methode ergibt boolean Wert wenn Form invalid oder nicht invalid ist
|
|
1303
|
-
*/
|
|
1304
|
-
get invalid() {
|
|
1305
|
-
return (this.ngControl !== undefined &&
|
|
1306
|
-
this.ngControl !== null &&
|
|
1307
|
-
this.ngControl.invalid);
|
|
1308
|
-
}
|
|
1309
|
-
/**
|
|
1310
|
-
* Methode ergibt boolean touched = true
|
|
1311
|
-
*/
|
|
1312
|
-
onTouch() {
|
|
1313
|
-
this._touched = true;
|
|
1314
|
-
this.propagateTouch();
|
|
1315
|
-
}
|
|
1316
|
-
/**
|
|
1317
|
-
* Methode ergibt Error anhand von gegebenen Kriterien
|
|
943
|
+
* Methode ergibt Error anhand von gegebenen Kriterien
|
|
1318
944
|
*/
|
|
1319
945
|
GetErrorMessage() {
|
|
1320
946
|
if (this.ngControl.errors === undefined || this.ngControl.errors === null) {
|
|
@@ -1349,66 +975,213 @@ class SacBaseModelControl {
|
|
|
1349
975
|
return this.lngResourceService.GetString(errorItem.errorMessageKey, parameters);
|
|
1350
976
|
}
|
|
1351
977
|
/**
|
|
1352
|
-
*
|
|
978
|
+
* Init Event
|
|
1353
979
|
*/
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
980
|
+
ngOnInit() {
|
|
981
|
+
// receive form via formcontrolname or formcontrol instance
|
|
982
|
+
const formControl = this.injector.get(NgControl, null);
|
|
983
|
+
if (formControl instanceof FormControlName) {
|
|
984
|
+
const form = this.injector.get(FormGroupDirective, null);
|
|
985
|
+
this.ngControl = form.getControl(formControl);
|
|
986
|
+
}
|
|
987
|
+
else {
|
|
988
|
+
if (formControl) {
|
|
989
|
+
this.ngControl = formControl.control;
|
|
990
|
+
}
|
|
1357
991
|
}
|
|
992
|
+
this.UpdateLabelToControl();
|
|
993
|
+
// set label sizes from formlayout directive
|
|
994
|
+
this.setLabelSizes();
|
|
995
|
+
// set adaptive label property from formlayout directive
|
|
996
|
+
this.setIsAdaptiveLabel();
|
|
997
|
+
this.OnClassInit();
|
|
1358
998
|
}
|
|
1359
999
|
/**
|
|
1360
|
-
*
|
|
1000
|
+
* Set label sizes from property or parent layout control
|
|
1361
1001
|
*/
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1002
|
+
setLabelSizes() {
|
|
1003
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1004
|
+
// set size extra small
|
|
1005
|
+
if (!this.labelSizeXs) {
|
|
1006
|
+
if ((_a = this.formlayout) === null || _a === void 0 ? void 0 : _a.labelSizeXs) {
|
|
1007
|
+
this.labelSizeXs = this.formlayout.labelSizeXs;
|
|
1008
|
+
}
|
|
1009
|
+
else {
|
|
1010
|
+
this.labelSizeXs = 12;
|
|
1011
|
+
}
|
|
1365
1012
|
}
|
|
1366
|
-
|
|
1367
|
-
|
|
1013
|
+
// set size small
|
|
1014
|
+
if (!this.labelSizeSm) {
|
|
1015
|
+
if ((_b = this.formlayout) === null || _b === void 0 ? void 0 : _b.labelSizeSm) {
|
|
1016
|
+
this.labelSizeSm = this.formlayout.labelSizeSm;
|
|
1017
|
+
}
|
|
1018
|
+
else {
|
|
1019
|
+
this.labelSizeSm = 4;
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
// set size medium
|
|
1023
|
+
if (!this.labelSizeMd) {
|
|
1024
|
+
if ((_c = this.formlayout) === null || _c === void 0 ? void 0 : _c.labelSizeMd) {
|
|
1025
|
+
this.labelSizeMd = this.formlayout.labelSizeMd;
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
// set size large
|
|
1029
|
+
if (!this.labelSizeLg) {
|
|
1030
|
+
if ((_d = this.formlayout) === null || _d === void 0 ? void 0 : _d.labelSizeLg) {
|
|
1031
|
+
this.labelSizeLg = this.formlayout.labelSizeLg;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
// set size extra large
|
|
1035
|
+
if (!this.labelSizeXl) {
|
|
1036
|
+
if ((_e = this.formlayout) === null || _e === void 0 ? void 0 : _e.labelSizeXl) {
|
|
1037
|
+
this.labelSizeXl = this.formlayout.labelSizeXl;
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
// set size extra extra large
|
|
1041
|
+
if (!this.labelSizeXxl) {
|
|
1042
|
+
if ((_f = this.formlayout) === null || _f === void 0 ? void 0 : _f.labelSizeXxl) {
|
|
1043
|
+
this.labelSizeXxl = this.formlayout.labelSizeXxl;
|
|
1044
|
+
}
|
|
1368
1045
|
}
|
|
1369
1046
|
}
|
|
1370
|
-
|
|
1371
|
-
|
|
1047
|
+
/**
|
|
1048
|
+
* Set adaptive label property from parent layout control
|
|
1049
|
+
*/
|
|
1050
|
+
setIsAdaptiveLabel() {
|
|
1051
|
+
var _a;
|
|
1052
|
+
if (!this.isAdaptiveLabel) {
|
|
1053
|
+
if (((_a = this.formlayout) === null || _a === void 0 ? void 0 : _a.isAdaptiveLabel) !== undefined) {
|
|
1054
|
+
this.isAdaptiveLabel = this.formlayout.isAdaptiveLabel;
|
|
1055
|
+
}
|
|
1056
|
+
else {
|
|
1057
|
+
this.isAdaptiveLabel = false;
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1372
1060
|
}
|
|
1373
1061
|
/**
|
|
1374
|
-
*
|
|
1062
|
+
* Methode ergibt boolean touched = true
|
|
1375
1063
|
*/
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1064
|
+
onTouch() {
|
|
1065
|
+
this._touched = true;
|
|
1066
|
+
this.propagateTouch();
|
|
1067
|
+
}
|
|
1068
|
+
/**
|
|
1069
|
+
* Methode, damit andere Controls änderungen im Control mitbekommen können
|
|
1070
|
+
* Zur Änderungsinfo die Methode propagateChange aufrufen.
|
|
1071
|
+
*/
|
|
1072
|
+
registerOnChange(fn) {
|
|
1073
|
+
this.propagateChange = (obj) => fn(obj);
|
|
1074
|
+
}
|
|
1075
|
+
/**
|
|
1076
|
+
* Methode, damit andere Controls änderungen mitbekommen, wenn das Control aktiviert (Focus) wird.
|
|
1077
|
+
*/
|
|
1078
|
+
registerOnTouched(fn) {
|
|
1079
|
+
this.propagateTouch = (obj) => fn(obj);
|
|
1080
|
+
}
|
|
1081
|
+
/**
|
|
1082
|
+
* Methode registriert Änderungen bei der Validierung
|
|
1083
|
+
*/
|
|
1084
|
+
registerOnValidatorChange(fn) {
|
|
1085
|
+
this._onChange = fn;
|
|
1086
|
+
}
|
|
1087
|
+
/**
|
|
1088
|
+
* Setzt das Control auf Disabled
|
|
1089
|
+
*/
|
|
1090
|
+
setDisabledState(isDisabled) {
|
|
1091
|
+
this._disabledForm = isDisabled;
|
|
1092
|
+
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Methode die den Wert des Inputs setzt
|
|
1095
|
+
*/
|
|
1096
|
+
setValue(v) {
|
|
1097
|
+
this.value = v;
|
|
1098
|
+
}
|
|
1099
|
+
/**
|
|
1100
|
+
* Validator Methode
|
|
1101
|
+
*/
|
|
1102
|
+
validate(c) {
|
|
1103
|
+
const error = this.validateData(c);
|
|
1104
|
+
return error;
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Methode zum schreiben von Werten aus dem Model in das Control
|
|
1108
|
+
*/
|
|
1109
|
+
writeValue(value) {
|
|
1110
|
+
this._value = value;
|
|
1111
|
+
}
|
|
1112
|
+
// #endregion Public Abstract Methods
|
|
1113
|
+
// #region Protected Methods
|
|
1114
|
+
/**
|
|
1115
|
+
* Method can Overwriten in Parent Classes
|
|
1116
|
+
* @param value Wert welcher in den korrekten Typ konvertiert werden soll
|
|
1117
|
+
* @returns Wert im korrekten Typ
|
|
1118
|
+
*/
|
|
1119
|
+
ConvertInputValue(value) {
|
|
1120
|
+
return value;
|
|
1121
|
+
}
|
|
1122
|
+
/**
|
|
1123
|
+
* Methode ergibt Decimal Symbol
|
|
1124
|
+
*/
|
|
1125
|
+
GetDecimalSymbol() {
|
|
1126
|
+
return '.';
|
|
1127
|
+
}
|
|
1128
|
+
/**
|
|
1129
|
+
* Method can be used to Set Properties at Class Init
|
|
1130
|
+
*/
|
|
1131
|
+
OnClassInit() { }
|
|
1132
|
+
/**
|
|
1133
|
+
* Aktualisiert den NgModel Wert und die Gültigkeit des Validators des Controls
|
|
1134
|
+
*/
|
|
1135
|
+
UpdateValueAndValidity() {
|
|
1136
|
+
if (this.ngControl) {
|
|
1137
|
+
this.ngControl.updateValueAndValidity({ onlySelf: true });
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
// #endregion Protected Methods
|
|
1141
|
+
// #region Private Methods
|
|
1142
|
+
UpdateLabelToControl() {
|
|
1143
|
+
// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
|
|
1144
|
+
if (this.ngControl) {
|
|
1145
|
+
this.ngControl.controllabel = this.label;
|
|
1381
1146
|
}
|
|
1382
|
-
return (this.parent.IsInlineErrorEnabled !== false &&
|
|
1383
|
-
this._inlineerrorenabled !== false);
|
|
1384
1147
|
}
|
|
1385
1148
|
}
|
|
1386
|
-
SacBaseModelControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBaseModelControl, deps: [{ token:
|
|
1387
|
-
SacBaseModelControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacBaseModelControl, inputs: {
|
|
1149
|
+
SacBaseModelControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBaseModelControl, deps: [{ token: SacFormLayoutCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1150
|
+
SacBaseModelControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacBaseModelControl, inputs: { disabled: "disabled", disablelabel: "disablelabel", inlineError: "inlineError", isAdaptiveLabel: "isAdaptiveLabel", labelSizeMd: "labelSizeMd", labelSizeSm: "labelSizeSm", labelSizeXs: "labelSizeXs", labelSizeXxl: "labelSizeXxl", labelSizeLg: "labelSizeLg", labelSizeXl: "labelSizeXl", name: "name", inlineerrorenabled: "inlineerrorenabled", label: "label", value: "value" }, ngImport: i0 });
|
|
1388
1151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBaseModelControl, decorators: [{
|
|
1389
1152
|
type: Directive
|
|
1390
1153
|
}], ctorParameters: function () {
|
|
1391
|
-
return [{ type:
|
|
1154
|
+
return [{ type: SacFormLayoutCommon, decorators: [{
|
|
1392
1155
|
type: Host
|
|
1393
1156
|
}] }, { type: i0.Injector }];
|
|
1394
|
-
}, propDecorators: {
|
|
1157
|
+
}, propDecorators: { disabled: [{
|
|
1395
1158
|
type: Input
|
|
1396
|
-
}],
|
|
1159
|
+
}], disablelabel: [{
|
|
1397
1160
|
type: Input
|
|
1398
|
-
}],
|
|
1161
|
+
}], inlineError: [{
|
|
1399
1162
|
type: Input
|
|
1400
|
-
}],
|
|
1163
|
+
}], isAdaptiveLabel: [{
|
|
1401
1164
|
type: Input
|
|
1402
|
-
}],
|
|
1165
|
+
}], labelSizeMd: [{
|
|
1403
1166
|
type: Input
|
|
1404
|
-
}],
|
|
1167
|
+
}], labelSizeSm: [{
|
|
1405
1168
|
type: Input
|
|
1406
|
-
}],
|
|
1169
|
+
}], labelSizeXs: [{
|
|
1407
1170
|
type: Input
|
|
1408
|
-
}],
|
|
1171
|
+
}], labelSizeXxl: [{
|
|
1172
|
+
type: Input
|
|
1173
|
+
}], labelSizeLg: [{
|
|
1174
|
+
type: Input
|
|
1175
|
+
}], labelSizeXl: [{
|
|
1176
|
+
type: Input
|
|
1177
|
+
}], name: [{
|
|
1409
1178
|
type: Input
|
|
1410
1179
|
}], inlineerrorenabled: [{
|
|
1411
1180
|
type: Input
|
|
1181
|
+
}], label: [{
|
|
1182
|
+
type: Input
|
|
1183
|
+
}], value: [{
|
|
1184
|
+
type: Input
|
|
1412
1185
|
}] } });
|
|
1413
1186
|
|
|
1414
1187
|
/**
|
|
@@ -1418,9 +1191,13 @@ class SacCheckboxCommon extends SacBaseModelControl {
|
|
|
1418
1191
|
constructor() {
|
|
1419
1192
|
super(...arguments);
|
|
1420
1193
|
/**
|
|
1421
|
-
|
|
1422
|
-
|
|
1194
|
+
* Text welcher als Tooltip angezeigt wird.
|
|
1195
|
+
*/
|
|
1423
1196
|
this.tooltiptext = '';
|
|
1197
|
+
/**
|
|
1198
|
+
* Defines that the checkbox can be used in a list of checkboxes and is not handled as a single form control
|
|
1199
|
+
*/
|
|
1200
|
+
this.stacked = false;
|
|
1424
1201
|
}
|
|
1425
1202
|
/**
|
|
1426
1203
|
* Control hat keinen Validator
|
|
@@ -1430,13 +1207,15 @@ class SacCheckboxCommon extends SacBaseModelControl {
|
|
|
1430
1207
|
}
|
|
1431
1208
|
}
|
|
1432
1209
|
SacCheckboxCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacCheckboxCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1433
|
-
SacCheckboxCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacCheckboxCommon, inputs: { tooltiptext: "tooltiptext", checkboxtext: "checkboxtext" }, usesInheritance: true, ngImport: i0 });
|
|
1210
|
+
SacCheckboxCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacCheckboxCommon, inputs: { tooltiptext: "tooltiptext", checkboxtext: "checkboxtext", stacked: "stacked" }, usesInheritance: true, ngImport: i0 });
|
|
1434
1211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacCheckboxCommon, decorators: [{
|
|
1435
1212
|
type: Directive
|
|
1436
1213
|
}], propDecorators: { tooltiptext: [{
|
|
1437
1214
|
type: Input
|
|
1438
1215
|
}], checkboxtext: [{
|
|
1439
1216
|
type: Input
|
|
1217
|
+
}], stacked: [{
|
|
1218
|
+
type: Input
|
|
1440
1219
|
}] } });
|
|
1441
1220
|
|
|
1442
1221
|
/**
|
|
@@ -1894,11 +1673,12 @@ class Validation {
|
|
|
1894
1673
|
*/
|
|
1895
1674
|
class SacRadiobuttonsCommon extends SacBaseModelControl {
|
|
1896
1675
|
/**
|
|
1897
|
-
*
|
|
1898
|
-
*
|
|
1676
|
+
* Constructor
|
|
1677
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
1678
|
+
* @param injector Injector for injecting services
|
|
1899
1679
|
*/
|
|
1900
|
-
constructor(
|
|
1901
|
-
super(
|
|
1680
|
+
constructor(formlayout, injector) {
|
|
1681
|
+
super(formlayout, injector);
|
|
1902
1682
|
/**
|
|
1903
1683
|
* Radio Button Index
|
|
1904
1684
|
*/
|
|
@@ -1947,7 +1727,7 @@ class SacRadiobuttonsCommon extends SacBaseModelControl {
|
|
|
1947
1727
|
writeValue(value) {
|
|
1948
1728
|
super.writeValue(value);
|
|
1949
1729
|
if (value !== null && value !== undefined) {
|
|
1950
|
-
this.contentRadiobuttons.forEach(itm => {
|
|
1730
|
+
this.contentRadiobuttons.forEach((itm) => {
|
|
1951
1731
|
itm.checked = itm.value === value;
|
|
1952
1732
|
});
|
|
1953
1733
|
}
|
|
@@ -1957,7 +1737,7 @@ class SacRadiobuttonsCommon extends SacBaseModelControl {
|
|
|
1957
1737
|
* Item selektieren
|
|
1958
1738
|
*/
|
|
1959
1739
|
SelectItem(value) {
|
|
1960
|
-
this.contentRadiobuttons.forEach(itm => {
|
|
1740
|
+
this.contentRadiobuttons.forEach((itm) => {
|
|
1961
1741
|
itm.checked = itm.value === value;
|
|
1962
1742
|
});
|
|
1963
1743
|
this.value = value;
|
|
@@ -1970,7 +1750,7 @@ class SacRadiobuttonsCommon extends SacBaseModelControl {
|
|
|
1970
1750
|
if (radioButtons === undefined || radioButtons === null) {
|
|
1971
1751
|
return false;
|
|
1972
1752
|
}
|
|
1973
|
-
return this.contentRadiobuttons.some(itm => itm.checked);
|
|
1753
|
+
return this.contentRadiobuttons.some((itm) => itm.checked);
|
|
1974
1754
|
}
|
|
1975
1755
|
/**
|
|
1976
1756
|
* Validator
|
|
@@ -1984,12 +1764,12 @@ class SacRadiobuttonsCommon extends SacBaseModelControl {
|
|
|
1984
1764
|
}
|
|
1985
1765
|
}
|
|
1986
1766
|
}
|
|
1987
|
-
SacRadiobuttonsCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonsCommon, deps: [{ token:
|
|
1767
|
+
SacRadiobuttonsCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonsCommon, deps: [{ token: SacFormLayoutCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1988
1768
|
SacRadiobuttonsCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacRadiobuttonsCommon, inputs: { validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired" }, usesInheritance: true, ngImport: i0 });
|
|
1989
1769
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonsCommon, decorators: [{
|
|
1990
1770
|
type: Directive
|
|
1991
1771
|
}], ctorParameters: function () {
|
|
1992
|
-
return [{ type:
|
|
1772
|
+
return [{ type: SacFormLayoutCommon, decorators: [{
|
|
1993
1773
|
type: Host
|
|
1994
1774
|
}] }, { type: i0.Injector }];
|
|
1995
1775
|
}, propDecorators: { validationmessagerequired: [{
|
|
@@ -2019,88 +1799,412 @@ class SacRadiobuttonCommon {
|
|
|
2019
1799
|
/**
|
|
2020
1800
|
* Unique Index für RadioButton
|
|
2021
1801
|
*/
|
|
2022
|
-
this._index = null;
|
|
2023
|
-
// Registration des Controls in SacRadioButtons Container
|
|
2024
|
-
this.sacRadioButtons.RegisterRadioButton(this);
|
|
1802
|
+
this._index = null;
|
|
1803
|
+
// Registration des Controls in SacRadioButtons Container
|
|
1804
|
+
this.sacRadioButtons.RegisterRadioButton(this);
|
|
1805
|
+
}
|
|
1806
|
+
/**
|
|
1807
|
+
* Methode ergibt Boolean, ob Control disabled ist
|
|
1808
|
+
*/
|
|
1809
|
+
get isDisabled() {
|
|
1810
|
+
return this.disabled || this.sacRadioButtons.disabled;
|
|
1811
|
+
}
|
|
1812
|
+
/**
|
|
1813
|
+
* Setter für hidden Property
|
|
1814
|
+
*/
|
|
1815
|
+
set hidden(v) {
|
|
1816
|
+
if (v === null || v === undefined || typeof v === 'boolean') {
|
|
1817
|
+
this._hidden = v;
|
|
1818
|
+
}
|
|
1819
|
+
else {
|
|
1820
|
+
this._hidden = v === 'true';
|
|
1821
|
+
}
|
|
1822
|
+
// Model Reset falls RadioButton selektiert war
|
|
1823
|
+
if (this._hidden && this.checked) {
|
|
1824
|
+
this.sacRadioButtons.SelectItem(null);
|
|
1825
|
+
}
|
|
1826
|
+
}
|
|
1827
|
+
get hidden() {
|
|
1828
|
+
return this._hidden;
|
|
1829
|
+
}
|
|
1830
|
+
/**
|
|
1831
|
+
* Getter für Unique Index
|
|
1832
|
+
*/
|
|
1833
|
+
get getIndex() {
|
|
1834
|
+
if (this._index === null &&
|
|
1835
|
+
this.sacRadioButtons !== null &&
|
|
1836
|
+
this.sacRadioButtons !== undefined) {
|
|
1837
|
+
this._index = this.sacRadioButtons.GetRadionButtonIndex();
|
|
1838
|
+
}
|
|
1839
|
+
return this._index;
|
|
1840
|
+
}
|
|
1841
|
+
/**
|
|
1842
|
+
* Parent Control Name
|
|
1843
|
+
*/
|
|
1844
|
+
get getName() {
|
|
1845
|
+
return this.sacRadioButtons.name;
|
|
1846
|
+
}
|
|
1847
|
+
//#endregion
|
|
1848
|
+
//#region Control Events
|
|
1849
|
+
/**
|
|
1850
|
+
* Event wenn die Komponente zerstört wird
|
|
1851
|
+
*/
|
|
1852
|
+
ngOnDestroy() {
|
|
1853
|
+
// De-Registration des Controls in SacRadioButtons Container
|
|
1854
|
+
this.sacRadioButtons.UnregisterRadioButton(this);
|
|
1855
|
+
}
|
|
1856
|
+
//#endregion
|
|
1857
|
+
/**
|
|
1858
|
+
* Event bei Änderungen
|
|
1859
|
+
*/
|
|
1860
|
+
ChangeEvent() {
|
|
1861
|
+
if (!this.disabled) {
|
|
1862
|
+
this.sacRadioButtons.SelectItem(this.value);
|
|
1863
|
+
this.onselectitem.emit();
|
|
1864
|
+
}
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
SacRadiobuttonCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonCommon, deps: [{ token: SacRadiobuttonsCommon }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1868
|
+
SacRadiobuttonCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacRadiobuttonCommon, inputs: { value: "value", label: "label", checked: "checked", disabled: "disabled", hidden: "hidden", labeltemplate: "labeltemplate" }, outputs: { onselectitem: "onselectitem" }, ngImport: i0 });
|
|
1869
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonCommon, decorators: [{
|
|
1870
|
+
type: Directive
|
|
1871
|
+
}], ctorParameters: function () { return [{ type: SacRadiobuttonsCommon }]; }, propDecorators: { value: [{
|
|
1872
|
+
type: Input
|
|
1873
|
+
}], label: [{
|
|
1874
|
+
type: Input
|
|
1875
|
+
}], checked: [{
|
|
1876
|
+
type: Input
|
|
1877
|
+
}], disabled: [{
|
|
1878
|
+
type: Input
|
|
1879
|
+
}], onselectitem: [{
|
|
1880
|
+
type: Output
|
|
1881
|
+
}], hidden: [{
|
|
1882
|
+
type: Input
|
|
1883
|
+
}], labeltemplate: [{
|
|
1884
|
+
type: Input
|
|
1885
|
+
}] } });
|
|
1886
|
+
|
|
1887
|
+
/**
|
|
1888
|
+
* Base Komponente für Dialog
|
|
1889
|
+
*/
|
|
1890
|
+
class SacDialogCommon {
|
|
1891
|
+
// #endregion
|
|
1892
|
+
// #region Constructor
|
|
1893
|
+
/**
|
|
1894
|
+
* Konstruktor
|
|
1895
|
+
* Inject des Formulars
|
|
1896
|
+
*/
|
|
1897
|
+
constructor(cdRef) {
|
|
1898
|
+
this.cdRef = cdRef;
|
|
1899
|
+
this.hasSetBodyTag = false;
|
|
1900
|
+
/**
|
|
1901
|
+
* Boolean Property definiert ob das Dialog angezeigt wird
|
|
1902
|
+
*/
|
|
1903
|
+
this._show = false;
|
|
1904
|
+
/**
|
|
1905
|
+
* Das property enthielt (wenn überhaupt gesetzt) entweder keywords für sizing oder custom css Klassen.
|
|
1906
|
+
* Die akzeptabel keywordssind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
1907
|
+
*/
|
|
1908
|
+
this._size = '';
|
|
1909
|
+
// #region Properties
|
|
1910
|
+
/**
|
|
1911
|
+
* Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
|
|
1912
|
+
*/
|
|
1913
|
+
this.title = 'Dialog';
|
|
1914
|
+
/**
|
|
1915
|
+
* Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch ESC geschlossen werden. Default ist true.
|
|
1916
|
+
*/
|
|
1917
|
+
this.allowesc = true;
|
|
1918
|
+
/**
|
|
1919
|
+
* Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch click außerhalb des Dialog-Fenster geschlossen werden. Default ist true.
|
|
1920
|
+
*/
|
|
1921
|
+
this.backdrop = true;
|
|
1922
|
+
/**
|
|
1923
|
+
* Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
|
|
1924
|
+
*/
|
|
1925
|
+
this.name = '';
|
|
1926
|
+
/**
|
|
1927
|
+
* Steuert ob im Header des Dialogs ein Button angezeigt wird.
|
|
1928
|
+
*/
|
|
1929
|
+
this.closebutton = true;
|
|
1930
|
+
/**
|
|
1931
|
+
* Input Property. Erhält die Breite des Dialog
|
|
1932
|
+
*/
|
|
1933
|
+
this.width = null;
|
|
1934
|
+
/**
|
|
1935
|
+
* Definiert eine feste Höhe beim Dialog.
|
|
1936
|
+
*/
|
|
1937
|
+
this.height = null;
|
|
1938
|
+
/**
|
|
1939
|
+
* Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
|
|
1940
|
+
*/
|
|
1941
|
+
this.isvisibleChange = new EventEmitter();
|
|
1942
|
+
}
|
|
1943
|
+
/**
|
|
1944
|
+
* Implementation als Setter, da mit ngIf das Element bei Unsichtbarkeit UNDEFINED ist.
|
|
1945
|
+
*/
|
|
1946
|
+
set dialogElementSetter(content) {
|
|
1947
|
+
this.dialogElement = content;
|
|
1948
|
+
}
|
|
1949
|
+
/**
|
|
1950
|
+
* Das Input akzeptiert sowohl default size-css-Klassen als auch custom Klassen.
|
|
1951
|
+
* case insensitive.
|
|
1952
|
+
* Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
1953
|
+
* Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
|
|
1954
|
+
*/
|
|
1955
|
+
set size(v) {
|
|
1956
|
+
v = v.toLowerCase();
|
|
1957
|
+
this._size = v;
|
|
1958
|
+
}
|
|
1959
|
+
/**
|
|
1960
|
+
* Setter. Erhält das boolen Wert des _show property
|
|
1961
|
+
*/
|
|
1962
|
+
set isvisible(v) {
|
|
1963
|
+
if (v &&
|
|
1964
|
+
!this.hasSetBodyTag &&
|
|
1965
|
+
!document.body.classList.contains('modal-open')) {
|
|
1966
|
+
document.body.classList.add('modal-open');
|
|
1967
|
+
this.hasSetBodyTag = true;
|
|
1968
|
+
}
|
|
1969
|
+
if (!v &&
|
|
1970
|
+
this.hasSetBodyTag &&
|
|
1971
|
+
document.body.classList.contains('modal-open')) {
|
|
1972
|
+
document.body.classList.remove('modal-open');
|
|
1973
|
+
this.hasSetBodyTag = false;
|
|
1974
|
+
}
|
|
1975
|
+
this._show = v;
|
|
1976
|
+
}
|
|
1977
|
+
/**
|
|
1978
|
+
* Getter. Ergibt das boolen Wert des _show property
|
|
1979
|
+
*/
|
|
1980
|
+
get isvisible() {
|
|
1981
|
+
return this._show;
|
|
1982
|
+
}
|
|
1983
|
+
/**
|
|
1984
|
+
* Die Funktion prüft ob es ein default css classe für Size des Dialog durch den size Input gesetzt wurde.
|
|
1985
|
+
*/
|
|
1986
|
+
issetdefaultsize() {
|
|
1987
|
+
let result = false;
|
|
1988
|
+
switch (this._size) {
|
|
1989
|
+
case 'small':
|
|
1990
|
+
result = true;
|
|
1991
|
+
break;
|
|
1992
|
+
case 'medium':
|
|
1993
|
+
result = true;
|
|
1994
|
+
break;
|
|
1995
|
+
case 'large':
|
|
1996
|
+
result = true;
|
|
1997
|
+
break;
|
|
1998
|
+
case 'extralarge':
|
|
1999
|
+
result = true;
|
|
2000
|
+
break;
|
|
2001
|
+
case '':
|
|
2002
|
+
result = true;
|
|
2003
|
+
break;
|
|
2004
|
+
}
|
|
2005
|
+
return result;
|
|
2006
|
+
}
|
|
2007
|
+
// #endregion
|
|
2008
|
+
/**
|
|
2009
|
+
* Methode wenn Componente entfernt wird
|
|
2010
|
+
*/
|
|
2011
|
+
ngOnDestroy() {
|
|
2012
|
+
if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
2013
|
+
document.body.classList.remove('modal-open');
|
|
2014
|
+
this.hasSetBodyTag = false;
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
// #region Methods
|
|
2018
|
+
/**
|
|
2019
|
+
* Die Methode setz den Wert des _show property auf true
|
|
2020
|
+
*/
|
|
2021
|
+
show() {
|
|
2022
|
+
this._show = true;
|
|
2023
|
+
if (!this.hasSetBodyTag &&
|
|
2024
|
+
!document.body.classList.contains('modal-open')) {
|
|
2025
|
+
document.body.classList.add('modal-open');
|
|
2026
|
+
this.hasSetBodyTag = true;
|
|
2027
|
+
}
|
|
2028
|
+
this.isvisibleChange.emit(this._show);
|
|
2029
|
+
}
|
|
2030
|
+
/**
|
|
2031
|
+
* Die Methode setz den Wert des _show property auf false
|
|
2032
|
+
*/
|
|
2033
|
+
hide() {
|
|
2034
|
+
if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
2035
|
+
document.body.classList.remove('modal-open');
|
|
2036
|
+
this.hasSetBodyTag = false;
|
|
2037
|
+
}
|
|
2038
|
+
this._show = false;
|
|
2039
|
+
this.isvisibleChange.emit(this._show);
|
|
2040
|
+
}
|
|
2041
|
+
/**
|
|
2042
|
+
* Getter for ChangeDetector.
|
|
2043
|
+
*/
|
|
2044
|
+
get ChangeDetector() {
|
|
2045
|
+
return this.cdRef;
|
|
2046
|
+
}
|
|
2047
|
+
// #endregion
|
|
2048
|
+
// #region Host Actions
|
|
2049
|
+
/**
|
|
2050
|
+
* Allow Close by Click outside Dialog
|
|
2051
|
+
*/
|
|
2052
|
+
onClick(event) {
|
|
2053
|
+
if (this.allowesc === false ||
|
|
2054
|
+
(this.dialogElement !== null &&
|
|
2055
|
+
this.dialogElement !== undefined &&
|
|
2056
|
+
event.target !== this.dialogElement.nativeElement)) {
|
|
2057
|
+
return;
|
|
2058
|
+
}
|
|
2059
|
+
this.hide();
|
|
2060
|
+
}
|
|
2061
|
+
/**
|
|
2062
|
+
* Allow Close by ESC
|
|
2063
|
+
*/
|
|
2064
|
+
onKeydownHandler(event) {
|
|
2065
|
+
const ESCAPE_KEYCODE = 'Escape';
|
|
2066
|
+
if (this.allowesc === true && event.key === ESCAPE_KEYCODE) {
|
|
2067
|
+
this.hide();
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
}
|
|
2071
|
+
SacDialogCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDialogCommon, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2072
|
+
SacDialogCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDialogCommon, inputs: { title: "title", allowesc: "allowesc", backdrop: "backdrop", name: "name", closebutton: "closebutton", width: "width", height: "height", size: "size", isvisible: "isvisible" }, outputs: { isvisibleChange: "isvisibleChange" }, host: { listeners: { "click": "onClick($event)", "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "dialogElementSetter", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0 });
|
|
2073
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDialogCommon, decorators: [{
|
|
2074
|
+
type: Directive
|
|
2075
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { dialogElementSetter: [{
|
|
2076
|
+
type: ViewChild,
|
|
2077
|
+
args: ['dialog', { static: false }]
|
|
2078
|
+
}], title: [{
|
|
2079
|
+
type: Input
|
|
2080
|
+
}], allowesc: [{
|
|
2081
|
+
type: Input
|
|
2082
|
+
}], backdrop: [{
|
|
2083
|
+
type: Input
|
|
2084
|
+
}], name: [{
|
|
2085
|
+
type: Input
|
|
2086
|
+
}], closebutton: [{
|
|
2087
|
+
type: Input
|
|
2088
|
+
}], width: [{
|
|
2089
|
+
type: Input
|
|
2090
|
+
}], height: [{
|
|
2091
|
+
type: Input
|
|
2092
|
+
}], size: [{
|
|
2093
|
+
type: Input
|
|
2094
|
+
}], isvisibleChange: [{
|
|
2095
|
+
type: Output
|
|
2096
|
+
}], isvisible: [{
|
|
2097
|
+
type: Input
|
|
2098
|
+
}], onClick: [{
|
|
2099
|
+
type: HostListener,
|
|
2100
|
+
args: ['click', ['$event']]
|
|
2101
|
+
}], onKeydownHandler: [{
|
|
2102
|
+
type: HostListener,
|
|
2103
|
+
args: ['document:keydown', ['$event']]
|
|
2104
|
+
}] } });
|
|
2105
|
+
|
|
2106
|
+
// #endregion Type aliases
|
|
2107
|
+
// #region Classes
|
|
2108
|
+
/**
|
|
2109
|
+
* Base Komponente für SacFormular
|
|
2110
|
+
*/
|
|
2111
|
+
class SacFormCommon {
|
|
2112
|
+
// #endregion Properties
|
|
2113
|
+
// #region Constructors
|
|
2114
|
+
/**
|
|
2115
|
+
* Konstruktor
|
|
2116
|
+
* @param form Instanz von NgForm
|
|
2117
|
+
*/
|
|
2118
|
+
constructor(form) {
|
|
2119
|
+
this.form = form;
|
|
2120
|
+
// #region Properties
|
|
2121
|
+
/**
|
|
2122
|
+
* Standardwert wann die Werte via NgModel aktualisiert werden
|
|
2123
|
+
*/
|
|
2124
|
+
this._updateon = 'change';
|
|
2125
|
+
this.form.options = { updateOn: this._updateon };
|
|
2126
|
+
}
|
|
2127
|
+
// #endregion Constructors
|
|
2128
|
+
// #region Public Getters And Setters
|
|
2129
|
+
get updateon() {
|
|
2130
|
+
return this._updateon;
|
|
2025
2131
|
}
|
|
2026
2132
|
/**
|
|
2027
|
-
*
|
|
2133
|
+
* Definiert, wenn das Model geupdatet wird
|
|
2028
2134
|
*/
|
|
2029
|
-
|
|
2030
|
-
|
|
2135
|
+
set updateon(v) {
|
|
2136
|
+
this._updateon = v;
|
|
2137
|
+
this.form.options.updateOn = v;
|
|
2031
2138
|
}
|
|
2139
|
+
// #endregion Public Getters And Setters
|
|
2140
|
+
// #region Public Methods
|
|
2032
2141
|
/**
|
|
2033
|
-
*
|
|
2142
|
+
* Gibt die NgForm Instanz zurück
|
|
2034
2143
|
*/
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
this._hidden = v;
|
|
2038
|
-
}
|
|
2039
|
-
else {
|
|
2040
|
-
this._hidden = v === 'true';
|
|
2041
|
-
}
|
|
2042
|
-
// Model Reset falls RadioButton selektiert war
|
|
2043
|
-
if (this._hidden && this.checked) {
|
|
2044
|
-
this.sacRadioButtons.SelectItem(null);
|
|
2045
|
-
}
|
|
2046
|
-
}
|
|
2047
|
-
get hidden() {
|
|
2048
|
-
return this._hidden;
|
|
2144
|
+
getForm() {
|
|
2145
|
+
return this.form;
|
|
2049
2146
|
}
|
|
2050
2147
|
/**
|
|
2051
|
-
*
|
|
2148
|
+
* Markiert alle Controls innerhalb des Formulares als Touched
|
|
2052
2149
|
*/
|
|
2053
|
-
|
|
2054
|
-
if (this.
|
|
2055
|
-
this.
|
|
2056
|
-
this.sacRadioButtons !== undefined) {
|
|
2057
|
-
this._index = this.sacRadioButtons.GetRadionButtonIndex();
|
|
2150
|
+
markAsTouched() {
|
|
2151
|
+
if (this.form && this.form.invalid) {
|
|
2152
|
+
this.markAsTouchedInternal(this.form.controls);
|
|
2058
2153
|
}
|
|
2059
|
-
return this._index;
|
|
2060
2154
|
}
|
|
2061
2155
|
/**
|
|
2062
|
-
*
|
|
2156
|
+
* Aktualisiert die Werte und den Gültigkeitsstatus des Formulars
|
|
2063
2157
|
*/
|
|
2064
|
-
|
|
2065
|
-
|
|
2158
|
+
updateValueAndValidity(markAsTouched = true) {
|
|
2159
|
+
// Update all Controls
|
|
2160
|
+
this.updateValueAndValidityInternal(this.form.controls);
|
|
2161
|
+
// Update Main Form
|
|
2162
|
+
this.getForm().form.updateValueAndValidity();
|
|
2163
|
+
// Mark all Controls as Touched
|
|
2164
|
+
if (markAsTouched) {
|
|
2165
|
+
this.markAsTouched();
|
|
2166
|
+
}
|
|
2066
2167
|
}
|
|
2067
|
-
|
|
2068
|
-
|
|
2168
|
+
// #endregion Public Methods
|
|
2169
|
+
// #region Private Methods
|
|
2069
2170
|
/**
|
|
2070
|
-
*
|
|
2171
|
+
* Markiert alle Controls inkl. dem Tree als Touched
|
|
2172
|
+
* @param controls Controls Collection
|
|
2071
2173
|
*/
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2174
|
+
markAsTouchedInternal(controls) {
|
|
2175
|
+
const keyList = Object.keys(controls);
|
|
2176
|
+
for (const field of keyList) {
|
|
2177
|
+
const control = controls[field];
|
|
2178
|
+
if (control instanceof FormGroup) {
|
|
2179
|
+
this.markAsTouchedInternal(control.controls);
|
|
2180
|
+
}
|
|
2181
|
+
else {
|
|
2182
|
+
control.markAsTouched({ onlySelf: true });
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2075
2185
|
}
|
|
2076
|
-
//#endregion
|
|
2077
2186
|
/**
|
|
2078
|
-
*
|
|
2187
|
+
* Aktualisiert die Werte und die gültigkeit des Formulars
|
|
2188
|
+
* @param controls Controls Collection
|
|
2079
2189
|
*/
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2190
|
+
updateValueAndValidityInternal(controls) {
|
|
2191
|
+
const keyList = Object.keys(controls);
|
|
2192
|
+
for (const field of keyList) {
|
|
2193
|
+
const control = controls[field];
|
|
2194
|
+
if (control instanceof FormGroup) {
|
|
2195
|
+
this.updateValueAndValidityInternal(control.controls);
|
|
2196
|
+
}
|
|
2197
|
+
else {
|
|
2198
|
+
control.updateValueAndValidity({ onlySelf: true });
|
|
2199
|
+
}
|
|
2084
2200
|
}
|
|
2085
2201
|
}
|
|
2086
2202
|
}
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type:
|
|
2203
|
+
SacFormCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacFormCommon, deps: [{ token: i1.NgForm }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2204
|
+
SacFormCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacFormCommon, inputs: { updateon: "updateon" }, ngImport: i0 });
|
|
2205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacFormCommon, decorators: [{
|
|
2090
2206
|
type: Directive
|
|
2091
|
-
}], ctorParameters: function () { return [{ type:
|
|
2092
|
-
type: Input
|
|
2093
|
-
}], label: [{
|
|
2094
|
-
type: Input
|
|
2095
|
-
}], checked: [{
|
|
2096
|
-
type: Input
|
|
2097
|
-
}], disabled: [{
|
|
2098
|
-
type: Input
|
|
2099
|
-
}], onselectitem: [{
|
|
2100
|
-
type: Output
|
|
2101
|
-
}], hidden: [{
|
|
2102
|
-
type: Input
|
|
2103
|
-
}], labeltemplate: [{
|
|
2207
|
+
}], ctorParameters: function () { return [{ type: i1.NgForm }]; }, propDecorators: { updateon: [{
|
|
2104
2208
|
type: Input
|
|
2105
2209
|
}] } });
|
|
2106
2210
|
|
|
@@ -2190,46 +2294,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2190
2294
|
type: Input
|
|
2191
2295
|
}] } });
|
|
2192
2296
|
|
|
2193
|
-
|
|
2194
|
-
* Function um ein Key Value Pair für das Dropdown zu erzeugen
|
|
2195
|
-
* @param id ID
|
|
2196
|
-
* @param value Wert der an das Element gebunden werden soll
|
|
2197
|
-
*/
|
|
2198
|
-
function _buildValueString(id, value) {
|
|
2199
|
-
// Wenn ID null ist Object zurückgeben
|
|
2200
|
-
if (id == null) {
|
|
2201
|
-
return `${value}`;
|
|
2202
|
-
}
|
|
2203
|
-
// Mapping Objekt zu String
|
|
2204
|
-
if (value && typeof value === 'object') {
|
|
2205
|
-
value = 'Object';
|
|
2206
|
-
}
|
|
2207
|
-
// String als ID
|
|
2208
|
-
return `${id}: ${value}`.slice(0, 50);
|
|
2209
|
-
}
|
|
2297
|
+
// #region Classes
|
|
2210
2298
|
/**
|
|
2211
2299
|
* Base Dropdown Komponente
|
|
2212
2300
|
*/
|
|
2213
2301
|
class SacDropdownCommon extends SacBaseSelectControl {
|
|
2302
|
+
// #endregion Properties
|
|
2303
|
+
// #region Constructors
|
|
2214
2304
|
/**
|
|
2215
|
-
*
|
|
2216
|
-
* @param
|
|
2217
|
-
* @param injector Injector
|
|
2218
|
-
* @param
|
|
2219
|
-
* @param
|
|
2305
|
+
* Constructor
|
|
2306
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
2307
|
+
* @param injector Injector for injecting services
|
|
2308
|
+
* @param renderer html rendering engine
|
|
2309
|
+
* @param elementRef reference to html element
|
|
2220
2310
|
*/
|
|
2221
|
-
constructor(
|
|
2222
|
-
super(
|
|
2223
|
-
this.
|
|
2224
|
-
this.
|
|
2225
|
-
|
|
2226
|
-
* Counter vom OptionID; default Wert = 0
|
|
2227
|
-
*/
|
|
2228
|
-
this._optionIdCounter = 0;
|
|
2229
|
-
/**
|
|
2230
|
-
* OptionMap
|
|
2231
|
-
*/
|
|
2232
|
-
this._optionMap = new Map();
|
|
2311
|
+
constructor(formlayout, injector, renderer, elementRef) {
|
|
2312
|
+
super(formlayout, injector);
|
|
2313
|
+
this.renderer = renderer;
|
|
2314
|
+
this.elementRef = elementRef;
|
|
2315
|
+
// #region Properties
|
|
2233
2316
|
/**
|
|
2234
2317
|
* compareWith-Funktion
|
|
2235
2318
|
*/
|
|
@@ -2250,7 +2333,17 @@ class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
2250
2333
|
* Resource Key für Validation Message Required in Validation Summary
|
|
2251
2334
|
*/
|
|
2252
2335
|
this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
|
|
2336
|
+
/**
|
|
2337
|
+
* Counter vom OptionID; default Wert = 0
|
|
2338
|
+
*/
|
|
2339
|
+
this._optionIdCounter = 0;
|
|
2340
|
+
/**
|
|
2341
|
+
* OptionMap
|
|
2342
|
+
*/
|
|
2343
|
+
this._optionMap = new Map();
|
|
2253
2344
|
}
|
|
2345
|
+
// #endregion Constructors
|
|
2346
|
+
// #region Public Getters And Setters
|
|
2254
2347
|
/**
|
|
2255
2348
|
* compareWith-Funktion
|
|
2256
2349
|
*/
|
|
@@ -2260,21 +2353,8 @@ class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
2260
2353
|
}
|
|
2261
2354
|
this._compareWith = fn;
|
|
2262
2355
|
}
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
* @param value - Wert
|
|
2266
|
-
*/
|
|
2267
|
-
setValue(value) {
|
|
2268
|
-
super.setValue(this.getOptionValue(value));
|
|
2269
|
-
}
|
|
2270
|
-
/**
|
|
2271
|
-
* Wert schreiben
|
|
2272
|
-
* @param value - Wert
|
|
2273
|
-
*/
|
|
2274
|
-
writeValue(value) {
|
|
2275
|
-
this.setSelectedValue(value);
|
|
2276
|
-
super.writeValue(value);
|
|
2277
|
-
}
|
|
2356
|
+
// #endregion Public Getters And Setters
|
|
2357
|
+
// #region Public Methods
|
|
2278
2358
|
/**
|
|
2279
2359
|
* Registriert das OptionID-Counter als String
|
|
2280
2360
|
*/
|
|
@@ -2294,23 +2374,39 @@ class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
2294
2374
|
}
|
|
2295
2375
|
}
|
|
2296
2376
|
/**
|
|
2297
|
-
*
|
|
2298
|
-
* @param value
|
|
2377
|
+
* Wert einstellen
|
|
2378
|
+
* @param value - Wert
|
|
2299
2379
|
*/
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
if (selectItem !== undefined) {
|
|
2312
|
-
this._renderer.setProperty(selectItem, 'value', valueString);
|
|
2380
|
+
setValue(value) {
|
|
2381
|
+
super.setValue(this.getOptionValue(value));
|
|
2382
|
+
}
|
|
2383
|
+
/**
|
|
2384
|
+
* Validator
|
|
2385
|
+
* @param c Control Instanz
|
|
2386
|
+
*/
|
|
2387
|
+
validateData(c) {
|
|
2388
|
+
let error = null;
|
|
2389
|
+
if (this.isrequired) {
|
|
2390
|
+
error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
2313
2391
|
}
|
|
2392
|
+
return error;
|
|
2393
|
+
}
|
|
2394
|
+
/**
|
|
2395
|
+
* Wert schreiben
|
|
2396
|
+
* @param value - Wert
|
|
2397
|
+
*/
|
|
2398
|
+
writeValue(value) {
|
|
2399
|
+
this.setSelectedValue(value);
|
|
2400
|
+
super.writeValue(value);
|
|
2401
|
+
}
|
|
2402
|
+
// #endregion Public Methods
|
|
2403
|
+
// #region Private Methods
|
|
2404
|
+
/**
|
|
2405
|
+
* ID extrahieren
|
|
2406
|
+
* @param valueString String bei welchem die ID Extrahiert werden soll
|
|
2407
|
+
*/
|
|
2408
|
+
extractId(valueString) {
|
|
2409
|
+
return valueString.split(':')[0];
|
|
2314
2410
|
}
|
|
2315
2411
|
/**
|
|
2316
2412
|
* Nimmt das ID vom Option
|
|
@@ -2333,47 +2429,50 @@ class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
2333
2429
|
return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
|
|
2334
2430
|
}
|
|
2335
2431
|
/**
|
|
2336
|
-
*
|
|
2337
|
-
* @param
|
|
2338
|
-
*/
|
|
2339
|
-
extractId(valueString) {
|
|
2340
|
-
return valueString.split(':')[0];
|
|
2341
|
-
}
|
|
2342
|
-
/**
|
|
2343
|
-
* Validator
|
|
2344
|
-
* @param c Control Instanz
|
|
2432
|
+
* Setzt den Selected Value auf dem Control
|
|
2433
|
+
* @param value Value
|
|
2345
2434
|
*/
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2435
|
+
setSelectedValue(value) {
|
|
2436
|
+
// Select Item aus Control lesen
|
|
2437
|
+
const selectItem = this.elementRef.nativeElement.getElementsByTagName('select')[0];
|
|
2438
|
+
/**
|
|
2439
|
+
* Id vom Select Item
|
|
2440
|
+
*/
|
|
2441
|
+
const id = this.getOptionId(value);
|
|
2442
|
+
/**
|
|
2443
|
+
* Value String
|
|
2444
|
+
*/
|
|
2445
|
+
const valueString = _buildValueString(id, value);
|
|
2446
|
+
if (selectItem !== undefined) {
|
|
2447
|
+
this.renderer.setProperty(selectItem, 'value', valueString);
|
|
2350
2448
|
}
|
|
2351
|
-
return error;
|
|
2352
2449
|
}
|
|
2353
2450
|
}
|
|
2354
|
-
SacDropdownCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownCommon, deps: [{ token:
|
|
2355
|
-
SacDropdownCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownCommon, inputs: { emptylabel: "emptylabel", emptyvalue: "emptyvalue",
|
|
2451
|
+
SacDropdownCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownCommon, deps: [{ token: SacFormLayoutCommon, host: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2452
|
+
SacDropdownCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownCommon, inputs: { emptylabel: "emptylabel", emptyvalue: "emptyvalue", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", comparewith: "comparewith" }, usesInheritance: true, ngImport: i0 });
|
|
2356
2453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownCommon, decorators: [{
|
|
2357
2454
|
type: Directive
|
|
2358
2455
|
}], ctorParameters: function () {
|
|
2359
|
-
return [{ type:
|
|
2456
|
+
return [{ type: SacFormLayoutCommon, decorators: [{
|
|
2360
2457
|
type: Host
|
|
2361
2458
|
}] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
2362
2459
|
}, propDecorators: { emptylabel: [{
|
|
2363
2460
|
type: Input
|
|
2364
2461
|
}], emptyvalue: [{
|
|
2365
2462
|
type: Input
|
|
2366
|
-
}], comparewith: [{
|
|
2367
|
-
type: Input
|
|
2368
2463
|
}], validationmessagerequired: [{
|
|
2369
2464
|
type: Input
|
|
2370
2465
|
}], validationmessagesummaryrequired: [{
|
|
2371
2466
|
type: Input
|
|
2467
|
+
}], comparewith: [{
|
|
2468
|
+
type: Input
|
|
2372
2469
|
}] } });
|
|
2373
2470
|
/**
|
|
2374
2471
|
* SacDropdownOption-Klasse
|
|
2375
2472
|
*/
|
|
2376
2473
|
class SacDropdownOptionCommon {
|
|
2474
|
+
// #endregion Properties
|
|
2475
|
+
// #region Constructors
|
|
2377
2476
|
/**
|
|
2378
2477
|
* Konstruktor
|
|
2379
2478
|
* @param _element Referenz auf HTML Element
|
|
@@ -2384,6 +2483,7 @@ class SacDropdownOptionCommon {
|
|
|
2384
2483
|
this._element = _element;
|
|
2385
2484
|
this._renderer = _renderer;
|
|
2386
2485
|
this._dropdown = _dropdown;
|
|
2486
|
+
// #region Properties
|
|
2387
2487
|
/**
|
|
2388
2488
|
* ID-String
|
|
2389
2489
|
*/
|
|
@@ -2392,6 +2492,8 @@ class SacDropdownOptionCommon {
|
|
|
2392
2492
|
this.id = this._dropdown.registerOption();
|
|
2393
2493
|
}
|
|
2394
2494
|
}
|
|
2495
|
+
// #endregion Constructors
|
|
2496
|
+
// #region Public Getters And Setters
|
|
2395
2497
|
/**
|
|
2396
2498
|
* Option ngValue
|
|
2397
2499
|
*/
|
|
@@ -2410,6 +2512,8 @@ class SacDropdownOptionCommon {
|
|
|
2410
2512
|
set value(value) {
|
|
2411
2513
|
this._setElementValue(value);
|
|
2412
2514
|
}
|
|
2515
|
+
// #endregion Public Getters And Setters
|
|
2516
|
+
// #region Public Methods
|
|
2413
2517
|
/**
|
|
2414
2518
|
* Den Wert vom Option-Element einstellen
|
|
2415
2519
|
* @param value Wert
|
|
@@ -2434,7 +2538,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2434
2538
|
type: Input
|
|
2435
2539
|
}], value: [{
|
|
2436
2540
|
type: Input
|
|
2437
|
-
}] } });
|
|
2541
|
+
}] } });
|
|
2542
|
+
// #endregion Classes
|
|
2543
|
+
// #region Functions
|
|
2544
|
+
/**
|
|
2545
|
+
* Function um ein Key Value Pair für das Dropdown zu erzeugen
|
|
2546
|
+
* @param id ID
|
|
2547
|
+
* @param value Wert der an das Element gebunden werden soll
|
|
2548
|
+
*/
|
|
2549
|
+
function _buildValueString(id, value) {
|
|
2550
|
+
// Wenn ID null ist Object zurückgeben
|
|
2551
|
+
if (id == null) {
|
|
2552
|
+
return `${value}`;
|
|
2553
|
+
}
|
|
2554
|
+
// Mapping Objekt zu String
|
|
2555
|
+
if (value && typeof value === 'object') {
|
|
2556
|
+
value = 'Object';
|
|
2557
|
+
}
|
|
2558
|
+
// String als ID
|
|
2559
|
+
return `${id}: ${value}`.slice(0, 50);
|
|
2560
|
+
}
|
|
2438
2561
|
|
|
2439
2562
|
/**
|
|
2440
2563
|
* Basis Komponente für SacListboxOption
|
|
@@ -2607,6 +2730,119 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2607
2730
|
args: [SacListboxOptionCommon]
|
|
2608
2731
|
}] } });
|
|
2609
2732
|
|
|
2733
|
+
/**
|
|
2734
|
+
* Base component for SacTab
|
|
2735
|
+
*/
|
|
2736
|
+
class SacTabCommon {
|
|
2737
|
+
constructor() {
|
|
2738
|
+
/**
|
|
2739
|
+
* control name
|
|
2740
|
+
*/
|
|
2741
|
+
this.name = '';
|
|
2742
|
+
/**
|
|
2743
|
+
* dispose tabs when they are hidden
|
|
2744
|
+
*/
|
|
2745
|
+
this.unloadtabitemswhenhidden = null;
|
|
2746
|
+
/**
|
|
2747
|
+
* Event when new tab is selected
|
|
2748
|
+
*/
|
|
2749
|
+
this.tabselected = new EventEmitter();
|
|
2750
|
+
}
|
|
2751
|
+
// #region Control initialisieren
|
|
2752
|
+
/**
|
|
2753
|
+
* AfterContentInit Event
|
|
2754
|
+
*/
|
|
2755
|
+
ngAfterContentInit() {
|
|
2756
|
+
this.initTabs();
|
|
2757
|
+
}
|
|
2758
|
+
/**
|
|
2759
|
+
* Initialisiert die Tabs
|
|
2760
|
+
*/
|
|
2761
|
+
initTabs() {
|
|
2762
|
+
const activeTab = this.tabItems().filter((tab) => tab.active);
|
|
2763
|
+
this.tabItems().forEach((itm) => {
|
|
2764
|
+
if (this.unloadtabitemswhenhidden !== null) {
|
|
2765
|
+
itm.unloadwhenhidden = this.unloadtabitemswhenhidden;
|
|
2766
|
+
}
|
|
2767
|
+
});
|
|
2768
|
+
if (activeTab.length === 0) {
|
|
2769
|
+
this.selectTab(this.tabItems()[0]);
|
|
2770
|
+
}
|
|
2771
|
+
}
|
|
2772
|
+
// #endregion
|
|
2773
|
+
/**
|
|
2774
|
+
* select new tab
|
|
2775
|
+
* @param tab tab that should be selected
|
|
2776
|
+
*/
|
|
2777
|
+
selectTab(tab) {
|
|
2778
|
+
// Cancel if Selected Tab is disabled
|
|
2779
|
+
if (tab.disabled) {
|
|
2780
|
+
return;
|
|
2781
|
+
}
|
|
2782
|
+
this.tabItems().forEach((item) => (item.active = false));
|
|
2783
|
+
tab.active = true;
|
|
2784
|
+
this.tabselected.emit(tab.id);
|
|
2785
|
+
}
|
|
2786
|
+
/**
|
|
2787
|
+
* get id of tab button
|
|
2788
|
+
* @param tabitemid id of tab
|
|
2789
|
+
*/
|
|
2790
|
+
GetTabItemButtonId(tabitemid) {
|
|
2791
|
+
return this.name + '_' + tabitemid;
|
|
2792
|
+
}
|
|
2793
|
+
}
|
|
2794
|
+
SacTabCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2795
|
+
SacTabCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTabCommon, inputs: { name: "name", tablabeltemplate: "tablabeltemplate", unloadtabitemswhenhidden: "unloadtabitemswhenhidden" }, outputs: { tabselected: "tabselected" }, ngImport: i0 });
|
|
2796
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabCommon, decorators: [{
|
|
2797
|
+
type: Directive
|
|
2798
|
+
}], propDecorators: { name: [{
|
|
2799
|
+
type: Input
|
|
2800
|
+
}], tablabeltemplate: [{
|
|
2801
|
+
type: Input
|
|
2802
|
+
}], unloadtabitemswhenhidden: [{
|
|
2803
|
+
type: Input
|
|
2804
|
+
}], tabselected: [{
|
|
2805
|
+
type: Output
|
|
2806
|
+
}] } });
|
|
2807
|
+
|
|
2808
|
+
/**
|
|
2809
|
+
* Die Basis Komponente für SacTabItem
|
|
2810
|
+
*/
|
|
2811
|
+
class SacTabItemCommon {
|
|
2812
|
+
constructor() {
|
|
2813
|
+
/**
|
|
2814
|
+
* Boolean Property prüft ob das Tab aktiv ist
|
|
2815
|
+
*/
|
|
2816
|
+
this.active = false;
|
|
2817
|
+
/**
|
|
2818
|
+
* Boolean Property prüft ob das Tab disabled ist
|
|
2819
|
+
*/
|
|
2820
|
+
this.disabled = false;
|
|
2821
|
+
/**
|
|
2822
|
+
* Das Input property ekzeptiert boolen Wert. Default ist true. Definiert, ob die Komponente hidden sein sollte.
|
|
2823
|
+
*/
|
|
2824
|
+
this.unloadwhenhidden = true;
|
|
2825
|
+
}
|
|
2826
|
+
}
|
|
2827
|
+
SacTabItemCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabItemCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2828
|
+
SacTabItemCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTabItemCommon, inputs: { active: "active", disabled: "disabled", id: "id", label: "label", unloadwhenhidden: "unloadwhenhidden" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0 });
|
|
2829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabItemCommon, decorators: [{
|
|
2830
|
+
type: Directive
|
|
2831
|
+
}], propDecorators: { active: [{
|
|
2832
|
+
type: Input
|
|
2833
|
+
}], disabled: [{
|
|
2834
|
+
type: Input
|
|
2835
|
+
}], id: [{
|
|
2836
|
+
type: Input
|
|
2837
|
+
}], label: [{
|
|
2838
|
+
type: Input
|
|
2839
|
+
}], unloadwhenhidden: [{
|
|
2840
|
+
type: Input
|
|
2841
|
+
}], templateRef: [{
|
|
2842
|
+
type: ContentChild,
|
|
2843
|
+
args: [TemplateRef, { static: true }]
|
|
2844
|
+
}] } });
|
|
2845
|
+
|
|
2610
2846
|
/**
|
|
2611
2847
|
* Basis Komponente für SacValidationSummary
|
|
2612
2848
|
*/
|
|
@@ -2729,119 +2965,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2729
2965
|
type: Input
|
|
2730
2966
|
}] } });
|
|
2731
2967
|
|
|
2732
|
-
/**
|
|
2733
|
-
* Base component for SacTab
|
|
2734
|
-
*/
|
|
2735
|
-
class SacTabCommon {
|
|
2736
|
-
constructor() {
|
|
2737
|
-
/**
|
|
2738
|
-
* control name
|
|
2739
|
-
*/
|
|
2740
|
-
this.name = '';
|
|
2741
|
-
/**
|
|
2742
|
-
* dispose tabs when they are hidden
|
|
2743
|
-
*/
|
|
2744
|
-
this.unloadtabitemswhenhidden = null;
|
|
2745
|
-
/**
|
|
2746
|
-
* Event when new tab is selected
|
|
2747
|
-
*/
|
|
2748
|
-
this.tabselected = new EventEmitter();
|
|
2749
|
-
}
|
|
2750
|
-
// #region Control initialisieren
|
|
2751
|
-
/**
|
|
2752
|
-
* AfterContentInit Event
|
|
2753
|
-
*/
|
|
2754
|
-
ngAfterContentInit() {
|
|
2755
|
-
this.initTabs();
|
|
2756
|
-
}
|
|
2757
|
-
/**
|
|
2758
|
-
* Initialisiert die Tabs
|
|
2759
|
-
*/
|
|
2760
|
-
initTabs() {
|
|
2761
|
-
const activeTab = this.tabItems().filter((tab) => tab.active);
|
|
2762
|
-
this.tabItems().forEach((itm) => {
|
|
2763
|
-
if (this.unloadtabitemswhenhidden !== null) {
|
|
2764
|
-
itm.unloadwhenhidden = this.unloadtabitemswhenhidden;
|
|
2765
|
-
}
|
|
2766
|
-
});
|
|
2767
|
-
if (activeTab.length === 0) {
|
|
2768
|
-
this.selectTab(this.tabItems()[0]);
|
|
2769
|
-
}
|
|
2770
|
-
}
|
|
2771
|
-
// #endregion
|
|
2772
|
-
/**
|
|
2773
|
-
* select new tab
|
|
2774
|
-
* @param tab tab that should be selected
|
|
2775
|
-
*/
|
|
2776
|
-
selectTab(tab) {
|
|
2777
|
-
// Cancel if Selected Tab is disabled
|
|
2778
|
-
if (tab.disabled) {
|
|
2779
|
-
return;
|
|
2780
|
-
}
|
|
2781
|
-
this.tabItems().forEach((item) => (item.active = false));
|
|
2782
|
-
tab.active = true;
|
|
2783
|
-
this.tabselected.emit(tab.id);
|
|
2784
|
-
}
|
|
2785
|
-
/**
|
|
2786
|
-
* get id of tab button
|
|
2787
|
-
* @param tabitemid id of tab
|
|
2788
|
-
*/
|
|
2789
|
-
GetTabItemButtonId(tabitemid) {
|
|
2790
|
-
return this.name + '_' + tabitemid;
|
|
2791
|
-
}
|
|
2792
|
-
}
|
|
2793
|
-
SacTabCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2794
|
-
SacTabCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTabCommon, inputs: { name: "name", tablabeltemplate: "tablabeltemplate", unloadtabitemswhenhidden: "unloadtabitemswhenhidden" }, outputs: { tabselected: "tabselected" }, ngImport: i0 });
|
|
2795
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabCommon, decorators: [{
|
|
2796
|
-
type: Directive
|
|
2797
|
-
}], propDecorators: { name: [{
|
|
2798
|
-
type: Input
|
|
2799
|
-
}], tablabeltemplate: [{
|
|
2800
|
-
type: Input
|
|
2801
|
-
}], unloadtabitemswhenhidden: [{
|
|
2802
|
-
type: Input
|
|
2803
|
-
}], tabselected: [{
|
|
2804
|
-
type: Output
|
|
2805
|
-
}] } });
|
|
2806
|
-
|
|
2807
|
-
/**
|
|
2808
|
-
* Die Basis Komponente für SacTabItem
|
|
2809
|
-
*/
|
|
2810
|
-
class SacTabItemCommon {
|
|
2811
|
-
constructor() {
|
|
2812
|
-
/**
|
|
2813
|
-
* Boolean Property prüft ob das Tab aktiv ist
|
|
2814
|
-
*/
|
|
2815
|
-
this.active = false;
|
|
2816
|
-
/**
|
|
2817
|
-
* Boolean Property prüft ob das Tab disabled ist
|
|
2818
|
-
*/
|
|
2819
|
-
this.disabled = false;
|
|
2820
|
-
/**
|
|
2821
|
-
* Das Input property ekzeptiert boolen Wert. Default ist true. Definiert, ob die Komponente hidden sein sollte.
|
|
2822
|
-
*/
|
|
2823
|
-
this.unloadwhenhidden = true;
|
|
2824
|
-
}
|
|
2825
|
-
}
|
|
2826
|
-
SacTabItemCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabItemCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2827
|
-
SacTabItemCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTabItemCommon, inputs: { active: "active", disabled: "disabled", id: "id", label: "label", unloadwhenhidden: "unloadwhenhidden" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0 });
|
|
2828
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabItemCommon, decorators: [{
|
|
2829
|
-
type: Directive
|
|
2830
|
-
}], propDecorators: { active: [{
|
|
2831
|
-
type: Input
|
|
2832
|
-
}], disabled: [{
|
|
2833
|
-
type: Input
|
|
2834
|
-
}], id: [{
|
|
2835
|
-
type: Input
|
|
2836
|
-
}], label: [{
|
|
2837
|
-
type: Input
|
|
2838
|
-
}], unloadwhenhidden: [{
|
|
2839
|
-
type: Input
|
|
2840
|
-
}], templateRef: [{
|
|
2841
|
-
type: ContentChild,
|
|
2842
|
-
args: [TemplateRef, { static: true }]
|
|
2843
|
-
}] } });
|
|
2844
|
-
|
|
2845
2968
|
/**
|
|
2846
2969
|
* Abstract Klasse für SacInputBase. Extendes SacBaseModelControl
|
|
2847
2970
|
*/
|
|
@@ -2849,6 +2972,14 @@ class SacInputBase extends SacBaseModelControl {
|
|
|
2849
2972
|
constructor() {
|
|
2850
2973
|
super(...arguments);
|
|
2851
2974
|
// #region Properties
|
|
2975
|
+
/**
|
|
2976
|
+
* Erlaubte Zeichen bei der Eingabe
|
|
2977
|
+
*/
|
|
2978
|
+
this.allowedchars = '';
|
|
2979
|
+
/**
|
|
2980
|
+
* Autofill aktivieren oder deaktivieren
|
|
2981
|
+
*/
|
|
2982
|
+
this.disableautocomplete = false;
|
|
2852
2983
|
/**
|
|
2853
2984
|
* Definiert das Control als Required
|
|
2854
2985
|
*/
|
|
@@ -2857,10 +2988,6 @@ class SacInputBase extends SacBaseModelControl {
|
|
|
2857
2988
|
* TextBox Placeholder
|
|
2858
2989
|
*/
|
|
2859
2990
|
this.placeholder = null;
|
|
2860
|
-
/**
|
|
2861
|
-
* Erlaubte Zeichen bei der Eingabe
|
|
2862
|
-
*/
|
|
2863
|
-
this.allowedchars = '';
|
|
2864
2991
|
/**
|
|
2865
2992
|
* Macht das Input readonly
|
|
2866
2993
|
*/
|
|
@@ -2869,13 +2996,9 @@ class SacInputBase extends SacBaseModelControl {
|
|
|
2869
2996
|
* Text welcher als Tooltip angezeigt wird.
|
|
2870
2997
|
*/
|
|
2871
2998
|
this.tooltiptext = '';
|
|
2872
|
-
/**
|
|
2873
|
-
* Autofill aktivieren oder deaktivieren
|
|
2874
|
-
*/
|
|
2875
|
-
this.disableautocomplete = false;
|
|
2876
2999
|
}
|
|
2877
|
-
// #endregion
|
|
2878
|
-
// #region
|
|
3000
|
+
// #endregion Properties
|
|
3001
|
+
// #region Public Methods
|
|
2879
3002
|
/**
|
|
2880
3003
|
* Methode validiert Input wenn KeyPress-Event passiert
|
|
2881
3004
|
*/
|
|
@@ -2895,8 +3018,8 @@ class SacInputBase extends SacBaseModelControl {
|
|
|
2895
3018
|
event.preventDefault();
|
|
2896
3019
|
}
|
|
2897
3020
|
}
|
|
2898
|
-
// #endregion
|
|
2899
|
-
// #region Protected
|
|
3021
|
+
// #endregion Public Methods
|
|
3022
|
+
// #region Protected Methods
|
|
2900
3023
|
/**
|
|
2901
3024
|
* Methode validiert wenn ein Drück-Event passiert
|
|
2902
3025
|
*/
|
|
@@ -2905,14 +3028,16 @@ class SacInputBase extends SacBaseModelControl {
|
|
|
2905
3028
|
}
|
|
2906
3029
|
}
|
|
2907
3030
|
SacInputBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputBase, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2908
|
-
SacInputBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacInputBase, inputs: {
|
|
3031
|
+
SacInputBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacInputBase, inputs: { allowedchars: "allowedchars", disableautocomplete: "disableautocomplete", isrequired: "isrequired", placeholder: "placeholder", readonly: "readonly", regexvalidation: "regexvalidation", tooltiptext: "tooltiptext" }, usesInheritance: true, ngImport: i0 });
|
|
2909
3032
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputBase, decorators: [{
|
|
2910
3033
|
type: Directive
|
|
2911
|
-
}], propDecorators: {
|
|
3034
|
+
}], propDecorators: { allowedchars: [{
|
|
2912
3035
|
type: Input
|
|
2913
|
-
}],
|
|
3036
|
+
}], disableautocomplete: [{
|
|
3037
|
+
type: Input
|
|
3038
|
+
}], isrequired: [{
|
|
2914
3039
|
type: Input
|
|
2915
|
-
}],
|
|
3040
|
+
}], placeholder: [{
|
|
2916
3041
|
type: Input
|
|
2917
3042
|
}], readonly: [{
|
|
2918
3043
|
type: Input
|
|
@@ -2920,8 +3045,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2920
3045
|
type: Input
|
|
2921
3046
|
}], tooltiptext: [{
|
|
2922
3047
|
type: Input
|
|
2923
|
-
}], disableautocomplete: [{
|
|
2924
|
-
type: Input
|
|
2925
3048
|
}] } });
|
|
2926
3049
|
|
|
2927
3050
|
/**
|
|
@@ -3050,56 +3173,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
3050
3173
|
class SacInputDecimalCommon extends SacInputBase {
|
|
3051
3174
|
constructor() {
|
|
3052
3175
|
super(...arguments);
|
|
3176
|
+
// #region Properties
|
|
3053
3177
|
/**
|
|
3054
3178
|
* Definiert das Negative Werte erlaubt sind
|
|
3055
3179
|
*/
|
|
3056
3180
|
this.allownegativ = false;
|
|
3057
|
-
/**
|
|
3058
|
-
* Definiert den minimalen Wert
|
|
3059
|
-
*/
|
|
3060
|
-
this.minvalue = undefined;
|
|
3061
3181
|
/**
|
|
3062
3182
|
* Definiert den maximalen Wert
|
|
3063
3183
|
*/
|
|
3064
3184
|
this.maxvalue = undefined;
|
|
3065
3185
|
/**
|
|
3066
|
-
*
|
|
3186
|
+
* Definiert den minimalen Wert
|
|
3067
3187
|
*/
|
|
3068
|
-
this.
|
|
3188
|
+
this.minvalue = undefined;
|
|
3069
3189
|
/**
|
|
3070
|
-
* Resource Key für Validation Message
|
|
3190
|
+
* Resource Key für Validation Message MaxValue bei Control
|
|
3071
3191
|
*/
|
|
3072
|
-
this.
|
|
3192
|
+
this.validationmessagemaxvalue = 'VALIDATION_ERROR_MAXVALUE';
|
|
3073
3193
|
/**
|
|
3074
3194
|
* Resource Key für Validation Message MinValue bei Control
|
|
3075
3195
|
*/
|
|
3076
3196
|
this.validationmessageminvalue = 'VALIDATION_ERROR_MINVALUE';
|
|
3077
3197
|
/**
|
|
3078
|
-
* Resource Key für Validation Message
|
|
3079
|
-
*/
|
|
3080
|
-
this.validationmessagesummaryminvalue = 'VALIDATION_ERROR_SUMMARY_MINVALUE';
|
|
3081
|
-
/**
|
|
3082
|
-
* Resource Key für Validation Message MaxValue bei Control
|
|
3198
|
+
* Resource Key für Validation Message Required bei Control
|
|
3083
3199
|
*/
|
|
3084
|
-
this.
|
|
3200
|
+
this.validationmessagerequired = 'VALIDATION_ERROR_REQUIRED';
|
|
3085
3201
|
/**
|
|
3086
3202
|
* Resource Key für Validation Message MaxValue in Validation Summary
|
|
3087
3203
|
*/
|
|
3088
3204
|
this.validationmessagesummarymaxvalue = 'VALIDATION_ERROR_SUMMARY_MAXVALUE';
|
|
3205
|
+
/**
|
|
3206
|
+
* Resource Key für Validation Message MinValue in Validation Summary
|
|
3207
|
+
*/
|
|
3208
|
+
this.validationmessagesummaryminvalue = 'VALIDATION_ERROR_SUMMARY_MINVALUE';
|
|
3209
|
+
/**
|
|
3210
|
+
* Resource Key für Validation Message Required in Validation Summary
|
|
3211
|
+
*/
|
|
3212
|
+
this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
|
|
3089
3213
|
}
|
|
3214
|
+
// #endregion Properties
|
|
3215
|
+
// #region Public Methods
|
|
3090
3216
|
/**
|
|
3091
|
-
* Methode
|
|
3217
|
+
* Methode validiert ob der Wert entspricht den gegebenen Kriterien
|
|
3092
3218
|
*/
|
|
3093
|
-
|
|
3094
|
-
super.OnClassInit();
|
|
3219
|
+
validateData(c) {
|
|
3095
3220
|
/**
|
|
3096
|
-
*
|
|
3221
|
+
* Error Meldung, die angezeigt wird, wenn die Kriterien nicht erfüllt sind
|
|
3097
3222
|
*/
|
|
3098
|
-
|
|
3099
|
-
if (this.
|
|
3100
|
-
|
|
3223
|
+
let error = null;
|
|
3224
|
+
if (this.isrequired) {
|
|
3225
|
+
error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
3226
|
+
}
|
|
3227
|
+
if (error === null &&
|
|
3228
|
+
this.minvalue !== undefined &&
|
|
3229
|
+
this.minvalue !== null) {
|
|
3230
|
+
error = Validation.minValue(this.minvalue, this.validationmessageminvalue, this.validationmessagesummaryminvalue)(c);
|
|
3101
3231
|
}
|
|
3232
|
+
if (error === null &&
|
|
3233
|
+
this.maxvalue !== undefined &&
|
|
3234
|
+
this.maxvalue !== null) {
|
|
3235
|
+
error = Validation.maxValue(this.maxvalue, this.validationmessagemaxvalue, this.validationmessagesummarymaxvalue)(c);
|
|
3236
|
+
}
|
|
3237
|
+
return error;
|
|
3102
3238
|
}
|
|
3239
|
+
// #endregion Public Methods
|
|
3240
|
+
// #region Protected Methods
|
|
3103
3241
|
/**
|
|
3104
3242
|
* Konvertiert den Wert des Inputs
|
|
3105
3243
|
*/
|
|
@@ -3119,6 +3257,19 @@ class SacInputDecimalCommon extends SacInputBase {
|
|
|
3119
3257
|
}
|
|
3120
3258
|
}
|
|
3121
3259
|
}
|
|
3260
|
+
/**
|
|
3261
|
+
* Methode die erzeugt den Control in Abhängigkeit davon, ob negative Were erlaubt sing oder nicht
|
|
3262
|
+
*/
|
|
3263
|
+
OnClassInit() {
|
|
3264
|
+
super.OnClassInit();
|
|
3265
|
+
/**
|
|
3266
|
+
* Definiert die Werte die erlaubt sind
|
|
3267
|
+
*/
|
|
3268
|
+
this.allowedchars = '0123456789' + this.GetDecimalSymbol();
|
|
3269
|
+
if (this.allownegativ) {
|
|
3270
|
+
this.allowedchars = this.allowedchars + '-';
|
|
3271
|
+
}
|
|
3272
|
+
}
|
|
3122
3273
|
/**
|
|
3123
3274
|
* Methode validiert ob der Wert entspricht den gegebenen Kriterien wenn ein Key gedrückt wird
|
|
3124
3275
|
*/
|
|
@@ -3142,52 +3293,29 @@ class SacInputDecimalCommon extends SacInputBase {
|
|
|
3142
3293
|
return true;
|
|
3143
3294
|
}
|
|
3144
3295
|
}
|
|
3145
|
-
/**
|
|
3146
|
-
* Methode validiert ob der Wert entspricht den gegebenen Kriterien
|
|
3147
|
-
*/
|
|
3148
|
-
validateData(c) {
|
|
3149
|
-
/**
|
|
3150
|
-
* Error Meldung, die angezeigt wird, wenn die Kriterien nicht erfüllt sind
|
|
3151
|
-
*/
|
|
3152
|
-
let error = null;
|
|
3153
|
-
if (this.isrequired) {
|
|
3154
|
-
error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
3155
|
-
}
|
|
3156
|
-
if (error === null &&
|
|
3157
|
-
this.minvalue !== undefined &&
|
|
3158
|
-
this.minvalue !== null) {
|
|
3159
|
-
error = Validation.minValue(this.minvalue, this.validationmessageminvalue, this.validationmessagesummaryminvalue)(c);
|
|
3160
|
-
}
|
|
3161
|
-
if (error === null &&
|
|
3162
|
-
this.maxvalue !== undefined &&
|
|
3163
|
-
this.maxvalue !== null) {
|
|
3164
|
-
error = Validation.maxValue(this.maxvalue, this.validationmessagemaxvalue, this.validationmessagesummarymaxvalue)(c);
|
|
3165
|
-
}
|
|
3166
|
-
return error;
|
|
3167
|
-
}
|
|
3168
3296
|
}
|
|
3169
3297
|
SacInputDecimalCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputDecimalCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3170
|
-
SacInputDecimalCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacInputDecimalCommon, inputs: { allownegativ: "allownegativ",
|
|
3298
|
+
SacInputDecimalCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacInputDecimalCommon, inputs: { allownegativ: "allownegativ", maxvalue: "maxvalue", minvalue: "minvalue", validationmessagemaxvalue: "validationmessagemaxvalue", validationmessageminvalue: "validationmessageminvalue", validationmessagerequired: "validationmessagerequired", validationmessagesummarymaxvalue: "validationmessagesummarymaxvalue", validationmessagesummaryminvalue: "validationmessagesummaryminvalue", validationmessagesummaryrequired: "validationmessagesummaryrequired" }, usesInheritance: true, ngImport: i0 });
|
|
3171
3299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputDecimalCommon, decorators: [{
|
|
3172
3300
|
type: Directive
|
|
3173
3301
|
}], propDecorators: { allownegativ: [{
|
|
3174
3302
|
type: Input
|
|
3175
|
-
}], minvalue: [{
|
|
3176
|
-
type: Input
|
|
3177
3303
|
}], maxvalue: [{
|
|
3178
3304
|
type: Input
|
|
3179
|
-
}],
|
|
3305
|
+
}], minvalue: [{
|
|
3180
3306
|
type: Input
|
|
3181
|
-
}],
|
|
3307
|
+
}], validationmessagemaxvalue: [{
|
|
3182
3308
|
type: Input
|
|
3183
3309
|
}], validationmessageminvalue: [{
|
|
3184
3310
|
type: Input
|
|
3185
|
-
}],
|
|
3186
|
-
type: Input
|
|
3187
|
-
}], validationmessagemaxvalue: [{
|
|
3311
|
+
}], validationmessagerequired: [{
|
|
3188
3312
|
type: Input
|
|
3189
3313
|
}], validationmessagesummarymaxvalue: [{
|
|
3190
3314
|
type: Input
|
|
3315
|
+
}], validationmessagesummaryminvalue: [{
|
|
3316
|
+
type: Input
|
|
3317
|
+
}], validationmessagesummaryrequired: [{
|
|
3318
|
+
type: Input
|
|
3191
3319
|
}] } });
|
|
3192
3320
|
|
|
3193
3321
|
/**
|
|
@@ -3679,6 +3807,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
3679
3807
|
type: Input
|
|
3680
3808
|
}] } });
|
|
3681
3809
|
|
|
3810
|
+
/**
|
|
3811
|
+
* Base Grid Action Button
|
|
3812
|
+
*/
|
|
3813
|
+
class SacGridButtonCommon {
|
|
3814
|
+
constructor() {
|
|
3815
|
+
/**
|
|
3816
|
+
* Input Property für Styling des Buttons. Deffiniert die Css Klassen des Buttons
|
|
3817
|
+
*/
|
|
3818
|
+
this.iconstyle = '';
|
|
3819
|
+
/**
|
|
3820
|
+
* Button ist deaktiviert
|
|
3821
|
+
*/
|
|
3822
|
+
this._isdisabledvalue = false;
|
|
3823
|
+
/**
|
|
3824
|
+
* Event wenn auf den Button geklickt wird
|
|
3825
|
+
*/
|
|
3826
|
+
this.clicked = new EventEmitter();
|
|
3827
|
+
}
|
|
3828
|
+
/**
|
|
3829
|
+
* Deaktivieren von Buttons
|
|
3830
|
+
* @param v Deaktiviert den Button
|
|
3831
|
+
* @return Definiert ob der Button deaktiviert ist
|
|
3832
|
+
*/
|
|
3833
|
+
set isdisabled(v) {
|
|
3834
|
+
if (v === null || v === undefined || typeof v === 'boolean') {
|
|
3835
|
+
this._isdisabledvalue = v;
|
|
3836
|
+
}
|
|
3837
|
+
else {
|
|
3838
|
+
this._isdisabledvalue = v === 'true';
|
|
3839
|
+
}
|
|
3840
|
+
}
|
|
3841
|
+
get isdisabled() {
|
|
3842
|
+
return this._isdisabledvalue;
|
|
3843
|
+
}
|
|
3844
|
+
/**
|
|
3845
|
+
* Die Methode wird das cklickaction Emitter aktivieren
|
|
3846
|
+
*/
|
|
3847
|
+
callaction() {
|
|
3848
|
+
if (!this._isdisabledvalue) {
|
|
3849
|
+
this.clicked.emit(this.iconstyle);
|
|
3850
|
+
}
|
|
3851
|
+
}
|
|
3852
|
+
}
|
|
3853
|
+
SacGridButtonCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridButtonCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3854
|
+
SacGridButtonCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacGridButtonCommon, inputs: { iconstyle: "iconstyle", icon: "icon", isdisabled: "isdisabled" }, outputs: { clicked: "clicked" }, ngImport: i0 });
|
|
3855
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridButtonCommon, decorators: [{
|
|
3856
|
+
type: Directive
|
|
3857
|
+
}], propDecorators: { iconstyle: [{
|
|
3858
|
+
type: Input
|
|
3859
|
+
}], icon: [{
|
|
3860
|
+
type: Input
|
|
3861
|
+
}], isdisabled: [{
|
|
3862
|
+
type: Input
|
|
3863
|
+
}], clicked: [{
|
|
3864
|
+
type: Output
|
|
3865
|
+
}] } });
|
|
3866
|
+
|
|
3682
3867
|
/**
|
|
3683
3868
|
* Enum für Icon Types in Componenten
|
|
3684
3869
|
*/
|
|
@@ -4356,6 +4541,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
4356
4541
|
type: Directive
|
|
4357
4542
|
}], ctorParameters: function () { return [{ type: SacGridCommon }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
|
|
4358
4543
|
|
|
4544
|
+
/**
|
|
4545
|
+
* Basis Komponente für SacGridImage
|
|
4546
|
+
*/
|
|
4547
|
+
class SacGridImageCommon {
|
|
4548
|
+
}
|
|
4549
|
+
SacGridImageCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridImageCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4550
|
+
SacGridImageCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacGridImageCommon, inputs: { iconstyle: "iconstyle" }, ngImport: i0 });
|
|
4551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridImageCommon, decorators: [{
|
|
4552
|
+
type: Directive
|
|
4553
|
+
}], propDecorators: { iconstyle: [{
|
|
4554
|
+
type: Input
|
|
4555
|
+
}] } });
|
|
4556
|
+
|
|
4359
4557
|
/**
|
|
4360
4558
|
* Basiskomponente für Paging
|
|
4361
4559
|
*/
|
|
@@ -4565,114 +4763,44 @@ class SacPagingCommon {
|
|
|
4565
4763
|
}
|
|
4566
4764
|
/**
|
|
4567
4765
|
* Gibt die totale Anzahl Seiten zurück
|
|
4568
|
-
*/
|
|
4569
|
-
getTotalPageNumber() {
|
|
4570
|
-
return this.lastPageIndex + 1;
|
|
4571
|
-
}
|
|
4572
|
-
/**
|
|
4573
|
-
* Text mit Aktueller Seite und Total Seiten
|
|
4574
|
-
*/
|
|
4575
|
-
get PagingText() {
|
|
4576
|
-
return this.lngResourceService.GetString(this.pagingtext, {
|
|
4577
|
-
CURRENTPAGE: this.getCurrentPageNumber(),
|
|
4578
|
-
TOTALPAGES: this.getTotalPageNumber(),
|
|
4579
|
-
});
|
|
4580
|
-
}
|
|
4581
|
-
/**
|
|
4582
|
-
* Property mit Text für Total Einträge in Seite
|
|
4583
|
-
*/
|
|
4584
|
-
get PageSizeText() {
|
|
4585
|
-
return this.lngResourceService.GetString(this.pagesizetext);
|
|
4586
|
-
}
|
|
4587
|
-
}
|
|
4588
|
-
SacPagingCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacPagingCommon, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4589
|
-
SacPagingCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacPagingCommon, inputs: { pagerdata: "pagerdata", pagingtext: "pagingtext", pagesizetext: "pagesizetext", pagesizes: "pagesizes", pagesizedisabled: "pagesizedisabled", name: "name" }, outputs: { paging: "paging" }, ngImport: i0 });
|
|
4590
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacPagingCommon, decorators: [{
|
|
4591
|
-
type: Directive
|
|
4592
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { pagerdata: [{
|
|
4593
|
-
type: Input
|
|
4594
|
-
}], pagingtext: [{
|
|
4595
|
-
type: Input
|
|
4596
|
-
}], pagesizetext: [{
|
|
4597
|
-
type: Input
|
|
4598
|
-
}], pagesizes: [{
|
|
4599
|
-
type: Input
|
|
4600
|
-
}], pagesizedisabled: [{
|
|
4601
|
-
type: Input
|
|
4602
|
-
}], name: [{
|
|
4603
|
-
type: Input
|
|
4604
|
-
}], paging: [{
|
|
4605
|
-
type: Output
|
|
4606
|
-
}] } });
|
|
4607
|
-
|
|
4608
|
-
/**
|
|
4609
|
-
* Base Grid Action Button
|
|
4610
|
-
*/
|
|
4611
|
-
class SacGridButtonCommon {
|
|
4612
|
-
constructor() {
|
|
4613
|
-
/**
|
|
4614
|
-
* Input Property für Styling des Buttons. Deffiniert die Css Klassen des Buttons
|
|
4615
|
-
*/
|
|
4616
|
-
this.iconstyle = '';
|
|
4617
|
-
/**
|
|
4618
|
-
* Button ist deaktiviert
|
|
4619
|
-
*/
|
|
4620
|
-
this._isdisabledvalue = false;
|
|
4621
|
-
/**
|
|
4622
|
-
* Event wenn auf den Button geklickt wird
|
|
4623
|
-
*/
|
|
4624
|
-
this.clicked = new EventEmitter();
|
|
4766
|
+
*/
|
|
4767
|
+
getTotalPageNumber() {
|
|
4768
|
+
return this.lastPageIndex + 1;
|
|
4625
4769
|
}
|
|
4626
4770
|
/**
|
|
4627
|
-
*
|
|
4628
|
-
* @param v Deaktiviert den Button
|
|
4629
|
-
* @return Definiert ob der Button deaktiviert ist
|
|
4771
|
+
* Text mit Aktueller Seite und Total Seiten
|
|
4630
4772
|
*/
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
this.
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
this._isdisabledvalue = v === 'true';
|
|
4637
|
-
}
|
|
4638
|
-
}
|
|
4639
|
-
get isdisabled() {
|
|
4640
|
-
return this._isdisabledvalue;
|
|
4773
|
+
get PagingText() {
|
|
4774
|
+
return this.lngResourceService.GetString(this.pagingtext, {
|
|
4775
|
+
CURRENTPAGE: this.getCurrentPageNumber(),
|
|
4776
|
+
TOTALPAGES: this.getTotalPageNumber(),
|
|
4777
|
+
});
|
|
4641
4778
|
}
|
|
4642
4779
|
/**
|
|
4643
|
-
*
|
|
4780
|
+
* Property mit Text für Total Einträge in Seite
|
|
4644
4781
|
*/
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
this.clicked.emit(this.iconstyle);
|
|
4648
|
-
}
|
|
4782
|
+
get PageSizeText() {
|
|
4783
|
+
return this.lngResourceService.GetString(this.pagesizetext);
|
|
4649
4784
|
}
|
|
4650
4785
|
}
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type:
|
|
4786
|
+
SacPagingCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacPagingCommon, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4787
|
+
SacPagingCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacPagingCommon, inputs: { pagerdata: "pagerdata", pagingtext: "pagingtext", pagesizetext: "pagesizetext", pagesizes: "pagesizes", pagesizedisabled: "pagesizedisabled", name: "name" }, outputs: { paging: "paging" }, ngImport: i0 });
|
|
4788
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacPagingCommon, decorators: [{
|
|
4654
4789
|
type: Directive
|
|
4655
|
-
}], propDecorators: {
|
|
4790
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { pagerdata: [{
|
|
4656
4791
|
type: Input
|
|
4657
|
-
}],
|
|
4792
|
+
}], pagingtext: [{
|
|
4658
4793
|
type: Input
|
|
4659
|
-
}],
|
|
4794
|
+
}], pagesizetext: [{
|
|
4660
4795
|
type: Input
|
|
4661
|
-
}],
|
|
4662
|
-
type:
|
|
4663
|
-
}]
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
* Basis Komponente für SacGridImage
|
|
4667
|
-
*/
|
|
4668
|
-
class SacGridImageCommon {
|
|
4669
|
-
}
|
|
4670
|
-
SacGridImageCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridImageCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4671
|
-
SacGridImageCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacGridImageCommon, inputs: { iconstyle: "iconstyle" }, ngImport: i0 });
|
|
4672
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridImageCommon, decorators: [{
|
|
4673
|
-
type: Directive
|
|
4674
|
-
}], propDecorators: { iconstyle: [{
|
|
4796
|
+
}], pagesizes: [{
|
|
4797
|
+
type: Input
|
|
4798
|
+
}], pagesizedisabled: [{
|
|
4799
|
+
type: Input
|
|
4800
|
+
}], name: [{
|
|
4675
4801
|
type: Input
|
|
4802
|
+
}], paging: [{
|
|
4803
|
+
type: Output
|
|
4676
4804
|
}] } });
|
|
4677
4805
|
|
|
4678
4806
|
/**
|
|
@@ -4683,17 +4811,18 @@ const moment$4 = moment_['default'];
|
|
|
4683
4811
|
* Base Klasse für Date/Time Controls
|
|
4684
4812
|
*/
|
|
4685
4813
|
class SacBaseDateTimeControl extends SacBaseModelControl {
|
|
4686
|
-
// #
|
|
4814
|
+
// #endregion Properties
|
|
4815
|
+
// #region Constructors
|
|
4687
4816
|
/**
|
|
4688
|
-
*
|
|
4689
|
-
* @param
|
|
4690
|
-
* @param injector
|
|
4691
|
-
* @param
|
|
4817
|
+
* Constructor
|
|
4818
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
4819
|
+
* @param injector Injector for injecting services
|
|
4820
|
+
* @param elementRef reference to html element
|
|
4692
4821
|
*/
|
|
4693
|
-
constructor(
|
|
4694
|
-
super(
|
|
4695
|
-
this.
|
|
4696
|
-
|
|
4822
|
+
constructor(formlayout, injector, elementRef) {
|
|
4823
|
+
super(formlayout, injector);
|
|
4824
|
+
this.elementRef = elementRef;
|
|
4825
|
+
// #region Properties
|
|
4697
4826
|
/**
|
|
4698
4827
|
* das property enthielt das Value als string. Default ist ''
|
|
4699
4828
|
*/
|
|
@@ -4706,14 +4835,6 @@ class SacBaseDateTimeControl extends SacBaseModelControl {
|
|
|
4706
4835
|
* TextBox Placeholder
|
|
4707
4836
|
*/
|
|
4708
4837
|
this.placeholder = null;
|
|
4709
|
-
/**
|
|
4710
|
-
* Resource Key für Validation Message Required bei Control
|
|
4711
|
-
*/
|
|
4712
|
-
this.validationmessagerequired = 'VALIDATION_ERROR_REQUIRED';
|
|
4713
|
-
/**
|
|
4714
|
-
* Resource Key für Validation Message Required in Validation Summary
|
|
4715
|
-
*/
|
|
4716
|
-
this.validationmessagerequiredsummary = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
|
|
4717
4838
|
/**
|
|
4718
4839
|
* Resource Key für Validation Message DateTimeFormat bei Control
|
|
4719
4840
|
*/
|
|
@@ -4722,51 +4843,17 @@ class SacBaseDateTimeControl extends SacBaseModelControl {
|
|
|
4722
4843
|
* Resource Key für Validation Message DateTimeFormat in Validation Summary
|
|
4723
4844
|
*/
|
|
4724
4845
|
this.validationmessagedatetimeformatsummary = 'VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT';
|
|
4846
|
+
/**
|
|
4847
|
+
* Resource Key für Validation Message Required bei Control
|
|
4848
|
+
*/
|
|
4849
|
+
this.validationmessagerequired = 'VALIDATION_ERROR_REQUIRED';
|
|
4850
|
+
/**
|
|
4851
|
+
* Resource Key für Validation Message Required in Validation Summary
|
|
4852
|
+
*/
|
|
4853
|
+
this.validationmessagerequiredsummary = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
|
|
4725
4854
|
}
|
|
4726
|
-
// #endregion
|
|
4727
|
-
|
|
4728
|
-
* Init Event
|
|
4729
|
-
*/
|
|
4730
|
-
ngOnInit() {
|
|
4731
|
-
super.ngOnInit();
|
|
4732
|
-
this.SetDateTimeFormat();
|
|
4733
|
-
}
|
|
4734
|
-
//#endregion
|
|
4735
|
-
//#region Variablen
|
|
4736
|
-
//#endregion
|
|
4737
|
-
// #region Properties
|
|
4738
|
-
//#endregion
|
|
4739
|
-
//#region ValueControlAccess
|
|
4740
|
-
/**
|
|
4741
|
-
* Overwrite WriteValue to Set correct Date Object
|
|
4742
|
-
*/
|
|
4743
|
-
writeValue(value) {
|
|
4744
|
-
if (value === '' || value === null || value === undefined) {
|
|
4745
|
-
// Reset Value String, damit beim Update des Models auch das Input Feld geleert wird.
|
|
4746
|
-
this._valueAsString = '';
|
|
4747
|
-
// Set Internal Property
|
|
4748
|
-
this._value = null;
|
|
4749
|
-
}
|
|
4750
|
-
else {
|
|
4751
|
-
this._value = this.getDate(value).toDate();
|
|
4752
|
-
}
|
|
4753
|
-
super.writeValue(this._value);
|
|
4754
|
-
}
|
|
4755
|
-
/**
|
|
4756
|
-
* JSON Date String in ein UTC DateTime Object konvertieren, welches vom Control verwendete werden kann
|
|
4757
|
-
*/
|
|
4758
|
-
getDate(timestamp) {
|
|
4759
|
-
const date = new Date(timestamp);
|
|
4760
|
-
const year = date.getUTCFullYear();
|
|
4761
|
-
const month = date.getUTCMonth();
|
|
4762
|
-
const day = date.getUTCDate();
|
|
4763
|
-
const hours = date.getUTCHours();
|
|
4764
|
-
const minutes = date.getUTCMinutes();
|
|
4765
|
-
const seconds = date.getUTCSeconds();
|
|
4766
|
-
return moment$4(Date.UTC(year, month, day, hours, minutes, seconds));
|
|
4767
|
-
}
|
|
4768
|
-
//#endregion
|
|
4769
|
-
// #region Value as String
|
|
4855
|
+
// #endregion Constructors
|
|
4856
|
+
// #region Public Getters And Setters
|
|
4770
4857
|
/**
|
|
4771
4858
|
* Das Input bekommt das value von typ string
|
|
4772
4859
|
*/
|
|
@@ -4793,23 +4880,34 @@ class SacBaseDateTimeControl extends SacBaseModelControl {
|
|
|
4793
4880
|
return date.local().format(this.GetDateTimeFormatString());
|
|
4794
4881
|
}
|
|
4795
4882
|
}
|
|
4883
|
+
// #endregion Public Getters And Setters
|
|
4884
|
+
// #region Public Methods
|
|
4885
|
+
/**
|
|
4886
|
+
* JSON Date String in ein UTC DateTime Object konvertieren, welches vom Control verwendete werden kann
|
|
4887
|
+
*/
|
|
4888
|
+
getDate(timestamp) {
|
|
4889
|
+
const date = new Date(timestamp);
|
|
4890
|
+
const year = date.getUTCFullYear();
|
|
4891
|
+
const month = date.getUTCMonth();
|
|
4892
|
+
const day = date.getUTCDate();
|
|
4893
|
+
const hours = date.getUTCHours();
|
|
4894
|
+
const minutes = date.getUTCMinutes();
|
|
4895
|
+
const seconds = date.getUTCSeconds();
|
|
4896
|
+
return moment$4(Date.UTC(year, month, day, hours, minutes, seconds));
|
|
4897
|
+
}
|
|
4898
|
+
/**
|
|
4899
|
+
* Init Event
|
|
4900
|
+
*/
|
|
4901
|
+
ngOnInit() {
|
|
4902
|
+
super.ngOnInit();
|
|
4903
|
+
this.SetDateTimeFormat();
|
|
4904
|
+
}
|
|
4796
4905
|
/**
|
|
4797
4906
|
* setzt das value von typ string zu property valuestring
|
|
4798
4907
|
*/
|
|
4799
4908
|
setValueString(v) {
|
|
4800
4909
|
this.valuestring = v;
|
|
4801
4910
|
}
|
|
4802
|
-
// #endregion
|
|
4803
|
-
// #region Private Methods
|
|
4804
|
-
SetDateTimeFormat() {
|
|
4805
|
-
// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
|
|
4806
|
-
if (this.ngControl) {
|
|
4807
|
-
this.ngControl.datetimeformatstring =
|
|
4808
|
-
this.GetDateTimeFormatString();
|
|
4809
|
-
}
|
|
4810
|
-
}
|
|
4811
|
-
// #endregion
|
|
4812
|
-
//#region Validation
|
|
4813
4911
|
/**
|
|
4814
4912
|
* Validator
|
|
4815
4913
|
*/
|
|
@@ -4821,23 +4919,47 @@ class SacBaseDateTimeControl extends SacBaseModelControl {
|
|
|
4821
4919
|
}
|
|
4822
4920
|
return error;
|
|
4823
4921
|
}
|
|
4922
|
+
/**
|
|
4923
|
+
* Overwrite WriteValue to Set correct Date Object
|
|
4924
|
+
*/
|
|
4925
|
+
writeValue(value) {
|
|
4926
|
+
if (value === '' || value === null || value === undefined) {
|
|
4927
|
+
// Reset Value String, damit beim Update des Models auch das Input Feld geleert wird.
|
|
4928
|
+
this._valueAsString = '';
|
|
4929
|
+
// Set Internal Property
|
|
4930
|
+
this._value = null;
|
|
4931
|
+
}
|
|
4932
|
+
else {
|
|
4933
|
+
this._value = this.getDate(value).toDate();
|
|
4934
|
+
}
|
|
4935
|
+
super.writeValue(this._value);
|
|
4936
|
+
}
|
|
4937
|
+
// #endregion Public Abstract Methods
|
|
4938
|
+
// #region Private Methods
|
|
4939
|
+
SetDateTimeFormat() {
|
|
4940
|
+
// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
|
|
4941
|
+
if (this.ngControl) {
|
|
4942
|
+
this.ngControl.datetimeformatstring =
|
|
4943
|
+
this.GetDateTimeFormatString();
|
|
4944
|
+
}
|
|
4945
|
+
}
|
|
4824
4946
|
}
|
|
4825
|
-
SacBaseDateTimeControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBaseDateTimeControl, deps: [{ token:
|
|
4826
|
-
SacBaseDateTimeControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacBaseDateTimeControl, inputs: { isrequired: "isrequired", placeholder: "placeholder",
|
|
4947
|
+
SacBaseDateTimeControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBaseDateTimeControl, deps: [{ token: SacFormLayoutCommon }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4948
|
+
SacBaseDateTimeControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacBaseDateTimeControl, inputs: { isrequired: "isrequired", placeholder: "placeholder", validationmessagedatetimeformat: "validationmessagedatetimeformat", validationmessagedatetimeformatsummary: "validationmessagedatetimeformatsummary", validationmessagerequired: "validationmessagerequired", validationmessagerequiredsummary: "validationmessagerequiredsummary", valuestring: "valuestring" }, usesInheritance: true, ngImport: i0 });
|
|
4827
4949
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBaseDateTimeControl, decorators: [{
|
|
4828
4950
|
type: Directive
|
|
4829
|
-
}], ctorParameters: function () { return [{ type:
|
|
4951
|
+
}], ctorParameters: function () { return [{ type: SacFormLayoutCommon }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { isrequired: [{
|
|
4830
4952
|
type: Input
|
|
4831
4953
|
}], placeholder: [{
|
|
4832
4954
|
type: Input
|
|
4833
|
-
}], validationmessagerequired: [{
|
|
4834
|
-
type: Input
|
|
4835
|
-
}], validationmessagerequiredsummary: [{
|
|
4836
|
-
type: Input
|
|
4837
4955
|
}], validationmessagedatetimeformat: [{
|
|
4838
4956
|
type: Input
|
|
4839
4957
|
}], validationmessagedatetimeformatsummary: [{
|
|
4840
4958
|
type: Input
|
|
4959
|
+
}], validationmessagerequired: [{
|
|
4960
|
+
type: Input
|
|
4961
|
+
}], validationmessagerequiredsummary: [{
|
|
4962
|
+
type: Input
|
|
4841
4963
|
}], valuestring: [{
|
|
4842
4964
|
type: Input
|
|
4843
4965
|
}] } });
|
|
@@ -4852,14 +4974,14 @@ const moment$3 = moment_['default'];
|
|
|
4852
4974
|
class SacDateCommon extends SacBaseDateTimeControl {
|
|
4853
4975
|
// #endregion
|
|
4854
4976
|
/**
|
|
4855
|
-
*
|
|
4856
|
-
* @param
|
|
4857
|
-
* @param injector
|
|
4858
|
-
* @param
|
|
4977
|
+
* Constructor
|
|
4978
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
4979
|
+
* @param injector Injector for injecting services
|
|
4980
|
+
* @param elementRef reference to html element
|
|
4859
4981
|
*/
|
|
4860
|
-
constructor(
|
|
4861
|
-
super(
|
|
4862
|
-
this.
|
|
4982
|
+
constructor(formlayout, injector, elementRef) {
|
|
4983
|
+
super(formlayout, injector, elementRef);
|
|
4984
|
+
this.elementRef = elementRef;
|
|
4863
4985
|
// #region Constants
|
|
4864
4986
|
/**
|
|
4865
4987
|
* Format des Datums
|
|
@@ -4988,7 +5110,7 @@ class SacDateCommon extends SacBaseDateTimeControl {
|
|
|
4988
5110
|
* HostListener
|
|
4989
5111
|
*/
|
|
4990
5112
|
onClick(targetElement) {
|
|
4991
|
-
const clickedInside = this.
|
|
5113
|
+
const clickedInside = this.elementRef.nativeElement.contains(targetElement);
|
|
4992
5114
|
if (!clickedInside) {
|
|
4993
5115
|
this._showselector = false;
|
|
4994
5116
|
}
|
|
@@ -5031,11 +5153,11 @@ class SacDateCommon extends SacBaseDateTimeControl {
|
|
|
5031
5153
|
return error;
|
|
5032
5154
|
}
|
|
5033
5155
|
}
|
|
5034
|
-
SacDateCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateCommon, deps: [{ token:
|
|
5156
|
+
SacDateCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateCommon, deps: [{ token: SacFormLayoutCommon }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5035
5157
|
SacDateCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDateCommon, inputs: { mindate: "mindate", maxdate: "maxdate", validationmessagemindate: "validationmessagemindate", validationmessagesummarymindate: "validationmessagesummarymindate", validationmessagemaxdate: "validationmessagemaxdate", validationmessagesummarymaxdate: "validationmessagesummarymaxdate" }, host: { listeners: { "document:click": "onClick($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
5036
5158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateCommon, decorators: [{
|
|
5037
5159
|
type: Directive
|
|
5038
|
-
}], ctorParameters: function () { return [{ type:
|
|
5160
|
+
}], ctorParameters: function () { return [{ type: SacFormLayoutCommon }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { mindate: [{
|
|
5039
5161
|
type: Input
|
|
5040
5162
|
}], maxdate: [{
|
|
5041
5163
|
type: Input
|
|
@@ -5520,14 +5642,14 @@ const moment$1 = moment_['default'];
|
|
|
5520
5642
|
class SacDateTimeCommon extends SacBaseDateTimeControl {
|
|
5521
5643
|
// #endregion
|
|
5522
5644
|
/**
|
|
5523
|
-
*
|
|
5524
|
-
* @param
|
|
5525
|
-
* @param injector
|
|
5526
|
-
* @param
|
|
5645
|
+
* Constructor
|
|
5646
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
5647
|
+
* @param injector Injector for injecting services
|
|
5648
|
+
* @param elementRef reference to html element
|
|
5527
5649
|
*/
|
|
5528
|
-
constructor(
|
|
5529
|
-
super(
|
|
5530
|
-
this.
|
|
5650
|
+
constructor(formlayout, injector, elementRef) {
|
|
5651
|
+
super(formlayout, injector, elementRef);
|
|
5652
|
+
this.elementRef = elementRef;
|
|
5531
5653
|
//#endregion
|
|
5532
5654
|
// #region Constants
|
|
5533
5655
|
/**
|
|
@@ -5674,7 +5796,7 @@ class SacDateTimeCommon extends SacBaseDateTimeControl {
|
|
|
5674
5796
|
* HostListener
|
|
5675
5797
|
*/
|
|
5676
5798
|
onClick(targetElement) {
|
|
5677
|
-
const clickedInside = this.
|
|
5799
|
+
const clickedInside = this.elementRef.nativeElement.contains(targetElement);
|
|
5678
5800
|
if (!clickedInside) {
|
|
5679
5801
|
this._showselector = false;
|
|
5680
5802
|
}
|
|
@@ -5717,11 +5839,11 @@ class SacDateTimeCommon extends SacBaseDateTimeControl {
|
|
|
5717
5839
|
return error;
|
|
5718
5840
|
}
|
|
5719
5841
|
}
|
|
5720
|
-
SacDateTimeCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateTimeCommon, deps: [{ token:
|
|
5842
|
+
SacDateTimeCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateTimeCommon, deps: [{ token: SacFormLayoutCommon }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5721
5843
|
SacDateTimeCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDateTimeCommon, inputs: { mindate: "mindate", maxdate: "maxdate", validationmessagemindate: "validationmessagemindate", validationmessagesummarymindate: "validationmessagesummarymindate", validationmessagemaxdate: "validationmessagemaxdate", validationmessagesummarymaxdate: "validationmessagesummarymaxdate" }, host: { listeners: { "document:click": "onClick($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
5722
5844
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateTimeCommon, decorators: [{
|
|
5723
5845
|
type: Directive
|
|
5724
|
-
}], ctorParameters: function () { return [{ type:
|
|
5846
|
+
}], ctorParameters: function () { return [{ type: SacFormLayoutCommon }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { mindate: [{
|
|
5725
5847
|
type: Input
|
|
5726
5848
|
}], maxdate: [{
|
|
5727
5849
|
type: Input
|
|
@@ -5748,14 +5870,14 @@ const moment = moment_['default'];
|
|
|
5748
5870
|
class SacTimeCommon extends SacBaseDateTimeControl {
|
|
5749
5871
|
// #endregion
|
|
5750
5872
|
/**
|
|
5751
|
-
*
|
|
5752
|
-
* @param
|
|
5753
|
-
* @param injector
|
|
5754
|
-
* @param
|
|
5873
|
+
* Constructor
|
|
5874
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
5875
|
+
* @param injector Injector for injecting services
|
|
5876
|
+
* @param elementRef reference to html element
|
|
5755
5877
|
*/
|
|
5756
|
-
constructor(
|
|
5757
|
-
super(
|
|
5758
|
-
this.
|
|
5878
|
+
constructor(formlayout, injector, elementRef) {
|
|
5879
|
+
super(formlayout, injector, elementRef);
|
|
5880
|
+
this.elementRef = elementRef;
|
|
5759
5881
|
// #region Constants
|
|
5760
5882
|
/**
|
|
5761
5883
|
* Format des Datums
|
|
@@ -5883,7 +6005,7 @@ class SacTimeCommon extends SacBaseDateTimeControl {
|
|
|
5883
6005
|
* HostListener
|
|
5884
6006
|
*/
|
|
5885
6007
|
onClick(targetElement) {
|
|
5886
|
-
const clickedInside = this.
|
|
6008
|
+
const clickedInside = this.elementRef.nativeElement.contains(targetElement);
|
|
5887
6009
|
if (!clickedInside) {
|
|
5888
6010
|
this._showselector = false;
|
|
5889
6011
|
}
|
|
@@ -5926,11 +6048,11 @@ class SacTimeCommon extends SacBaseDateTimeControl {
|
|
|
5926
6048
|
return error;
|
|
5927
6049
|
}
|
|
5928
6050
|
}
|
|
5929
|
-
SacTimeCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTimeCommon, deps: [{ token:
|
|
6051
|
+
SacTimeCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTimeCommon, deps: [{ token: SacFormLayoutCommon }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5930
6052
|
SacTimeCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTimeCommon, inputs: { mintime: "mintime", maxtime: "maxtime", validationmessagemintime: "validationmessagemintime", validationmessagesummarymintime: "validationmessagesummarymintime", validationmessagemaxtime: "validationmessagemaxtime", validationmessagesummarymaxtime: "validationmessagesummarymaxtime" }, host: { listeners: { "document:click": "onClick($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
5931
6053
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTimeCommon, decorators: [{
|
|
5932
6054
|
type: Directive
|
|
5933
|
-
}], ctorParameters: function () { return [{ type:
|
|
6055
|
+
}], ctorParameters: function () { return [{ type: SacFormLayoutCommon }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { mintime: [{
|
|
5934
6056
|
type: Input
|
|
5935
6057
|
}], maxtime: [{
|
|
5936
6058
|
type: Input
|
|
@@ -5947,36 +6069,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
5947
6069
|
args: ['document:click', ['$event.target']]
|
|
5948
6070
|
}] } });
|
|
5949
6071
|
|
|
5950
|
-
/**
|
|
5951
|
-
* Common Klasse für Static Label Control
|
|
5952
|
-
**/
|
|
5953
|
-
class SacStaticLabelCommon extends SacInputBase {
|
|
5954
|
-
constructor() {
|
|
5955
|
-
super(...arguments);
|
|
5956
|
-
/**
|
|
5957
|
-
* Erlaubt HTML Content in der Anzeige des Wertes
|
|
5958
|
-
*/
|
|
5959
|
-
this.allowhtml = false;
|
|
5960
|
-
}
|
|
5961
|
-
/**
|
|
5962
|
-
* Validierung des Controls
|
|
5963
|
-
*
|
|
5964
|
-
* @param c Control das Validiert werden soll
|
|
5965
|
-
* @returns Fehlermeldung aus Validation oder NULL
|
|
5966
|
-
*/
|
|
5967
|
-
validateData(c) {
|
|
5968
|
-
// Keine Validierung, daher immer NULL
|
|
5969
|
-
return null;
|
|
5970
|
-
}
|
|
5971
|
-
}
|
|
5972
|
-
SacStaticLabelCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticLabelCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5973
|
-
SacStaticLabelCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacStaticLabelCommon, inputs: { allowhtml: "allowhtml" }, usesInheritance: true, ngImport: i0 });
|
|
5974
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticLabelCommon, decorators: [{
|
|
5975
|
-
type: Directive
|
|
5976
|
-
}], propDecorators: { allowhtml: [{
|
|
5977
|
-
type: Input
|
|
5978
|
-
}] } });
|
|
5979
|
-
|
|
5980
6072
|
/**
|
|
5981
6073
|
* Common Control für Form Item Container.
|
|
5982
6074
|
**/
|
|
@@ -6020,9 +6112,39 @@ SacStaticFormContainerCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0
|
|
|
6020
6112
|
SacStaticFormContainerCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacStaticFormContainerCommon, inputs: { tooltiptext: "tooltiptext", isrequired: "isrequired" }, usesInheritance: true, ngImport: i0 });
|
|
6021
6113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticFormContainerCommon, decorators: [{
|
|
6022
6114
|
type: Directive
|
|
6023
|
-
}], propDecorators: { tooltiptext: [{
|
|
6024
|
-
type: Input
|
|
6025
|
-
}], isrequired: [{
|
|
6115
|
+
}], propDecorators: { tooltiptext: [{
|
|
6116
|
+
type: Input
|
|
6117
|
+
}], isrequired: [{
|
|
6118
|
+
type: Input
|
|
6119
|
+
}] } });
|
|
6120
|
+
|
|
6121
|
+
/**
|
|
6122
|
+
* Common Klasse für Static Label Control
|
|
6123
|
+
**/
|
|
6124
|
+
class SacStaticLabelCommon extends SacInputBase {
|
|
6125
|
+
constructor() {
|
|
6126
|
+
super(...arguments);
|
|
6127
|
+
/**
|
|
6128
|
+
* Erlaubt HTML Content in der Anzeige des Wertes
|
|
6129
|
+
*/
|
|
6130
|
+
this.allowhtml = false;
|
|
6131
|
+
}
|
|
6132
|
+
/**
|
|
6133
|
+
* Validierung des Controls
|
|
6134
|
+
*
|
|
6135
|
+
* @param c Control das Validiert werden soll
|
|
6136
|
+
* @returns Fehlermeldung aus Validation oder NULL
|
|
6137
|
+
*/
|
|
6138
|
+
validateData(c) {
|
|
6139
|
+
// Keine Validierung, daher immer NULL
|
|
6140
|
+
return null;
|
|
6141
|
+
}
|
|
6142
|
+
}
|
|
6143
|
+
SacStaticLabelCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticLabelCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6144
|
+
SacStaticLabelCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacStaticLabelCommon, inputs: { allowhtml: "allowhtml" }, usesInheritance: true, ngImport: i0 });
|
|
6145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticLabelCommon, decorators: [{
|
|
6146
|
+
type: Directive
|
|
6147
|
+
}], propDecorators: { allowhtml: [{
|
|
6026
6148
|
type: Input
|
|
6027
6149
|
}] } });
|
|
6028
6150
|
|
|
@@ -6216,15 +6338,18 @@ class TinyMceDialogSettings {
|
|
|
6216
6338
|
* Basis Komponente für TinyMCE Editor
|
|
6217
6339
|
*/
|
|
6218
6340
|
class SacTinyMceCommon extends SacBaseModelControl {
|
|
6341
|
+
// #endregion Properties
|
|
6342
|
+
// #region Constructors
|
|
6219
6343
|
/**
|
|
6220
|
-
*
|
|
6221
|
-
* @param
|
|
6222
|
-
* @param injector Injector
|
|
6223
|
-
* @param ngZone
|
|
6344
|
+
* Constructor
|
|
6345
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
6346
|
+
* @param injector Injector for injecting services
|
|
6347
|
+
* @param ngZone ngzone for handling external javascripts
|
|
6224
6348
|
*/
|
|
6225
|
-
constructor(
|
|
6226
|
-
super(
|
|
6349
|
+
constructor(formlayout, injector, ngZone) {
|
|
6350
|
+
super(formlayout, injector);
|
|
6227
6351
|
this.ngZone = ngZone;
|
|
6352
|
+
// #region Properties
|
|
6228
6353
|
/**
|
|
6229
6354
|
* Default Config mit Standardwerten für TinyMCE
|
|
6230
6355
|
*/
|
|
@@ -6238,49 +6363,37 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6238
6363
|
save_onsavecallback: () => { },
|
|
6239
6364
|
};
|
|
6240
6365
|
/**
|
|
6241
|
-
*
|
|
6242
|
-
*/
|
|
6243
|
-
this._config = {};
|
|
6244
|
-
/**
|
|
6245
|
-
* Der Select Dialog wird angezeigt
|
|
6246
|
-
*/
|
|
6247
|
-
this.selectdialogvisible = false;
|
|
6248
|
-
/**
|
|
6249
|
-
* Definiert das Control als Required
|
|
6366
|
+
* Erlaubt im Filebrowser das löschen von Dateien
|
|
6250
6367
|
*/
|
|
6251
|
-
this.
|
|
6368
|
+
this.allowfiledelete = false;
|
|
6252
6369
|
/**
|
|
6253
|
-
*
|
|
6370
|
+
* Erlaubt im Filebrowser das umbennen von Dateien
|
|
6254
6371
|
*/
|
|
6255
|
-
this.
|
|
6372
|
+
this.allowfilerename = false;
|
|
6256
6373
|
/**
|
|
6257
|
-
*
|
|
6374
|
+
* Erlaubt im Filebrowser das hochladen von Files
|
|
6258
6375
|
*/
|
|
6259
|
-
this.
|
|
6376
|
+
this.allowfileupload = false;
|
|
6260
6377
|
/**
|
|
6261
6378
|
* Erlaubt im Filebrowser das anlegen eines Ordners
|
|
6262
6379
|
*/
|
|
6263
6380
|
this.allowfoldercreate = false;
|
|
6264
|
-
/**
|
|
6265
|
-
* Erlaubt im Filebrowser das umbennen eines Ordners
|
|
6266
|
-
*/
|
|
6267
|
-
this.allowfolderrename = false;
|
|
6268
6381
|
/**
|
|
6269
6382
|
* Erlaubt im Filebrowser das löschen eines Ordners
|
|
6270
6383
|
*/
|
|
6271
6384
|
this.allowfolderdelete = false;
|
|
6272
6385
|
/**
|
|
6273
|
-
* Erlaubt im Filebrowser das
|
|
6386
|
+
* Erlaubt im Filebrowser das umbennen eines Ordners
|
|
6274
6387
|
*/
|
|
6275
|
-
this.
|
|
6388
|
+
this.allowfolderrename = false;
|
|
6276
6389
|
/**
|
|
6277
|
-
*
|
|
6390
|
+
* URL zu Filebrowser Backend
|
|
6278
6391
|
*/
|
|
6279
|
-
this.
|
|
6392
|
+
this.filebrowserapiurl = null;
|
|
6280
6393
|
/**
|
|
6281
|
-
*
|
|
6394
|
+
* File Extensions für Links (Format: .xxx,.yyy,.eee)
|
|
6282
6395
|
*/
|
|
6283
|
-
this.
|
|
6396
|
+
this.filetypesfiles = '';
|
|
6284
6397
|
/**
|
|
6285
6398
|
* File Extensions für Images (Format: .xxx,.yyy,.eee)
|
|
6286
6399
|
*/
|
|
@@ -6290,9 +6403,13 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6290
6403
|
*/
|
|
6291
6404
|
this.filetypesvideo = '.mp4,.m4v,.ogv,.webm,.mov';
|
|
6292
6405
|
/**
|
|
6293
|
-
*
|
|
6406
|
+
* Höhe des Editors
|
|
6294
6407
|
*/
|
|
6295
|
-
this.
|
|
6408
|
+
this.height = undefined;
|
|
6409
|
+
/**
|
|
6410
|
+
* Definiert das Control als Required
|
|
6411
|
+
*/
|
|
6412
|
+
this.isrequired = false;
|
|
6296
6413
|
/**
|
|
6297
6414
|
* Resource Key für Validation Message Required bei Control
|
|
6298
6415
|
*/
|
|
@@ -6305,9 +6422,19 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6305
6422
|
* Event wenn Save Action in TinyMCE ausgelöst wird
|
|
6306
6423
|
*/
|
|
6307
6424
|
this.onsave = new EventEmitter();
|
|
6425
|
+
/**
|
|
6426
|
+
* TinyMCE Config
|
|
6427
|
+
*/
|
|
6428
|
+
this._config = {};
|
|
6429
|
+
/**
|
|
6430
|
+
* Der Select Dialog wird angezeigt
|
|
6431
|
+
*/
|
|
6432
|
+
this.selectdialogvisible = false;
|
|
6308
6433
|
this.lngResourceService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
|
|
6309
6434
|
this.config = {};
|
|
6310
6435
|
}
|
|
6436
|
+
// #endregion Constructors
|
|
6437
|
+
// #region Public Getters And Setters
|
|
6311
6438
|
/**
|
|
6312
6439
|
* TinyMCE Konfiguration
|
|
6313
6440
|
* @link https://www.tiny.cloud/docs/configure/
|
|
@@ -6321,7 +6448,35 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6321
6448
|
get config() {
|
|
6322
6449
|
return this._config;
|
|
6323
6450
|
}
|
|
6324
|
-
|
|
6451
|
+
// #endregion Public Getters And Setters
|
|
6452
|
+
// #region Public Methods
|
|
6453
|
+
/**
|
|
6454
|
+
* Schliesst den Dateiauswahl Dialog
|
|
6455
|
+
*/
|
|
6456
|
+
closeSelectDialog() {
|
|
6457
|
+
this.selectdialogvisible = false;
|
|
6458
|
+
}
|
|
6459
|
+
/**
|
|
6460
|
+
* Löst die Speichern Action aus
|
|
6461
|
+
* @param content Content als String
|
|
6462
|
+
*/
|
|
6463
|
+
save(content) {
|
|
6464
|
+
this.onsave.emit(content);
|
|
6465
|
+
}
|
|
6466
|
+
/**
|
|
6467
|
+
* Setzt das Resultat aus dem Dateiauswahl Dialog
|
|
6468
|
+
*/
|
|
6469
|
+
setSelectDialogResult() {
|
|
6470
|
+
if (this.selectDialogSettings.value) {
|
|
6471
|
+
if (this.selectDialogSettings.value.startsWith('/') ||
|
|
6472
|
+
this.selectDialogSettings.value.startsWith('\\')) {
|
|
6473
|
+
this.selectDialogSettings.value =
|
|
6474
|
+
this.selectDialogSettings.value.substring(1);
|
|
6475
|
+
}
|
|
6476
|
+
this.selectDialogSettings.callback(this.selectDialogSettings.value);
|
|
6477
|
+
}
|
|
6478
|
+
this.closeSelectDialog();
|
|
6479
|
+
}
|
|
6325
6480
|
/**
|
|
6326
6481
|
* Zeigt den Dateiauswahl Dialog an
|
|
6327
6482
|
* @param callback Callback Methode welche aufgerufen wird, wenn der Dialog geschlossen wird
|
|
@@ -6356,34 +6511,6 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6356
6511
|
});
|
|
6357
6512
|
});
|
|
6358
6513
|
}
|
|
6359
|
-
/**
|
|
6360
|
-
* Setzt das Resultat aus dem Dateiauswahl Dialog
|
|
6361
|
-
*/
|
|
6362
|
-
setSelectDialogResult() {
|
|
6363
|
-
if (this.selectDialogSettings.value) {
|
|
6364
|
-
if (this.selectDialogSettings.value.startsWith('/') ||
|
|
6365
|
-
this.selectDialogSettings.value.startsWith('\\')) {
|
|
6366
|
-
this.selectDialogSettings.value =
|
|
6367
|
-
this.selectDialogSettings.value.substring(1);
|
|
6368
|
-
}
|
|
6369
|
-
this.selectDialogSettings.callback(this.selectDialogSettings.value);
|
|
6370
|
-
}
|
|
6371
|
-
this.closeSelectDialog();
|
|
6372
|
-
}
|
|
6373
|
-
/**
|
|
6374
|
-
* Schliesst den Dateiauswahl Dialog
|
|
6375
|
-
*/
|
|
6376
|
-
closeSelectDialog() {
|
|
6377
|
-
this.selectdialogvisible = false;
|
|
6378
|
-
}
|
|
6379
|
-
//#endregion
|
|
6380
|
-
/**
|
|
6381
|
-
* Löst die Speichern Action aus
|
|
6382
|
-
* @param content Content als String
|
|
6383
|
-
*/
|
|
6384
|
-
save(content) {
|
|
6385
|
-
this.onsave.emit(content);
|
|
6386
|
-
}
|
|
6387
6514
|
/**
|
|
6388
6515
|
* Validiert das Control
|
|
6389
6516
|
* @param c Control Instanz die valdidiert wird
|
|
@@ -6396,6 +6523,8 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6396
6523
|
}
|
|
6397
6524
|
return error;
|
|
6398
6525
|
}
|
|
6526
|
+
// #endregion Public Abstract Methods
|
|
6527
|
+
// #region Private Methods
|
|
6399
6528
|
/**
|
|
6400
6529
|
* Gibt die TinyMCE Settings zurück, die aus den Properties der Angular Komponenten erzeugt werden
|
|
6401
6530
|
* @returns Objekt mit Settings
|
|
@@ -6408,45 +6537,105 @@ class SacTinyMceCommon extends SacBaseModelControl {
|
|
|
6408
6537
|
return settings;
|
|
6409
6538
|
}
|
|
6410
6539
|
}
|
|
6411
|
-
SacTinyMceCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTinyMceCommon, deps: [{ token:
|
|
6412
|
-
SacTinyMceCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTinyMceCommon, inputs: {
|
|
6540
|
+
SacTinyMceCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTinyMceCommon, deps: [{ token: SacFormLayoutCommon, host: true }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6541
|
+
SacTinyMceCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTinyMceCommon, inputs: { allowfiledelete: "allowfiledelete", allowfilerename: "allowfilerename", allowfileupload: "allowfileupload", allowfoldercreate: "allowfoldercreate", allowfolderdelete: "allowfolderdelete", allowfolderrename: "allowfolderrename", filebrowserapiurl: "filebrowserapiurl", filetypesfiles: "filetypesfiles", filetypesimages: "filetypesimages", filetypesvideo: "filetypesvideo", height: "height", isrequired: "isrequired", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", config: "config" }, outputs: { onsave: "onsave" }, usesInheritance: true, ngImport: i0 });
|
|
6413
6542
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTinyMceCommon, decorators: [{
|
|
6414
6543
|
type: Directive
|
|
6415
6544
|
}], ctorParameters: function () {
|
|
6416
|
-
return [{ type:
|
|
6545
|
+
return [{ type: SacFormLayoutCommon, decorators: [{
|
|
6417
6546
|
type: Host
|
|
6418
6547
|
}] }, { type: i0.Injector }, { type: i0.NgZone }];
|
|
6419
|
-
}, propDecorators: {
|
|
6548
|
+
}, propDecorators: { allowfiledelete: [{
|
|
6420
6549
|
type: Input
|
|
6421
|
-
}],
|
|
6550
|
+
}], allowfilerename: [{
|
|
6422
6551
|
type: Input
|
|
6423
|
-
}],
|
|
6552
|
+
}], allowfileupload: [{
|
|
6424
6553
|
type: Input
|
|
6425
6554
|
}], allowfoldercreate: [{
|
|
6426
6555
|
type: Input
|
|
6427
|
-
}], allowfolderrename: [{
|
|
6428
|
-
type: Input
|
|
6429
6556
|
}], allowfolderdelete: [{
|
|
6430
6557
|
type: Input
|
|
6431
|
-
}],
|
|
6558
|
+
}], allowfolderrename: [{
|
|
6432
6559
|
type: Input
|
|
6433
|
-
}],
|
|
6560
|
+
}], filebrowserapiurl: [{
|
|
6434
6561
|
type: Input
|
|
6435
|
-
}],
|
|
6562
|
+
}], filetypesfiles: [{
|
|
6436
6563
|
type: Input
|
|
6437
6564
|
}], filetypesimages: [{
|
|
6438
6565
|
type: Input
|
|
6439
6566
|
}], filetypesvideo: [{
|
|
6440
6567
|
type: Input
|
|
6441
|
-
}],
|
|
6568
|
+
}], height: [{
|
|
6569
|
+
type: Input
|
|
6570
|
+
}], isrequired: [{
|
|
6442
6571
|
type: Input
|
|
6443
6572
|
}], validationmessagerequired: [{
|
|
6444
6573
|
type: Input
|
|
6445
6574
|
}], validationmessagesummaryrequired: [{
|
|
6446
6575
|
type: Input
|
|
6576
|
+
}], onsave: [{
|
|
6577
|
+
type: Output
|
|
6447
6578
|
}], config: [{
|
|
6448
6579
|
type: Input
|
|
6449
|
-
}]
|
|
6580
|
+
}] } });
|
|
6581
|
+
|
|
6582
|
+
/**
|
|
6583
|
+
*Basis Komponente für SacTreeItemAction
|
|
6584
|
+
*/
|
|
6585
|
+
class SacTreeItemActionCommon {
|
|
6586
|
+
/**
|
|
6587
|
+
* Konstruktor
|
|
6588
|
+
* @param el Element Referenz
|
|
6589
|
+
*/
|
|
6590
|
+
constructor(el) {
|
|
6591
|
+
this.el = el;
|
|
6592
|
+
/**
|
|
6593
|
+
* Event wenn auf das Icon geclickt wird
|
|
6594
|
+
*/
|
|
6595
|
+
this.clicked = new EventEmitter();
|
|
6596
|
+
}
|
|
6597
|
+
/**
|
|
6598
|
+
* lifecycle OnInit hook. Wird aufgeruren sobald das Komponent initialisiert ist.
|
|
6599
|
+
*/
|
|
6600
|
+
ngOnInit() {
|
|
6601
|
+
let rootElement = this.el.nativeElement;
|
|
6602
|
+
let parentElement = rootElement.parentElement;
|
|
6603
|
+
while (rootElement.firstChild) {
|
|
6604
|
+
parentElement.insertBefore(rootElement.firstChild, rootElement);
|
|
6605
|
+
}
|
|
6606
|
+
parentElement.removeChild(rootElement);
|
|
6607
|
+
}
|
|
6608
|
+
/**
|
|
6609
|
+
* Die Methode erstellt die CSS Klasse des Icon. Akzeptiert ein Key-word und baut ein vollständige CSS Klasse.
|
|
6610
|
+
*/
|
|
6611
|
+
transformClass(initialClass) {
|
|
6612
|
+
switch (initialClass) {
|
|
6613
|
+
case 'add':
|
|
6614
|
+
return 'jstree-icon icon icon-base-add jstree-add';
|
|
6615
|
+
case 'delete':
|
|
6616
|
+
return 'jstree-icon icon icon-base-delete jstree-delete';
|
|
6617
|
+
default:
|
|
6618
|
+
return initialClass;
|
|
6619
|
+
}
|
|
6620
|
+
}
|
|
6621
|
+
/**
|
|
6622
|
+
* Die Methode wird das cklickaction Emitter aktivieren.
|
|
6623
|
+
*/
|
|
6624
|
+
iconaction() {
|
|
6625
|
+
this.clicked.emit();
|
|
6626
|
+
}
|
|
6627
|
+
}
|
|
6628
|
+
SacTreeItemActionCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeItemActionCommon, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6629
|
+
SacTreeItemActionCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTreeItemActionCommon, inputs: { item: "item", title: "title", iconstyle: "iconstyle" }, outputs: { clicked: "clicked" }, ngImport: i0 });
|
|
6630
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeItemActionCommon, decorators: [{
|
|
6631
|
+
type: Directive
|
|
6632
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { item: [{
|
|
6633
|
+
type: Input
|
|
6634
|
+
}], title: [{
|
|
6635
|
+
type: Input
|
|
6636
|
+
}], iconstyle: [{
|
|
6637
|
+
type: Input
|
|
6638
|
+
}], clicked: [{
|
|
6450
6639
|
type: Output
|
|
6451
6640
|
}] } });
|
|
6452
6641
|
|
|
@@ -6807,67 +6996,7 @@ SacTreeViewChildCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", v
|
|
|
6807
6996
|
SacTreeViewChildCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTreeViewChildCommon, usesInheritance: true, ngImport: i0 });
|
|
6808
6997
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeViewChildCommon, decorators: [{
|
|
6809
6998
|
type: Directive
|
|
6810
|
-
}] });
|
|
6811
|
-
|
|
6812
|
-
/**
|
|
6813
|
-
*Basis Komponente für SacTreeItemAction
|
|
6814
|
-
*/
|
|
6815
|
-
class SacTreeItemActionCommon {
|
|
6816
|
-
/**
|
|
6817
|
-
* Konstruktor
|
|
6818
|
-
* @param el Element Referenz
|
|
6819
|
-
*/
|
|
6820
|
-
constructor(el) {
|
|
6821
|
-
this.el = el;
|
|
6822
|
-
/**
|
|
6823
|
-
* Event wenn auf das Icon geclickt wird
|
|
6824
|
-
*/
|
|
6825
|
-
this.clicked = new EventEmitter();
|
|
6826
|
-
}
|
|
6827
|
-
/**
|
|
6828
|
-
* lifecycle OnInit hook. Wird aufgeruren sobald das Komponent initialisiert ist.
|
|
6829
|
-
*/
|
|
6830
|
-
ngOnInit() {
|
|
6831
|
-
let rootElement = this.el.nativeElement;
|
|
6832
|
-
let parentElement = rootElement.parentElement;
|
|
6833
|
-
while (rootElement.firstChild) {
|
|
6834
|
-
parentElement.insertBefore(rootElement.firstChild, rootElement);
|
|
6835
|
-
}
|
|
6836
|
-
parentElement.removeChild(rootElement);
|
|
6837
|
-
}
|
|
6838
|
-
/**
|
|
6839
|
-
* Die Methode erstellt die CSS Klasse des Icon. Akzeptiert ein Key-word und baut ein vollständige CSS Klasse.
|
|
6840
|
-
*/
|
|
6841
|
-
transformClass(initialClass) {
|
|
6842
|
-
switch (initialClass) {
|
|
6843
|
-
case 'add':
|
|
6844
|
-
return 'jstree-icon icon icon-base-add jstree-add';
|
|
6845
|
-
case 'delete':
|
|
6846
|
-
return 'jstree-icon icon icon-base-delete jstree-delete';
|
|
6847
|
-
default:
|
|
6848
|
-
return initialClass;
|
|
6849
|
-
}
|
|
6850
|
-
}
|
|
6851
|
-
/**
|
|
6852
|
-
* Die Methode wird das cklickaction Emitter aktivieren.
|
|
6853
|
-
*/
|
|
6854
|
-
iconaction() {
|
|
6855
|
-
this.clicked.emit();
|
|
6856
|
-
}
|
|
6857
|
-
}
|
|
6858
|
-
SacTreeItemActionCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeItemActionCommon, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6859
|
-
SacTreeItemActionCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTreeItemActionCommon, inputs: { item: "item", title: "title", iconstyle: "iconstyle" }, outputs: { clicked: "clicked" }, ngImport: i0 });
|
|
6860
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeItemActionCommon, decorators: [{
|
|
6861
|
-
type: Directive
|
|
6862
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { item: [{
|
|
6863
|
-
type: Input
|
|
6864
|
-
}], title: [{
|
|
6865
|
-
type: Input
|
|
6866
|
-
}], iconstyle: [{
|
|
6867
|
-
type: Input
|
|
6868
|
-
}], clicked: [{
|
|
6869
|
-
type: Output
|
|
6870
|
-
}] } });
|
|
6999
|
+
}] });
|
|
6871
7000
|
|
|
6872
7001
|
/**
|
|
6873
7002
|
* Enum für Tooltip Positionen
|
|
@@ -7246,41 +7375,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
7246
7375
|
args: ['tooltip', { static: true }]
|
|
7247
7376
|
}] } });
|
|
7248
7377
|
|
|
7249
|
-
|
|
7250
|
-
* Klasse für den Upload einer Datei in der Upload Component
|
|
7251
|
-
*/
|
|
7252
|
-
class SacUploadFile {
|
|
7253
|
-
/**
|
|
7254
|
-
* Konstruktor
|
|
7255
|
-
* @param ufile Upload Status
|
|
7256
|
-
*/
|
|
7257
|
-
constructor(ufile) {
|
|
7258
|
-
this.uploadId = ufile.uploadId;
|
|
7259
|
-
this.name = ufile.name;
|
|
7260
|
-
this.progress = ufile.progress;
|
|
7261
|
-
this.status = ufile.status;
|
|
7262
|
-
this.documentid = null;
|
|
7263
|
-
}
|
|
7264
|
-
}
|
|
7378
|
+
// #region Classes
|
|
7265
7379
|
/**
|
|
7266
7380
|
* Base Klasse für Uploader Control
|
|
7267
7381
|
*/
|
|
7268
7382
|
class SacUploadBase extends SacBaseModelControl {
|
|
7383
|
+
// #endregion Properties
|
|
7384
|
+
// #region Constructors
|
|
7269
7385
|
/**
|
|
7270
7386
|
* Constructor
|
|
7271
|
-
* @param
|
|
7272
|
-
* @param injector Injector
|
|
7273
|
-
* @param renderer
|
|
7274
|
-
* @param ngZone
|
|
7387
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
7388
|
+
* @param injector Injector for injecting services
|
|
7389
|
+
* @param renderer angular rendering engine
|
|
7390
|
+
* @param ngZone ngzone for handling external scripts
|
|
7275
7391
|
*/
|
|
7276
|
-
constructor(
|
|
7277
|
-
super(
|
|
7392
|
+
constructor(formlayout, injector, renderer, ngZone) {
|
|
7393
|
+
super(formlayout, injector);
|
|
7278
7394
|
this.renderer = renderer;
|
|
7279
7395
|
this.ngZone = ngZone;
|
|
7280
|
-
/**
|
|
7281
|
-
* Upload Settings
|
|
7282
|
-
*/
|
|
7283
|
-
this.options = {};
|
|
7284
7396
|
/**
|
|
7285
7397
|
* Erlaubte Dateitypen
|
|
7286
7398
|
*/
|
|
@@ -7297,23 +7409,26 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7297
7409
|
* API Endpoint
|
|
7298
7410
|
*/
|
|
7299
7411
|
this._endpoint = null;
|
|
7300
|
-
//#region Properties
|
|
7301
7412
|
/**
|
|
7302
|
-
*
|
|
7413
|
+
* Upload Settings
|
|
7303
7414
|
*/
|
|
7304
|
-
this.
|
|
7415
|
+
this.options = {};
|
|
7305
7416
|
/**
|
|
7306
|
-
*
|
|
7417
|
+
* Definiert das Control als Required
|
|
7307
7418
|
*/
|
|
7308
|
-
this.
|
|
7419
|
+
this.isrequired = false;
|
|
7309
7420
|
/**
|
|
7310
7421
|
* Max. Dateigrösse für Files die hochgeladen werden können. 0 deaktiviert den Filter
|
|
7311
7422
|
*/
|
|
7312
7423
|
this.maxfilesize = 0;
|
|
7313
7424
|
/**
|
|
7314
|
-
*
|
|
7425
|
+
* Resource Key für Validation Message Required bei Control
|
|
7315
7426
|
*/
|
|
7316
|
-
this.
|
|
7427
|
+
this.validationmessagerequired = 'VALIDATION_ERROR_REQUIRED';
|
|
7428
|
+
/**
|
|
7429
|
+
* Resource Key für Validation Message Required in Validation Summary
|
|
7430
|
+
*/
|
|
7431
|
+
this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
|
|
7317
7432
|
/**
|
|
7318
7433
|
* Event wenn ein Error in der Komponente ausgelöst wird.
|
|
7319
7434
|
*/
|
|
@@ -7344,6 +7459,8 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7344
7459
|
// Subscripe Event for State changes
|
|
7345
7460
|
this.uploadService.events.subscribe((ufile) => this.onUpload(ufile));
|
|
7346
7461
|
}
|
|
7462
|
+
// #endregion Constructors
|
|
7463
|
+
// #region Public Getters And Setters
|
|
7347
7464
|
/**
|
|
7348
7465
|
* Erlaubte Dateitypen für den Upload. Format: ".xxx,.yyy,.zzz"
|
|
7349
7466
|
*/
|
|
@@ -7351,9 +7468,6 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7351
7468
|
this._allowedtypes = types;
|
|
7352
7469
|
this.setAllowedTypes(types);
|
|
7353
7470
|
}
|
|
7354
|
-
get allowedtypes() {
|
|
7355
|
-
return this._allowedtypes;
|
|
7356
|
-
}
|
|
7357
7471
|
/**
|
|
7358
7472
|
* Files nach der Auswahl automatisch hochladen
|
|
7359
7473
|
*/
|
|
@@ -7362,19 +7476,12 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7362
7476
|
this.options.autoUpload = v;
|
|
7363
7477
|
this.uploadService.connect(this.options);
|
|
7364
7478
|
}
|
|
7365
|
-
get autoupload() {
|
|
7366
|
-
return this._autoupload;
|
|
7367
|
-
}
|
|
7368
7479
|
/**
|
|
7369
7480
|
* Uploads können unterbrochen werden
|
|
7370
7481
|
*/
|
|
7371
7482
|
set enablepause(v) {
|
|
7372
7483
|
this._enablepause = v;
|
|
7373
7484
|
}
|
|
7374
|
-
get enablepause() {
|
|
7375
|
-
return this._enablepause;
|
|
7376
|
-
}
|
|
7377
|
-
//#endregion
|
|
7378
7485
|
/**
|
|
7379
7486
|
* Definiert den Registration Endpoint für Uploads.
|
|
7380
7487
|
*/
|
|
@@ -7382,110 +7489,50 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7382
7489
|
this._endpoint = v;
|
|
7383
7490
|
this.setEndpoint(v);
|
|
7384
7491
|
}
|
|
7385
|
-
get endpoint() {
|
|
7386
|
-
return this._endpoint;
|
|
7387
|
-
}
|
|
7388
|
-
/**
|
|
7389
|
-
* Initialisiert das Control
|
|
7390
|
-
*/
|
|
7391
|
-
ngOnInit() {
|
|
7392
|
-
super.ngOnInit();
|
|
7393
|
-
// Init Event Listener for Input File Control and Handling Files
|
|
7394
|
-
this.listenerFn = this.renderer.listen(this.uploadInput.nativeElement, 'change', this.fileListener);
|
|
7395
|
-
this.setAllowedTypes(this._allowedtypes);
|
|
7396
|
-
this.setEndpoint(this._endpoint);
|
|
7397
|
-
if (this._endpoint === null) {
|
|
7398
|
-
throw new Error('endpoint is not defined!');
|
|
7399
|
-
}
|
|
7400
|
-
this.uploadService.connect(this.options);
|
|
7401
|
-
}
|
|
7402
|
-
/**
|
|
7403
|
-
* Destroy des Controls
|
|
7404
|
-
*/
|
|
7405
|
-
ngOnDestroy() {
|
|
7406
|
-
if (this.listenerFn) {
|
|
7407
|
-
this.listenerFn();
|
|
7408
|
-
}
|
|
7409
|
-
}
|
|
7410
|
-
//#region All File Events
|
|
7411
|
-
/**
|
|
7412
|
-
* Cancel all Uploaded files
|
|
7413
|
-
*/
|
|
7414
|
-
cancelAll() {
|
|
7415
|
-
if (this.HasQueueItem() === true) {
|
|
7416
|
-
this.uploadService.control({ action: 'cancel' });
|
|
7417
|
-
}
|
|
7418
|
-
}
|
|
7419
7492
|
/**
|
|
7420
|
-
*
|
|
7493
|
+
* Icon for browse button
|
|
7421
7494
|
*/
|
|
7422
|
-
|
|
7423
|
-
|
|
7424
|
-
this.uploadService.control({ action: 'upload' });
|
|
7425
|
-
}
|
|
7495
|
+
get IconBrowse() {
|
|
7496
|
+
return this.iconService.UploadComponentBrowseIcon;
|
|
7426
7497
|
}
|
|
7427
7498
|
/**
|
|
7428
|
-
*
|
|
7499
|
+
* icon for continous buttons
|
|
7429
7500
|
*/
|
|
7430
|
-
|
|
7431
|
-
|
|
7432
|
-
this.uploadService.control({ action: 'pause' });
|
|
7433
|
-
}
|
|
7501
|
+
get IconContinue() {
|
|
7502
|
+
return this.iconService.UploadComponentContinueIcon;
|
|
7434
7503
|
}
|
|
7435
|
-
//#endregion
|
|
7436
|
-
//#region Singel File Events
|
|
7437
7504
|
/**
|
|
7438
|
-
*
|
|
7439
|
-
* @param uploadId ID of File to cancel
|
|
7505
|
+
* icon for delete buttons
|
|
7440
7506
|
*/
|
|
7441
|
-
|
|
7442
|
-
this.
|
|
7507
|
+
get IconDelete() {
|
|
7508
|
+
return this.iconService.UploadComponentDeleteIcon;
|
|
7443
7509
|
}
|
|
7444
7510
|
/**
|
|
7445
|
-
*
|
|
7446
|
-
* @param uploadId ID of File to Cancel
|
|
7511
|
+
* icon for pause buttons
|
|
7447
7512
|
*/
|
|
7448
|
-
|
|
7449
|
-
this.
|
|
7513
|
+
get IconPause() {
|
|
7514
|
+
return this.iconService.UploadComponentPauseIcon;
|
|
7450
7515
|
}
|
|
7451
7516
|
/**
|
|
7452
|
-
*
|
|
7453
|
-
*
|
|
7454
|
-
* @param uploadId ID of File to Upload
|
|
7517
|
+
* icon for upload button
|
|
7455
7518
|
*/
|
|
7456
|
-
|
|
7457
|
-
this.
|
|
7519
|
+
get IconUpload() {
|
|
7520
|
+
return this.iconService.UploadComponentUploadIcon;
|
|
7458
7521
|
}
|
|
7459
|
-
|
|
7460
|
-
|
|
7461
|
-
/**
|
|
7462
|
-
* Gibt an ob Queue Elemente beinhaltet
|
|
7463
|
-
* @returns Elemente in der Queue
|
|
7464
|
-
*/
|
|
7465
|
-
HasQueueItem() {
|
|
7466
|
-
return this.uploads.length > 0;
|
|
7522
|
+
get allowedtypes() {
|
|
7523
|
+
return this._allowedtypes;
|
|
7467
7524
|
}
|
|
7468
|
-
|
|
7469
|
-
|
|
7470
|
-
* @returns Elemente für Upload vorhanden
|
|
7471
|
-
*/
|
|
7472
|
-
IsStateToUpload() {
|
|
7473
|
-
return (this.uploads.filter((itm) => itm.status === 'added' || itm.status === 'paused').length > 0);
|
|
7525
|
+
get autoupload() {
|
|
7526
|
+
return this._autoupload;
|
|
7474
7527
|
}
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
* @returns Upload ist am laufen
|
|
7478
|
-
*/
|
|
7479
|
-
IsUploading() {
|
|
7480
|
-
return this.uploads.filter((itm) => itm.status === 'uploading').length > 0;
|
|
7528
|
+
get enablepause() {
|
|
7529
|
+
return this._enablepause;
|
|
7481
7530
|
}
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
* @returns Pausierter Upload ist vorhanden
|
|
7485
|
-
*/
|
|
7486
|
-
IsPaused() {
|
|
7487
|
-
return this.uploads.filter((itm) => itm.status === 'paused').length > 0;
|
|
7531
|
+
get endpoint() {
|
|
7532
|
+
return this._endpoint;
|
|
7488
7533
|
}
|
|
7534
|
+
// #endregion Public Getters And Setters
|
|
7535
|
+
// #region Public Methods
|
|
7489
7536
|
/**
|
|
7490
7537
|
* Name der Datei die Hochgeladen wird
|
|
7491
7538
|
* @returns Observable des Dateinamens.
|
|
@@ -7498,6 +7545,13 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7498
7545
|
return this.lngResourceService.GetString('UPLOAD_NO_FILE_SELECTED');
|
|
7499
7546
|
}
|
|
7500
7547
|
}
|
|
7548
|
+
/**
|
|
7549
|
+
* Gibt an ob Queue Elemente beinhaltet
|
|
7550
|
+
* @returns Elemente in der Queue
|
|
7551
|
+
*/
|
|
7552
|
+
HasQueueItem() {
|
|
7553
|
+
return this.uploads.length > 0;
|
|
7554
|
+
}
|
|
7501
7555
|
/**
|
|
7502
7556
|
* Gibt an ob ein Upload abgeschlossen ist
|
|
7503
7557
|
* @returns Upload erfolgreich
|
|
@@ -7510,6 +7564,27 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7510
7564
|
return false;
|
|
7511
7565
|
}
|
|
7512
7566
|
}
|
|
7567
|
+
/**
|
|
7568
|
+
* Prüft ob ein Upload pausiert
|
|
7569
|
+
* @returns Pausierter Upload ist vorhanden
|
|
7570
|
+
*/
|
|
7571
|
+
IsPaused() {
|
|
7572
|
+
return this.uploads.filter((itm) => itm.status === 'paused').length > 0;
|
|
7573
|
+
}
|
|
7574
|
+
/**
|
|
7575
|
+
* Prüft ob in der Queue Elemente die zum Upload bereit sind vorhanden sind.
|
|
7576
|
+
* @returns Elemente für Upload vorhanden
|
|
7577
|
+
*/
|
|
7578
|
+
IsStateToUpload() {
|
|
7579
|
+
return (this.uploads.filter((itm) => itm.status === 'added' || itm.status === 'paused').length > 0);
|
|
7580
|
+
}
|
|
7581
|
+
/**
|
|
7582
|
+
* Prüft ob ein Upload eines Files am laufen ist
|
|
7583
|
+
* @returns Upload ist am laufen
|
|
7584
|
+
*/
|
|
7585
|
+
IsUploading() {
|
|
7586
|
+
return this.uploads.filter((itm) => itm.status === 'uploading').length > 0;
|
|
7587
|
+
}
|
|
7513
7588
|
/**
|
|
7514
7589
|
* Gibt den Uploadfortschritt zurück
|
|
7515
7590
|
* @returns Upload Fortschritt. Wert von 0-100
|
|
@@ -7522,67 +7597,42 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7522
7597
|
return 0;
|
|
7523
7598
|
}
|
|
7524
7599
|
}
|
|
7525
|
-
//#endregion
|
|
7526
|
-
//#region Validation
|
|
7527
7600
|
/**
|
|
7528
|
-
*
|
|
7529
|
-
* @param
|
|
7601
|
+
* Cancel single upload
|
|
7602
|
+
* @param uploadId ID of File to cancel
|
|
7530
7603
|
*/
|
|
7531
|
-
|
|
7532
|
-
|
|
7533
|
-
if (this.isrequired) {
|
|
7534
|
-
error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
7535
|
-
}
|
|
7536
|
-
return error;
|
|
7604
|
+
cancel(uploadId) {
|
|
7605
|
+
this.uploadService.control({ action: 'cancel', uploadId: uploadId });
|
|
7537
7606
|
}
|
|
7538
|
-
//#endregion
|
|
7539
7607
|
/**
|
|
7540
|
-
*
|
|
7541
|
-
*
|
|
7542
|
-
* @param types Erlaubte File Extensions
|
|
7608
|
+
* Cancel all Uploaded files
|
|
7543
7609
|
*/
|
|
7544
|
-
|
|
7545
|
-
|
|
7546
|
-
|
|
7547
|
-
this.renderer.setAttribute(this.uploadInput.nativeElement, 'accept', types);
|
|
7610
|
+
cancelAll() {
|
|
7611
|
+
if (this.HasQueueItem() === true) {
|
|
7612
|
+
this.uploadService.control({ action: 'cancel' });
|
|
7548
7613
|
}
|
|
7549
|
-
this.options.allowedTypes = types;
|
|
7550
|
-
}
|
|
7551
|
-
/**
|
|
7552
|
-
* Setzt den Upload Endpoit
|
|
7553
|
-
* @param url Register URI
|
|
7554
|
-
*/
|
|
7555
|
-
setEndpoint(url) {
|
|
7556
|
-
this.options.endpoint = url;
|
|
7557
7614
|
}
|
|
7558
7615
|
/**
|
|
7559
|
-
*
|
|
7560
|
-
*
|
|
7561
|
-
* @param filename Dateiname
|
|
7616
|
+
* Destroy des Controls
|
|
7562
7617
|
*/
|
|
7563
|
-
|
|
7564
|
-
if (this.
|
|
7565
|
-
|
|
7618
|
+
ngOnDestroy() {
|
|
7619
|
+
if (this.listenerFn) {
|
|
7620
|
+
this.listenerFn();
|
|
7566
7621
|
}
|
|
7567
|
-
let isValid = false;
|
|
7568
|
-
const extensions = this._allowedtypes.split(',');
|
|
7569
|
-
extensions.forEach((itm) => {
|
|
7570
|
-
if (filename.toLowerCase().endsWith(itm.toLowerCase())) {
|
|
7571
|
-
isValid = true;
|
|
7572
|
-
}
|
|
7573
|
-
});
|
|
7574
|
-
return isValid;
|
|
7575
7622
|
}
|
|
7576
7623
|
/**
|
|
7577
|
-
*
|
|
7578
|
-
*
|
|
7579
|
-
* @param filesize Max File Size in Bytes
|
|
7624
|
+
* Initialisiert das Control
|
|
7580
7625
|
*/
|
|
7581
|
-
|
|
7582
|
-
|
|
7583
|
-
|
|
7626
|
+
ngOnInit() {
|
|
7627
|
+
super.ngOnInit();
|
|
7628
|
+
// Init Event Listener for Input File Control and Handling Files
|
|
7629
|
+
this.listenerFn = this.renderer.listen(this.uploadInput.nativeElement, 'change', this.fileListener);
|
|
7630
|
+
this.setAllowedTypes(this._allowedtypes);
|
|
7631
|
+
this.setEndpoint(this._endpoint);
|
|
7632
|
+
if (this._endpoint === null) {
|
|
7633
|
+
throw new Error('endpoint is not defined!');
|
|
7584
7634
|
}
|
|
7585
|
-
|
|
7635
|
+
this.uploadService.connect(this.options);
|
|
7586
7636
|
}
|
|
7587
7637
|
/**
|
|
7588
7638
|
* Upload Event
|
|
@@ -7627,11 +7677,49 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7627
7677
|
this.UpdateFileCount();
|
|
7628
7678
|
}
|
|
7629
7679
|
/**
|
|
7630
|
-
*
|
|
7680
|
+
* Cancel Single File
|
|
7681
|
+
* @param uploadId ID of File to Cancel
|
|
7631
7682
|
*/
|
|
7632
|
-
|
|
7633
|
-
|
|
7683
|
+
pause(uploadId) {
|
|
7684
|
+
this.uploadService.control({ action: 'pause', uploadId });
|
|
7685
|
+
}
|
|
7686
|
+
/**
|
|
7687
|
+
* Pause all Uploads
|
|
7688
|
+
*/
|
|
7689
|
+
pauseAll() {
|
|
7690
|
+
if (this.IsUploading() === true) {
|
|
7691
|
+
this.uploadService.control({ action: 'pause' });
|
|
7692
|
+
}
|
|
7693
|
+
}
|
|
7694
|
+
/**
|
|
7695
|
+
* Upload Single File
|
|
7696
|
+
*
|
|
7697
|
+
* @param uploadId ID of File to Upload
|
|
7698
|
+
*/
|
|
7699
|
+
upload(uploadId) {
|
|
7700
|
+
this.uploadService.control({ action: 'upload', uploadId });
|
|
7634
7701
|
}
|
|
7702
|
+
/**
|
|
7703
|
+
* Upload all queued Files
|
|
7704
|
+
*/
|
|
7705
|
+
uploadAll() {
|
|
7706
|
+
if (this.IsStateToUpload() === true) {
|
|
7707
|
+
this.uploadService.control({ action: 'upload' });
|
|
7708
|
+
}
|
|
7709
|
+
}
|
|
7710
|
+
/**
|
|
7711
|
+
* Validiert das Upload Control
|
|
7712
|
+
* @param c Control das validiert werden soll
|
|
7713
|
+
*/
|
|
7714
|
+
validateData(c) {
|
|
7715
|
+
let error = null;
|
|
7716
|
+
if (this.isrequired) {
|
|
7717
|
+
error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
7718
|
+
}
|
|
7719
|
+
return error;
|
|
7720
|
+
}
|
|
7721
|
+
// #endregion Public Abstract Methods
|
|
7722
|
+
// #region Private Methods
|
|
7635
7723
|
UpdateFileCount() {
|
|
7636
7724
|
// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
|
|
7637
7725
|
if (this.ngControl) {
|
|
@@ -7640,140 +7728,127 @@ class SacUploadBase extends SacBaseModelControl {
|
|
|
7640
7728
|
}
|
|
7641
7729
|
}
|
|
7642
7730
|
/**
|
|
7643
|
-
*
|
|
7731
|
+
* Returns the number of uploaded files
|
|
7644
7732
|
*/
|
|
7645
|
-
|
|
7646
|
-
return this.
|
|
7733
|
+
UploadedFileCount() {
|
|
7734
|
+
return this.uploads.filter((itm) => itm.status === 'complete').length;
|
|
7647
7735
|
}
|
|
7648
7736
|
/**
|
|
7649
|
-
*
|
|
7737
|
+
* Prüft ob die Dateierweiterung gültig ist
|
|
7738
|
+
*
|
|
7739
|
+
* @param filename Dateiname
|
|
7650
7740
|
*/
|
|
7651
|
-
|
|
7652
|
-
|
|
7741
|
+
isExtensionValid(filename) {
|
|
7742
|
+
if (this._allowedtypes === '*') {
|
|
7743
|
+
return true;
|
|
7744
|
+
}
|
|
7745
|
+
let isValid = false;
|
|
7746
|
+
const extensions = this._allowedtypes.split(',');
|
|
7747
|
+
extensions.forEach((itm) => {
|
|
7748
|
+
if (filename.toLowerCase().endsWith(itm.toLowerCase())) {
|
|
7749
|
+
isValid = true;
|
|
7750
|
+
}
|
|
7751
|
+
});
|
|
7752
|
+
return isValid;
|
|
7653
7753
|
}
|
|
7654
7754
|
/**
|
|
7655
|
-
*
|
|
7755
|
+
* Prüft ob das File nicht zu gross ist.
|
|
7756
|
+
*
|
|
7757
|
+
* @param filesize Max File Size in Bytes
|
|
7656
7758
|
*/
|
|
7657
|
-
|
|
7658
|
-
|
|
7759
|
+
isFileSizeValid(filesize) {
|
|
7760
|
+
if (this.maxfilesize === 0) {
|
|
7761
|
+
return true;
|
|
7762
|
+
}
|
|
7763
|
+
return this.maxfilesize >= filesize;
|
|
7659
7764
|
}
|
|
7660
7765
|
/**
|
|
7661
|
-
*
|
|
7766
|
+
* Setzt die erlaubten Datentypen für den Upload
|
|
7767
|
+
*
|
|
7768
|
+
* @param types Erlaubte File Extensions
|
|
7662
7769
|
*/
|
|
7663
|
-
|
|
7664
|
-
|
|
7770
|
+
setAllowedTypes(types) {
|
|
7771
|
+
// Prüfen UploadInput bereits geladen, ist NULL wenn Extension im Markup nach NgModel gesetzt wird.
|
|
7772
|
+
if (this.uploadInput && this.uploadInput.nativeElement) {
|
|
7773
|
+
this.renderer.setAttribute(this.uploadInput.nativeElement, 'accept', types);
|
|
7774
|
+
}
|
|
7775
|
+
this.options.allowedTypes = types;
|
|
7665
7776
|
}
|
|
7666
7777
|
/**
|
|
7667
|
-
*
|
|
7778
|
+
* Setzt den Upload Endpoit
|
|
7779
|
+
* @param url Register URI
|
|
7668
7780
|
*/
|
|
7669
|
-
|
|
7670
|
-
|
|
7781
|
+
setEndpoint(url) {
|
|
7782
|
+
this.options.endpoint = url;
|
|
7671
7783
|
}
|
|
7672
7784
|
}
|
|
7673
|
-
SacUploadBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadBase, deps: [{ token:
|
|
7674
|
-
SacUploadBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadBase, inputs: {
|
|
7785
|
+
SacUploadBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadBase, deps: [{ token: SacFormLayoutCommon }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7786
|
+
SacUploadBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadBase, inputs: { isrequired: "isrequired", maxfilesize: "maxfilesize", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", allowedtypes: "allowedtypes", autoupload: "autoupload", enablepause: "enablepause", endpoint: "endpoint" }, outputs: { onfileerror: "onfileerror" }, viewQueries: [{ propertyName: "uploadInput", first: true, predicate: ["files"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
|
|
7675
7787
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadBase, decorators: [{
|
|
7676
7788
|
type: Directive
|
|
7677
|
-
}], ctorParameters: function () { return [{ type:
|
|
7789
|
+
}], ctorParameters: function () { return [{ type: SacFormLayoutCommon }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { uploadInput: [{
|
|
7790
|
+
type: ViewChild,
|
|
7791
|
+
args: ['files', { static: true }]
|
|
7792
|
+
}], isrequired: [{
|
|
7793
|
+
type: Input
|
|
7794
|
+
}], maxfilesize: [{
|
|
7795
|
+
type: Input
|
|
7796
|
+
}], validationmessagerequired: [{
|
|
7678
7797
|
type: Input
|
|
7679
7798
|
}], validationmessagesummaryrequired: [{
|
|
7680
7799
|
type: Input
|
|
7800
|
+
}], onfileerror: [{
|
|
7801
|
+
type: Output
|
|
7681
7802
|
}], allowedtypes: [{
|
|
7682
7803
|
type: Input
|
|
7683
7804
|
}], autoupload: [{
|
|
7684
7805
|
type: Input
|
|
7685
7806
|
}], enablepause: [{
|
|
7686
7807
|
type: Input
|
|
7687
|
-
}], maxfilesize: [{
|
|
7688
|
-
type: Input
|
|
7689
|
-
}], isrequired: [{
|
|
7690
|
-
type: Input
|
|
7691
7808
|
}], endpoint: [{
|
|
7692
7809
|
type: Input
|
|
7693
|
-
}]
|
|
7694
|
-
type: Output
|
|
7695
|
-
}], uploadInput: [{
|
|
7696
|
-
type: ViewChild,
|
|
7697
|
-
args: ['files', { static: true }]
|
|
7698
|
-
}] } });
|
|
7699
|
-
|
|
7810
|
+
}] } });
|
|
7700
7811
|
/**
|
|
7701
|
-
* Upload
|
|
7812
|
+
* Klasse für den Upload einer Datei in der Upload Component
|
|
7702
7813
|
*/
|
|
7703
|
-
class
|
|
7704
|
-
|
|
7705
|
-
|
|
7706
|
-
/**
|
|
7707
|
-
* Label für Browse Button
|
|
7708
|
-
*/
|
|
7709
|
-
this.buttonbrowse = 'Browse';
|
|
7710
|
-
/**
|
|
7711
|
-
* Label für Upload Button
|
|
7712
|
-
*/
|
|
7713
|
-
this.buttonupload = 'Upload';
|
|
7714
|
-
}
|
|
7715
|
-
/**
|
|
7716
|
-
* Macht keine Validierung in diesem Control
|
|
7717
|
-
*
|
|
7718
|
-
* @param file File das hinzugefügt wurde
|
|
7719
|
-
*/
|
|
7720
|
-
CustomAddValidation(file) {
|
|
7721
|
-
return true;
|
|
7722
|
-
}
|
|
7814
|
+
class SacUploadFile {
|
|
7815
|
+
// #endregion Properties
|
|
7816
|
+
// #region Constructors
|
|
7723
7817
|
/**
|
|
7724
|
-
*
|
|
7725
|
-
*
|
|
7726
|
-
* @param file ID des Files
|
|
7818
|
+
* Konstruktor
|
|
7819
|
+
* @param ufile Upload Status
|
|
7727
7820
|
*/
|
|
7728
|
-
|
|
7729
|
-
|
|
7730
|
-
|
|
7731
|
-
|
|
7732
|
-
|
|
7733
|
-
|
|
7734
|
-
file.response !== null &&
|
|
7735
|
-
file.response.documentid !== null &&
|
|
7736
|
-
file.response.documentid !== undefined) {
|
|
7737
|
-
super.setValue(file.response.documentid);
|
|
7738
|
-
}
|
|
7739
|
-
else {
|
|
7740
|
-
super.setValue(file.uploadId);
|
|
7741
|
-
}
|
|
7742
|
-
}
|
|
7821
|
+
constructor(ufile) {
|
|
7822
|
+
this.uploadId = ufile.uploadId;
|
|
7823
|
+
this.name = ufile.name;
|
|
7824
|
+
this.progress = ufile.progress;
|
|
7825
|
+
this.status = ufile.status;
|
|
7826
|
+
this.documentid = null;
|
|
7743
7827
|
}
|
|
7744
|
-
}
|
|
7745
|
-
SacUploadSingleCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadSingleCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7746
|
-
SacUploadSingleCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadSingleCommon, inputs: { buttonbrowse: "buttonbrowse", buttonupload: "buttonupload" }, usesInheritance: true, ngImport: i0 });
|
|
7747
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadSingleCommon, decorators: [{
|
|
7748
|
-
type: Directive
|
|
7749
|
-
}], propDecorators: { buttonbrowse: [{
|
|
7750
|
-
type: Input
|
|
7751
|
-
}], buttonupload: [{
|
|
7752
|
-
type: Input
|
|
7753
|
-
}] } });
|
|
7828
|
+
}
|
|
7754
7829
|
|
|
7755
7830
|
/**
|
|
7756
|
-
* Upload
|
|
7831
|
+
* Upload Komponente für ein einzelnes File
|
|
7757
7832
|
*/
|
|
7758
|
-
class
|
|
7833
|
+
class SacDropzoneMultipleCommon extends SacUploadBase {
|
|
7759
7834
|
constructor() {
|
|
7760
7835
|
super(...arguments);
|
|
7761
7836
|
/**
|
|
7762
|
-
*
|
|
7837
|
+
* Property wenn Drag Event aktiv ist (Maus über Zone)
|
|
7763
7838
|
*/
|
|
7764
|
-
this.
|
|
7839
|
+
this.active = false;
|
|
7765
7840
|
/**
|
|
7766
|
-
*
|
|
7841
|
+
* Höhe des Upload Controls
|
|
7767
7842
|
*/
|
|
7768
|
-
this.
|
|
7843
|
+
this.uploadheight = null;
|
|
7769
7844
|
/**
|
|
7770
|
-
*
|
|
7845
|
+
* Max. Anzahl Files die hochgeladen werden können
|
|
7771
7846
|
*/
|
|
7772
|
-
this.
|
|
7847
|
+
this.maxfiles = 0;
|
|
7773
7848
|
/**
|
|
7774
|
-
*
|
|
7849
|
+
* Min. Anzahl Files die hochgeladen werden müssen
|
|
7775
7850
|
*/
|
|
7776
|
-
this.
|
|
7851
|
+
this.minfiles = 0;
|
|
7777
7852
|
/**
|
|
7778
7853
|
* Resource Key für Validation Message Required bei Control
|
|
7779
7854
|
*/
|
|
@@ -7783,6 +7858,49 @@ class SacUploadMultipleCommon extends SacUploadBase {
|
|
|
7783
7858
|
*/
|
|
7784
7859
|
this.validationmessagesummaryminfiles = 'VALIDATION_ERROR_SUMMARY_FILESMIN';
|
|
7785
7860
|
}
|
|
7861
|
+
/**
|
|
7862
|
+
* Ervent wenn das Control initialisert wird
|
|
7863
|
+
*/
|
|
7864
|
+
ngOnInit() {
|
|
7865
|
+
super.ngOnInit();
|
|
7866
|
+
this.autoupload = true;
|
|
7867
|
+
}
|
|
7868
|
+
/**
|
|
7869
|
+
* Methode für Drag and Drop von Files
|
|
7870
|
+
* @param event Drag Event
|
|
7871
|
+
*/
|
|
7872
|
+
dropHandler(event) {
|
|
7873
|
+
if (event.dataTransfer &&
|
|
7874
|
+
event.dataTransfer.files &&
|
|
7875
|
+
event.dataTransfer.files.item(0)) {
|
|
7876
|
+
event.stopPropagation();
|
|
7877
|
+
event.preventDefault();
|
|
7878
|
+
this.active = false;
|
|
7879
|
+
this.uploadService.handleFiles(event.dataTransfer.files);
|
|
7880
|
+
}
|
|
7881
|
+
}
|
|
7882
|
+
/**
|
|
7883
|
+
* Methode wenn Drag in die Zone eintritt
|
|
7884
|
+
* @param event DragEnter Event
|
|
7885
|
+
*/
|
|
7886
|
+
onDragOver(event) {
|
|
7887
|
+
if (event.dataTransfer &&
|
|
7888
|
+
event.dataTransfer.files &&
|
|
7889
|
+
event.dataTransfer.types.every((itm) => itm === 'Files') &&
|
|
7890
|
+
event.dataTransfer.types.length > 0) {
|
|
7891
|
+
event.dataTransfer.dropEffect = 'copy';
|
|
7892
|
+
event.stopPropagation();
|
|
7893
|
+
event.preventDefault();
|
|
7894
|
+
this.active = true;
|
|
7895
|
+
}
|
|
7896
|
+
}
|
|
7897
|
+
/**
|
|
7898
|
+
* Methode wenn Drag die Zone verlässt
|
|
7899
|
+
* @param event DragLeave Event
|
|
7900
|
+
*/
|
|
7901
|
+
onDragLeave(event) {
|
|
7902
|
+
this.active = false;
|
|
7903
|
+
}
|
|
7786
7904
|
/**
|
|
7787
7905
|
* Prüft ob die max. Files in der Queue nicht überschritten werden
|
|
7788
7906
|
*
|
|
@@ -7854,17 +7972,15 @@ class SacUploadMultipleCommon extends SacUploadBase {
|
|
|
7854
7972
|
return error;
|
|
7855
7973
|
}
|
|
7856
7974
|
}
|
|
7857
|
-
|
|
7858
|
-
|
|
7859
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type:
|
|
7975
|
+
SacDropzoneMultipleCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropzoneMultipleCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7976
|
+
SacDropzoneMultipleCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropzoneMultipleCommon, inputs: { uploadheight: "uploadheight", maxfiles: "maxfiles", minfiles: "minfiles", validationmessageminfiles: "validationmessageminfiles", validationmessagesummaryminfiles: "validationmessagesummaryminfiles" }, usesInheritance: true, ngImport: i0 });
|
|
7977
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropzoneMultipleCommon, decorators: [{
|
|
7860
7978
|
type: Directive
|
|
7861
|
-
}], propDecorators: {
|
|
7862
|
-
type: Input
|
|
7863
|
-
}], minfiles: [{
|
|
7979
|
+
}], propDecorators: { uploadheight: [{
|
|
7864
7980
|
type: Input
|
|
7865
|
-
}],
|
|
7981
|
+
}], maxfiles: [{
|
|
7866
7982
|
type: Input
|
|
7867
|
-
}],
|
|
7983
|
+
}], minfiles: [{
|
|
7868
7984
|
type: Input
|
|
7869
7985
|
}], validationmessageminfiles: [{
|
|
7870
7986
|
type: Input
|
|
@@ -7976,27 +8092,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
7976
8092
|
}] } });
|
|
7977
8093
|
|
|
7978
8094
|
/**
|
|
7979
|
-
* Upload
|
|
8095
|
+
* Upload Componente für mehrere Files
|
|
7980
8096
|
*/
|
|
7981
|
-
class
|
|
8097
|
+
class SacUploadMultipleCommon extends SacUploadBase {
|
|
7982
8098
|
constructor() {
|
|
7983
8099
|
super(...arguments);
|
|
7984
8100
|
/**
|
|
7985
|
-
*
|
|
8101
|
+
* Max. Files die hochgeladen werden können. 0 deaktiviert das Limit
|
|
7986
8102
|
*/
|
|
7987
|
-
this.
|
|
8103
|
+
this.maxfiles = 0;
|
|
7988
8104
|
/**
|
|
7989
|
-
*
|
|
8105
|
+
* Min. Files die hochgeladen werden müssen. 0 deaktiviert das Limit
|
|
7990
8106
|
*/
|
|
7991
|
-
this.
|
|
8107
|
+
this.minfiles = 0;
|
|
7992
8108
|
/**
|
|
7993
|
-
*
|
|
8109
|
+
* Label für Browse Button
|
|
7994
8110
|
*/
|
|
7995
|
-
this.
|
|
8111
|
+
this.buttonbrowse = 'Browse';
|
|
7996
8112
|
/**
|
|
7997
|
-
*
|
|
8113
|
+
* Label für Upload Button
|
|
7998
8114
|
*/
|
|
7999
|
-
this.
|
|
8115
|
+
this.buttonupload = 'Upload';
|
|
8000
8116
|
/**
|
|
8001
8117
|
* Resource Key für Validation Message Required bei Control
|
|
8002
8118
|
*/
|
|
@@ -8006,49 +8122,6 @@ class SacDropzoneMultipleCommon extends SacUploadBase {
|
|
|
8006
8122
|
*/
|
|
8007
8123
|
this.validationmessagesummaryminfiles = 'VALIDATION_ERROR_SUMMARY_FILESMIN';
|
|
8008
8124
|
}
|
|
8009
|
-
/**
|
|
8010
|
-
* Ervent wenn das Control initialisert wird
|
|
8011
|
-
*/
|
|
8012
|
-
ngOnInit() {
|
|
8013
|
-
super.ngOnInit();
|
|
8014
|
-
this.autoupload = true;
|
|
8015
|
-
}
|
|
8016
|
-
/**
|
|
8017
|
-
* Methode für Drag and Drop von Files
|
|
8018
|
-
* @param event Drag Event
|
|
8019
|
-
*/
|
|
8020
|
-
dropHandler(event) {
|
|
8021
|
-
if (event.dataTransfer &&
|
|
8022
|
-
event.dataTransfer.files &&
|
|
8023
|
-
event.dataTransfer.files.item(0)) {
|
|
8024
|
-
event.stopPropagation();
|
|
8025
|
-
event.preventDefault();
|
|
8026
|
-
this.active = false;
|
|
8027
|
-
this.uploadService.handleFiles(event.dataTransfer.files);
|
|
8028
|
-
}
|
|
8029
|
-
}
|
|
8030
|
-
/**
|
|
8031
|
-
* Methode wenn Drag in die Zone eintritt
|
|
8032
|
-
* @param event DragEnter Event
|
|
8033
|
-
*/
|
|
8034
|
-
onDragOver(event) {
|
|
8035
|
-
if (event.dataTransfer &&
|
|
8036
|
-
event.dataTransfer.files &&
|
|
8037
|
-
event.dataTransfer.types.every((itm) => itm === 'Files') &&
|
|
8038
|
-
event.dataTransfer.types.length > 0) {
|
|
8039
|
-
event.dataTransfer.dropEffect = 'copy';
|
|
8040
|
-
event.stopPropagation();
|
|
8041
|
-
event.preventDefault();
|
|
8042
|
-
this.active = true;
|
|
8043
|
-
}
|
|
8044
|
-
}
|
|
8045
|
-
/**
|
|
8046
|
-
* Methode wenn Drag die Zone verlässt
|
|
8047
|
-
* @param event DragLeave Event
|
|
8048
|
-
*/
|
|
8049
|
-
onDragLeave(event) {
|
|
8050
|
-
this.active = false;
|
|
8051
|
-
}
|
|
8052
8125
|
/**
|
|
8053
8126
|
* Prüft ob die max. Files in der Queue nicht überschritten werden
|
|
8054
8127
|
*
|
|
@@ -8120,32 +8193,90 @@ class SacDropzoneMultipleCommon extends SacUploadBase {
|
|
|
8120
8193
|
return error;
|
|
8121
8194
|
}
|
|
8122
8195
|
}
|
|
8123
|
-
|
|
8124
|
-
|
|
8125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type:
|
|
8196
|
+
SacUploadMultipleCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadMultipleCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
8197
|
+
SacUploadMultipleCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadMultipleCommon, inputs: { maxfiles: "maxfiles", minfiles: "minfiles", buttonbrowse: "buttonbrowse", buttonupload: "buttonupload", validationmessageminfiles: "validationmessageminfiles", validationmessagesummaryminfiles: "validationmessagesummaryminfiles" }, usesInheritance: true, ngImport: i0 });
|
|
8198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadMultipleCommon, decorators: [{
|
|
8126
8199
|
type: Directive
|
|
8127
|
-
}], propDecorators: {
|
|
8128
|
-
type: Input
|
|
8129
|
-
}], maxfiles: [{
|
|
8200
|
+
}], propDecorators: { maxfiles: [{
|
|
8130
8201
|
type: Input
|
|
8131
8202
|
}], minfiles: [{
|
|
8132
8203
|
type: Input
|
|
8204
|
+
}], buttonbrowse: [{
|
|
8205
|
+
type: Input
|
|
8206
|
+
}], buttonupload: [{
|
|
8207
|
+
type: Input
|
|
8133
8208
|
}], validationmessageminfiles: [{
|
|
8134
8209
|
type: Input
|
|
8135
8210
|
}], validationmessagesummaryminfiles: [{
|
|
8136
8211
|
type: Input
|
|
8137
8212
|
}] } });
|
|
8138
8213
|
|
|
8214
|
+
/**
|
|
8215
|
+
* Upload Komponente für ein einzelnes File
|
|
8216
|
+
*/
|
|
8217
|
+
class SacUploadSingleCommon extends SacUploadBase {
|
|
8218
|
+
constructor() {
|
|
8219
|
+
super(...arguments);
|
|
8220
|
+
/**
|
|
8221
|
+
* Label für Browse Button
|
|
8222
|
+
*/
|
|
8223
|
+
this.buttonbrowse = 'Browse';
|
|
8224
|
+
/**
|
|
8225
|
+
* Label für Upload Button
|
|
8226
|
+
*/
|
|
8227
|
+
this.buttonupload = 'Upload';
|
|
8228
|
+
}
|
|
8229
|
+
/**
|
|
8230
|
+
* Macht keine Validierung in diesem Control
|
|
8231
|
+
*
|
|
8232
|
+
* @param file File das hinzugefügt wurde
|
|
8233
|
+
*/
|
|
8234
|
+
CustomAddValidation(file) {
|
|
8235
|
+
return true;
|
|
8236
|
+
}
|
|
8237
|
+
/**
|
|
8238
|
+
* Setzt die File ID des hochgeladen Files in das Model
|
|
8239
|
+
*
|
|
8240
|
+
* @param file ID des Files
|
|
8241
|
+
*/
|
|
8242
|
+
SetUploadValue(file) {
|
|
8243
|
+
if (file === null) {
|
|
8244
|
+
super.setValue(null);
|
|
8245
|
+
}
|
|
8246
|
+
else {
|
|
8247
|
+
if (file.response !== undefined &&
|
|
8248
|
+
file.response !== null &&
|
|
8249
|
+
file.response.documentid !== null &&
|
|
8250
|
+
file.response.documentid !== undefined) {
|
|
8251
|
+
super.setValue(file.response.documentid);
|
|
8252
|
+
}
|
|
8253
|
+
else {
|
|
8254
|
+
super.setValue(file.uploadId);
|
|
8255
|
+
}
|
|
8256
|
+
}
|
|
8257
|
+
}
|
|
8258
|
+
}
|
|
8259
|
+
SacUploadSingleCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadSingleCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
8260
|
+
SacUploadSingleCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadSingleCommon, inputs: { buttonbrowse: "buttonbrowse", buttonupload: "buttonupload" }, usesInheritance: true, ngImport: i0 });
|
|
8261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadSingleCommon, decorators: [{
|
|
8262
|
+
type: Directive
|
|
8263
|
+
}], propDecorators: { buttonbrowse: [{
|
|
8264
|
+
type: Input
|
|
8265
|
+
}], buttonupload: [{
|
|
8266
|
+
type: Input
|
|
8267
|
+
}] } });
|
|
8268
|
+
|
|
8139
8269
|
/**
|
|
8140
8270
|
* Base Klasse für Multi Language Input Control
|
|
8141
8271
|
*/
|
|
8142
8272
|
class SacMultilanguageInputCommon extends SacInputBase {
|
|
8143
8273
|
/**
|
|
8144
|
-
*
|
|
8145
|
-
*
|
|
8274
|
+
* Constructor
|
|
8275
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
8276
|
+
* @param injector Injector for injecting services
|
|
8146
8277
|
*/
|
|
8147
|
-
constructor(
|
|
8148
|
-
super(
|
|
8278
|
+
constructor(formlayout, injector) {
|
|
8279
|
+
super(formlayout, injector);
|
|
8149
8280
|
/**
|
|
8150
8281
|
* Max länge an Zeichen für Eingabefeld
|
|
8151
8282
|
*/
|
|
@@ -8335,12 +8466,12 @@ class SacMultilanguageInputCommon extends SacInputBase {
|
|
|
8335
8466
|
return error;
|
|
8336
8467
|
}
|
|
8337
8468
|
}
|
|
8338
|
-
SacMultilanguageInputCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputCommon, deps: [{ token:
|
|
8469
|
+
SacMultilanguageInputCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputCommon, deps: [{ token: SacFormLayoutCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
8339
8470
|
SacMultilanguageInputCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacMultilanguageInputCommon, inputs: { maxlength: "maxlength", controlwidth: "controlwidth", requiredany: "requiredany", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessagerequiredany: "validationmessagerequiredany", validationmessagesummaryrequiredany: "validationmessagesummaryrequiredany" }, usesInheritance: true, ngImport: i0 });
|
|
8340
8471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputCommon, decorators: [{
|
|
8341
8472
|
type: Directive
|
|
8342
8473
|
}], ctorParameters: function () {
|
|
8343
|
-
return [{ type:
|
|
8474
|
+
return [{ type: SacFormLayoutCommon, decorators: [{
|
|
8344
8475
|
type: Host
|
|
8345
8476
|
}] }, { type: i0.Injector }];
|
|
8346
8477
|
}, propDecorators: { maxlength: [{
|
|
@@ -8364,11 +8495,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
8364
8495
|
*/
|
|
8365
8496
|
class SacMultilanguageInputAreaCommon extends SacInputBase {
|
|
8366
8497
|
/**
|
|
8367
|
-
*
|
|
8368
|
-
*
|
|
8498
|
+
* Constructor
|
|
8499
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
8500
|
+
* @param injector Injector for injecting services
|
|
8369
8501
|
*/
|
|
8370
|
-
constructor(
|
|
8371
|
-
super(
|
|
8502
|
+
constructor(formlayout, injector) {
|
|
8503
|
+
super(formlayout, injector);
|
|
8372
8504
|
/**
|
|
8373
8505
|
* Max länge an Zeichen für Eingabefeld
|
|
8374
8506
|
*/
|
|
@@ -8528,141 +8660,61 @@ class SacMultilanguageInputAreaCommon extends SacInputBase {
|
|
|
8528
8660
|
this.value[itm.IsoCode] === null) {
|
|
8529
8661
|
found = true;
|
|
8530
8662
|
return;
|
|
8531
|
-
}
|
|
8532
|
-
});
|
|
8533
|
-
}
|
|
8534
|
-
return found;
|
|
8535
|
-
}
|
|
8536
|
-
/**
|
|
8537
|
-
* Methode validiert, ob der Wert den gegebenen Kriterien entspricht
|
|
8538
|
-
* @param c Controls das validiert wird
|
|
8539
|
-
*/
|
|
8540
|
-
validateData(c) {
|
|
8541
|
-
let error = null;
|
|
8542
|
-
if (error === null &&
|
|
8543
|
-
c.value !== null &&
|
|
8544
|
-
c.value !== undefined &&
|
|
8545
|
-
c.value !== '' &&
|
|
8546
|
-
this.isrequired !== undefined &&
|
|
8547
|
-
this.isrequired === true) {
|
|
8548
|
-
error = Validation.multilanguageRequired(this.languages, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
8549
|
-
}
|
|
8550
|
-
if (error === null &&
|
|
8551
|
-
c.value !== null &&
|
|
8552
|
-
c.value !== undefined &&
|
|
8553
|
-
c.value !== '' &&
|
|
8554
|
-
this.requiredany !== undefined &&
|
|
8555
|
-
this.requiredany === true) {
|
|
8556
|
-
error = Validation.multilanguageRequiredAny(this.languages, this.validationmessagerequiredany, this.validationmessagesummaryrequiredany)(c);
|
|
8557
|
-
}
|
|
8558
|
-
return error;
|
|
8559
|
-
}
|
|
8560
|
-
}
|
|
8561
|
-
SacMultilanguageInputAreaCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, deps: [{ token: SacFormCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
8562
|
-
SacMultilanguageInputAreaCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacMultilanguageInputAreaCommon, inputs: { maxlength: "maxlength", rows: "rows", controlwidth: "controlwidth", requiredany: "requiredany", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessagerequiredany: "validationmessagerequiredany", validationmessagesummaryrequiredany: "validationmessagesummaryrequiredany" }, usesInheritance: true, ngImport: i0 });
|
|
8563
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, decorators: [{
|
|
8564
|
-
type: Directive
|
|
8565
|
-
}], ctorParameters: function () {
|
|
8566
|
-
return [{ type: SacFormCommon, decorators: [{
|
|
8567
|
-
type: Host
|
|
8568
|
-
}] }, { type: i0.Injector }];
|
|
8569
|
-
}, propDecorators: { maxlength: [{
|
|
8570
|
-
type: Input
|
|
8571
|
-
}], rows: [{
|
|
8572
|
-
type: Input
|
|
8573
|
-
}], controlwidth: [{
|
|
8574
|
-
type: Input
|
|
8575
|
-
}], requiredany: [{
|
|
8576
|
-
type: Input
|
|
8577
|
-
}], validationmessagerequired: [{
|
|
8578
|
-
type: Input
|
|
8579
|
-
}], validationmessagesummaryrequired: [{
|
|
8580
|
-
type: Input
|
|
8581
|
-
}], validationmessagerequiredany: [{
|
|
8582
|
-
type: Input
|
|
8583
|
-
}], validationmessagesummaryrequiredany: [{
|
|
8584
|
-
type: Input
|
|
8585
|
-
}] } });
|
|
8586
|
-
|
|
8587
|
-
/**
|
|
8588
|
-
* Basis Klasse für Confirm Service implementation
|
|
8589
|
-
*/
|
|
8590
|
-
class ServiceConfirmCommon {
|
|
8591
|
-
/**
|
|
8592
|
-
* Konstruktor
|
|
8593
|
-
* @param appRef ApplicationRef zum Anhängen des Dialogs an den Content
|
|
8594
|
-
* @param injector Injector um die Instanz zu erzeuge
|
|
8595
|
-
*/
|
|
8596
|
-
constructor(appRef, injector) {
|
|
8597
|
-
this.appRef = appRef;
|
|
8598
|
-
this.injector = injector;
|
|
8599
|
-
//#region Properties
|
|
8600
|
-
/**
|
|
8601
|
-
* Referenz auf IConfirm Instanz.
|
|
8602
|
-
*/
|
|
8603
|
-
this.component = null;
|
|
8604
|
-
this.localisationService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
|
|
8605
|
-
this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
|
|
8606
|
-
}
|
|
8607
|
-
/**
|
|
8608
|
-
* Erzeugt eine Instanz für den Dialog
|
|
8609
|
-
*/
|
|
8610
|
-
CreateInstance() {
|
|
8611
|
-
// ComponentFactory aus Service laden
|
|
8612
|
-
const factory = this.GetComponentFactory();
|
|
8613
|
-
// Instanz der Komponente erzeugen und an die View anhängen
|
|
8614
|
-
this.component = factory.create(this.injector);
|
|
8615
|
-
this.appRef.attachView(this.component.hostView);
|
|
8616
|
-
}
|
|
8617
|
-
/**
|
|
8618
|
-
* Entfernt die Instanz des Dialogs
|
|
8619
|
-
*/
|
|
8620
|
-
DestroyInstance() {
|
|
8621
|
-
// Dialog aus View entfernen und Komponenten löschen
|
|
8622
|
-
this.appRef.detachView(this.component.hostView);
|
|
8623
|
-
this.component.destroy();
|
|
8624
|
-
}
|
|
8625
|
-
/**
|
|
8626
|
-
* Zeigt den Dialog an
|
|
8627
|
-
*/
|
|
8628
|
-
OpenDialog() {
|
|
8629
|
-
const dialog = this.component.instance;
|
|
8630
|
-
dialog.show();
|
|
8631
|
-
return dialog;
|
|
8632
|
-
}
|
|
8633
|
-
/**
|
|
8634
|
-
* Blendet den Dialog aus
|
|
8635
|
-
*/
|
|
8636
|
-
CloseDialog() {
|
|
8637
|
-
const dialog = this.component.instance;
|
|
8638
|
-
dialog.hide();
|
|
8663
|
+
}
|
|
8664
|
+
});
|
|
8665
|
+
}
|
|
8666
|
+
return found;
|
|
8639
8667
|
}
|
|
8640
8668
|
/**
|
|
8641
|
-
*
|
|
8669
|
+
* Methode validiert, ob der Wert den gegebenen Kriterien entspricht
|
|
8670
|
+
* @param c Controls das validiert wird
|
|
8642
8671
|
*/
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
|
|
8648
|
-
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
8653
|
-
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8657
|
-
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
// Confirm Emitter für Result zurückgeben
|
|
8663
|
-
return confirmTask;
|
|
8672
|
+
validateData(c) {
|
|
8673
|
+
let error = null;
|
|
8674
|
+
if (error === null &&
|
|
8675
|
+
c.value !== null &&
|
|
8676
|
+
c.value !== undefined &&
|
|
8677
|
+
c.value !== '' &&
|
|
8678
|
+
this.isrequired !== undefined &&
|
|
8679
|
+
this.isrequired === true) {
|
|
8680
|
+
error = Validation.multilanguageRequired(this.languages, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
8681
|
+
}
|
|
8682
|
+
if (error === null &&
|
|
8683
|
+
c.value !== null &&
|
|
8684
|
+
c.value !== undefined &&
|
|
8685
|
+
c.value !== '' &&
|
|
8686
|
+
this.requiredany !== undefined &&
|
|
8687
|
+
this.requiredany === true) {
|
|
8688
|
+
error = Validation.multilanguageRequiredAny(this.languages, this.validationmessagerequiredany, this.validationmessagesummaryrequiredany)(c);
|
|
8689
|
+
}
|
|
8690
|
+
return error;
|
|
8664
8691
|
}
|
|
8665
|
-
}
|
|
8692
|
+
}
|
|
8693
|
+
SacMultilanguageInputAreaCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, deps: [{ token: SacFormLayoutCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
8694
|
+
SacMultilanguageInputAreaCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacMultilanguageInputAreaCommon, inputs: { maxlength: "maxlength", rows: "rows", controlwidth: "controlwidth", requiredany: "requiredany", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessagerequiredany: "validationmessagerequiredany", validationmessagesummaryrequiredany: "validationmessagesummaryrequiredany" }, usesInheritance: true, ngImport: i0 });
|
|
8695
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, decorators: [{
|
|
8696
|
+
type: Directive
|
|
8697
|
+
}], ctorParameters: function () {
|
|
8698
|
+
return [{ type: SacFormLayoutCommon, decorators: [{
|
|
8699
|
+
type: Host
|
|
8700
|
+
}] }, { type: i0.Injector }];
|
|
8701
|
+
}, propDecorators: { maxlength: [{
|
|
8702
|
+
type: Input
|
|
8703
|
+
}], rows: [{
|
|
8704
|
+
type: Input
|
|
8705
|
+
}], controlwidth: [{
|
|
8706
|
+
type: Input
|
|
8707
|
+
}], requiredany: [{
|
|
8708
|
+
type: Input
|
|
8709
|
+
}], validationmessagerequired: [{
|
|
8710
|
+
type: Input
|
|
8711
|
+
}], validationmessagesummaryrequired: [{
|
|
8712
|
+
type: Input
|
|
8713
|
+
}], validationmessagerequiredany: [{
|
|
8714
|
+
type: Input
|
|
8715
|
+
}], validationmessagesummaryrequiredany: [{
|
|
8716
|
+
type: Input
|
|
8717
|
+
}] } });
|
|
8666
8718
|
|
|
8667
8719
|
/**
|
|
8668
8720
|
* Basis Klasse für Confirm Dialog
|
|
@@ -8765,6 +8817,86 @@ class SacConfirmButton {
|
|
|
8765
8817
|
}
|
|
8766
8818
|
}
|
|
8767
8819
|
|
|
8820
|
+
/**
|
|
8821
|
+
* Basis Klasse für Confirm Service implementation
|
|
8822
|
+
*/
|
|
8823
|
+
class ServiceConfirmCommon {
|
|
8824
|
+
/**
|
|
8825
|
+
* Konstruktor
|
|
8826
|
+
* @param appRef ApplicationRef zum Anhängen des Dialogs an den Content
|
|
8827
|
+
* @param injector Injector um die Instanz zu erzeuge
|
|
8828
|
+
*/
|
|
8829
|
+
constructor(appRef, injector) {
|
|
8830
|
+
this.appRef = appRef;
|
|
8831
|
+
this.injector = injector;
|
|
8832
|
+
//#region Properties
|
|
8833
|
+
/**
|
|
8834
|
+
* Referenz auf IConfirm Instanz.
|
|
8835
|
+
*/
|
|
8836
|
+
this.component = null;
|
|
8837
|
+
this.localisationService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
|
|
8838
|
+
this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
|
|
8839
|
+
}
|
|
8840
|
+
/**
|
|
8841
|
+
* Erzeugt eine Instanz für den Dialog
|
|
8842
|
+
*/
|
|
8843
|
+
CreateInstance() {
|
|
8844
|
+
// ComponentFactory aus Service laden
|
|
8845
|
+
const factory = this.GetComponentFactory();
|
|
8846
|
+
// Instanz der Komponente erzeugen und an die View anhängen
|
|
8847
|
+
this.component = factory.create(this.injector);
|
|
8848
|
+
this.appRef.attachView(this.component.hostView);
|
|
8849
|
+
}
|
|
8850
|
+
/**
|
|
8851
|
+
* Entfernt die Instanz des Dialogs
|
|
8852
|
+
*/
|
|
8853
|
+
DestroyInstance() {
|
|
8854
|
+
// Dialog aus View entfernen und Komponenten löschen
|
|
8855
|
+
this.appRef.detachView(this.component.hostView);
|
|
8856
|
+
this.component.destroy();
|
|
8857
|
+
}
|
|
8858
|
+
/**
|
|
8859
|
+
* Zeigt den Dialog an
|
|
8860
|
+
*/
|
|
8861
|
+
OpenDialog() {
|
|
8862
|
+
const dialog = this.component.instance;
|
|
8863
|
+
dialog.show();
|
|
8864
|
+
return dialog;
|
|
8865
|
+
}
|
|
8866
|
+
/**
|
|
8867
|
+
* Blendet den Dialog aus
|
|
8868
|
+
*/
|
|
8869
|
+
CloseDialog() {
|
|
8870
|
+
const dialog = this.component.instance;
|
|
8871
|
+
dialog.hide();
|
|
8872
|
+
}
|
|
8873
|
+
/**
|
|
8874
|
+
* Interne Methode für die Implementation des Confirm Dialogs. Steuert die Feedbacks, die Erzeugung und Anzeige des Dialogs
|
|
8875
|
+
*/
|
|
8876
|
+
Confirm() {
|
|
8877
|
+
// Dialog erzeugen
|
|
8878
|
+
this.CreateInstance();
|
|
8879
|
+
const instance = this.OpenDialog();
|
|
8880
|
+
// Konfiguration der Dialog Instanz durch Service Implementation zulassen
|
|
8881
|
+
this.ConfigureDialog(instance);
|
|
8882
|
+
// Event Emitter für Confirmation im Service. Event Emitter Asynchron initialiseren
|
|
8883
|
+
const confirmTask = new EventEmitter(true);
|
|
8884
|
+
// Callback wenn Dialog bestätigt wurde
|
|
8885
|
+
instance.onconfirm.subscribe((value) => {
|
|
8886
|
+
// Dialog entfernen
|
|
8887
|
+
this.CloseDialog();
|
|
8888
|
+
// Emit auf Service auslösen
|
|
8889
|
+
confirmTask.emit(value);
|
|
8890
|
+
}, (err) => {
|
|
8891
|
+
// Do nothing on Error
|
|
8892
|
+
}, () => {
|
|
8893
|
+
this.DestroyInstance();
|
|
8894
|
+
});
|
|
8895
|
+
// Confirm Emitter für Result zurückgeben
|
|
8896
|
+
return confirmTask;
|
|
8897
|
+
}
|
|
8898
|
+
}
|
|
8899
|
+
|
|
8768
8900
|
/**
|
|
8769
8901
|
* Position Utility Klasse
|
|
8770
8902
|
* @see https://github.com/ng-bootstrap/ng-bootstrap/blob/master/src/util/positioning.ts
|
|
@@ -9070,12 +9202,14 @@ function positionElements(hostElement, targetElement, placement, appendToBody, b
|
|
|
9070
9202
|
* Base Context Menu Anchor Component für Open/Close Event
|
|
9071
9203
|
*/
|
|
9072
9204
|
class SacContextmenuAnchorCommon {
|
|
9205
|
+
// #endregion Properties
|
|
9206
|
+
// #region Constructors
|
|
9073
9207
|
/**
|
|
9074
9208
|
* Konstruktor
|
|
9075
|
-
* @param
|
|
9209
|
+
* @param elementRef Refernz auf das HTML welcher als Anker für das Context Menü verwendet wird
|
|
9076
9210
|
*/
|
|
9077
|
-
constructor(
|
|
9078
|
-
this.nativeElement =
|
|
9211
|
+
constructor(elementRef) {
|
|
9212
|
+
this.nativeElement = elementRef.nativeElement;
|
|
9079
9213
|
}
|
|
9080
9214
|
}
|
|
9081
9215
|
SacContextmenuAnchorCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacContextmenuAnchorCommon, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -9088,12 +9222,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
9088
9222
|
* Common Marker Klasse für den Menü Container
|
|
9089
9223
|
*/
|
|
9090
9224
|
class SacContextMenuContrainerCommon {
|
|
9225
|
+
// #endregion Properties
|
|
9226
|
+
// #region Constructors
|
|
9091
9227
|
/**
|
|
9092
9228
|
* Konstruktor
|
|
9093
|
-
* @param
|
|
9229
|
+
* @param elementRef Referenz auf das HTML Element mit der Marker Direktive
|
|
9094
9230
|
*/
|
|
9095
|
-
constructor(
|
|
9096
|
-
this.nativeElement =
|
|
9231
|
+
constructor(elementRef) {
|
|
9232
|
+
this.nativeElement = elementRef.nativeElement;
|
|
9097
9233
|
}
|
|
9098
9234
|
}
|
|
9099
9235
|
SacContextMenuContrainerCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacContextMenuContrainerCommon, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -9106,35 +9242,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
9106
9242
|
* Base Context Menü Element. Die Logik wurde aus NG-BOOTSTRAP übernommen.
|
|
9107
9243
|
*/
|
|
9108
9244
|
class SacContextmenuCommon {
|
|
9245
|
+
// #endregion Properties
|
|
9246
|
+
// #region Constructors
|
|
9109
9247
|
/**
|
|
9110
9248
|
* Konstruktor
|
|
9111
|
-
* @param
|
|
9112
|
-
* @param
|
|
9113
|
-
* @param
|
|
9114
|
-
* @param
|
|
9115
|
-
* @param
|
|
9116
|
-
*/
|
|
9117
|
-
constructor(
|
|
9118
|
-
this.
|
|
9119
|
-
this.
|
|
9120
|
-
this.
|
|
9121
|
-
this.
|
|
9249
|
+
* @param document HTML Document Element
|
|
9250
|
+
* @param ngZone Angular Zone Service
|
|
9251
|
+
* @param elementRef HTML Element des aktuellen Controls
|
|
9252
|
+
* @param renderer Angular Rendering Service
|
|
9253
|
+
* @param injector injector to resolve the icon service
|
|
9254
|
+
*/
|
|
9255
|
+
constructor(document, ngZone, elementRef, renderer, injector) {
|
|
9256
|
+
this.document = document;
|
|
9257
|
+
this.ngZone = ngZone;
|
|
9258
|
+
this.elementRef = elementRef;
|
|
9259
|
+
this.renderer = renderer;
|
|
9122
9260
|
/**
|
|
9123
9261
|
* Body HTML Element
|
|
9124
9262
|
*/
|
|
9125
9263
|
this.bodyContainer = null;
|
|
9126
9264
|
/**
|
|
9127
|
-
*
|
|
9265
|
+
* Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported
|
|
9128
9266
|
*/
|
|
9129
|
-
this.
|
|
9267
|
+
this.container = 'body';
|
|
9130
9268
|
/**
|
|
9131
9269
|
* Extra CSS Klassen für das Control
|
|
9132
9270
|
*/
|
|
9133
9271
|
this.cssclass = '';
|
|
9134
9272
|
/**
|
|
9135
|
-
*
|
|
9273
|
+
* Definiert ob das Dropdown offen ist.
|
|
9136
9274
|
*/
|
|
9137
|
-
this.
|
|
9275
|
+
this.isopen = false;
|
|
9138
9276
|
/**
|
|
9139
9277
|
* The preferred placement of the dropdown.
|
|
9140
9278
|
*
|
|
@@ -9154,11 +9292,21 @@ class SacContextmenuCommon {
|
|
|
9154
9292
|
'top-left',
|
|
9155
9293
|
'top-right',
|
|
9156
9294
|
];
|
|
9157
|
-
this.zoneSubscription = this.
|
|
9295
|
+
this.zoneSubscription = this.ngZone.onStable.subscribe(() => {
|
|
9158
9296
|
this._positionMenu();
|
|
9159
9297
|
});
|
|
9160
|
-
this.iconService =
|
|
9298
|
+
this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
|
|
9299
|
+
}
|
|
9300
|
+
// #endregion Constructors
|
|
9301
|
+
// #region Public Getters And Setters
|
|
9302
|
+
/**
|
|
9303
|
+
* icon for default context menü button
|
|
9304
|
+
*/
|
|
9305
|
+
get IconContextMenu() {
|
|
9306
|
+
return this.iconService.ContextMenuOpenIcon;
|
|
9161
9307
|
}
|
|
9308
|
+
// #endregion Public Getters And Setters
|
|
9309
|
+
// #region Public Methods
|
|
9162
9310
|
/**
|
|
9163
9311
|
* HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
|
|
9164
9312
|
*/
|
|
@@ -9170,12 +9318,26 @@ class SacContextmenuCommon {
|
|
|
9170
9318
|
this.close();
|
|
9171
9319
|
}
|
|
9172
9320
|
}
|
|
9321
|
+
/**
|
|
9322
|
+
* Schliesst das Dropdown
|
|
9323
|
+
*/
|
|
9324
|
+
close() {
|
|
9325
|
+
this._resetContainer();
|
|
9326
|
+
this.isopen = false;
|
|
9327
|
+
}
|
|
9173
9328
|
/**
|
|
9174
9329
|
* Event wenn Component entfernt wird.
|
|
9175
9330
|
*/
|
|
9176
9331
|
ngOnDestroy() {
|
|
9177
9332
|
this.zoneSubscription.unsubscribe();
|
|
9178
9333
|
}
|
|
9334
|
+
/**
|
|
9335
|
+
* Öffnet das Dropdown / Zeigt das Menü an.
|
|
9336
|
+
*/
|
|
9337
|
+
open() {
|
|
9338
|
+
this._applyContainer(this.container);
|
|
9339
|
+
this.isopen = true;
|
|
9340
|
+
}
|
|
9179
9341
|
/**
|
|
9180
9342
|
* Toggle von Dropdown
|
|
9181
9343
|
*/
|
|
@@ -9187,26 +9349,8 @@ class SacContextmenuCommon {
|
|
|
9187
9349
|
this.open();
|
|
9188
9350
|
}
|
|
9189
9351
|
}
|
|
9190
|
-
|
|
9191
|
-
|
|
9192
|
-
*/
|
|
9193
|
-
open() {
|
|
9194
|
-
this._applyContainer(this.container);
|
|
9195
|
-
this.isopen = true;
|
|
9196
|
-
}
|
|
9197
|
-
/**
|
|
9198
|
-
* Schliesst das Dropdown
|
|
9199
|
-
*/
|
|
9200
|
-
close() {
|
|
9201
|
-
this._resetContainer();
|
|
9202
|
-
this.isopen = false;
|
|
9203
|
-
}
|
|
9204
|
-
/**
|
|
9205
|
-
* icon for default context menü button
|
|
9206
|
-
*/
|
|
9207
|
-
get IconContextMenu() {
|
|
9208
|
-
return this.iconService.ContextMenuOpenIcon;
|
|
9209
|
-
}
|
|
9352
|
+
// #endregion Public Methods
|
|
9353
|
+
// #region Protected Methods
|
|
9210
9354
|
/**
|
|
9211
9355
|
* Setzt die Position des Menüs im Markup
|
|
9212
9356
|
*/
|
|
@@ -9216,23 +9360,8 @@ class SacContextmenuCommon {
|
|
|
9216
9360
|
positionElements(anchor.nativeElement, this.bodyContainer || this._menu.nativeElement, this.placement, this.container === 'body');
|
|
9217
9361
|
}
|
|
9218
9362
|
}
|
|
9219
|
-
|
|
9220
|
-
|
|
9221
|
-
*/
|
|
9222
|
-
_resetContainer() {
|
|
9223
|
-
const renderer = this._renderer;
|
|
9224
|
-
if (this._menu) {
|
|
9225
|
-
const dropdownElement = this._elementRef.nativeElement;
|
|
9226
|
-
const dropdownMenuElement = this._menu.nativeElement;
|
|
9227
|
-
renderer.appendChild(dropdownElement, dropdownMenuElement);
|
|
9228
|
-
renderer.removeStyle(dropdownMenuElement, 'position');
|
|
9229
|
-
renderer.removeStyle(dropdownMenuElement, 'transform');
|
|
9230
|
-
}
|
|
9231
|
-
if (this.bodyContainer) {
|
|
9232
|
-
renderer.removeChild(this._document.body, this.bodyContainer);
|
|
9233
|
-
this.bodyContainer = null;
|
|
9234
|
-
}
|
|
9235
|
-
}
|
|
9363
|
+
// #endregion Protected Methods
|
|
9364
|
+
// #region Private Methods
|
|
9236
9365
|
/**
|
|
9237
9366
|
* Setzt die Position des Menüs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite
|
|
9238
9367
|
* damit das Menü innerhalb eines Dialogs sauber funktionioniert.
|
|
@@ -9242,7 +9371,7 @@ class SacContextmenuCommon {
|
|
|
9242
9371
|
// Reset Classes on Container
|
|
9243
9372
|
this._resetContainer();
|
|
9244
9373
|
if (container === 'body') {
|
|
9245
|
-
const renderer = this.
|
|
9374
|
+
const renderer = this.renderer;
|
|
9246
9375
|
const dropdownMenuElement = this._menu.nativeElement;
|
|
9247
9376
|
const bodyContainer = (this.bodyContainer =
|
|
9248
9377
|
this.bodyContainer || renderer.createElement('div'));
|
|
@@ -9251,12 +9380,29 @@ class SacContextmenuCommon {
|
|
|
9251
9380
|
renderer.setStyle(dropdownMenuElement, 'position', 'static');
|
|
9252
9381
|
renderer.setStyle(bodyContainer, 'z-index', '1050');
|
|
9253
9382
|
renderer.appendChild(bodyContainer, dropdownMenuElement);
|
|
9254
|
-
renderer.appendChild(this.
|
|
9383
|
+
renderer.appendChild(this.document.body, bodyContainer);
|
|
9384
|
+
}
|
|
9385
|
+
}
|
|
9386
|
+
/**
|
|
9387
|
+
* Setzt die CSS Klassen auf dem Menü Container auf den Standard zurück
|
|
9388
|
+
*/
|
|
9389
|
+
_resetContainer() {
|
|
9390
|
+
const renderer = this.renderer;
|
|
9391
|
+
if (this._menu) {
|
|
9392
|
+
const dropdownElement = this.elementRef.nativeElement;
|
|
9393
|
+
const dropdownMenuElement = this._menu.nativeElement;
|
|
9394
|
+
renderer.appendChild(dropdownElement, dropdownMenuElement);
|
|
9395
|
+
renderer.removeStyle(dropdownMenuElement, 'position');
|
|
9396
|
+
renderer.removeStyle(dropdownMenuElement, 'transform');
|
|
9397
|
+
}
|
|
9398
|
+
if (this.bodyContainer) {
|
|
9399
|
+
renderer.removeChild(this.document.body, this.bodyContainer);
|
|
9400
|
+
this.bodyContainer = null;
|
|
9255
9401
|
}
|
|
9256
9402
|
}
|
|
9257
9403
|
}
|
|
9258
9404
|
SacContextmenuCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacContextmenuCommon, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9259
|
-
SacContextmenuCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacContextmenuCommon, inputs: {
|
|
9405
|
+
SacContextmenuCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacContextmenuCommon, inputs: { buttontemplate: "buttontemplate", container: "container", cssclass: "cssclass", isopen: "isopen", placement: "placement" }, host: { listeners: { "document:click": "onClick($event.target)" } }, queries: [{ propertyName: "_anchorTemplate", first: true, predicate: SacContextmenuAnchorCommon, descendants: true }], viewQueries: [{ propertyName: "_anchor", first: true, predicate: SacContextmenuAnchorCommon, descendants: true }, { propertyName: "_menu", first: true, predicate: SacContextMenuContrainerCommon, descendants: true }], ngImport: i0 });
|
|
9260
9406
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacContextmenuCommon, decorators: [{
|
|
9261
9407
|
type: Directive
|
|
9262
9408
|
}], ctorParameters: function () {
|
|
@@ -9264,23 +9410,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
9264
9410
|
type: Inject,
|
|
9265
9411
|
args: [DOCUMENT]
|
|
9266
9412
|
}] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }];
|
|
9267
|
-
}, propDecorators: {
|
|
9268
|
-
type: ViewChild,
|
|
9269
|
-
args: [SacContextmenuAnchorCommon, { static: false }]
|
|
9270
|
-
}], _anchorTemplate: [{
|
|
9413
|
+
}, propDecorators: { _anchorTemplate: [{
|
|
9271
9414
|
type: ContentChild,
|
|
9272
9415
|
args: [SacContextmenuAnchorCommon, { static: false }]
|
|
9416
|
+
}], _anchor: [{
|
|
9417
|
+
type: ViewChild,
|
|
9418
|
+
args: [SacContextmenuAnchorCommon, { static: false }]
|
|
9273
9419
|
}], _menu: [{
|
|
9274
9420
|
type: ViewChild,
|
|
9275
9421
|
args: [SacContextMenuContrainerCommon, { static: false }]
|
|
9276
|
-
}], isopen: [{
|
|
9277
|
-
type: Input
|
|
9278
|
-
}], cssclass: [{
|
|
9279
|
-
type: Input
|
|
9280
9422
|
}], buttontemplate: [{
|
|
9281
9423
|
type: Input
|
|
9282
9424
|
}], container: [{
|
|
9283
9425
|
type: Input
|
|
9426
|
+
}], cssclass: [{
|
|
9427
|
+
type: Input
|
|
9428
|
+
}], isopen: [{
|
|
9429
|
+
type: Input
|
|
9284
9430
|
}], placement: [{
|
|
9285
9431
|
type: Input
|
|
9286
9432
|
}], onClick: [{
|
|
@@ -9979,5 +10125,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
9979
10125
|
* Generated bundle index. Do not edit.
|
|
9980
10126
|
*/
|
|
9981
10127
|
|
|
9982
|
-
export { GridResponse, IconType, Interpolation, LanguageModel, PagerData, PagerRequest, Positioning, SACCommonListboxOptionModule, SACFILEBROWSER_SERVICE, SACICON_SERVICE, SACLANGUAGE_SERVICE, SACLOCALISATION_SERVICE, SacAbstractFileBrowserService, SacAbstractIconService, SacAbstractLanguageService, SacAbstractLocalisationService, SacButtonCommon, SacCheckboxCommon, SacConfirmButton, SacConfirmCommon, SacContextMenuContrainerCommon, SacContextmenuAnchorCommon, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacDateCommon, SacDateSelectorCommon, SacDateTimeCommon, SacDialogCommon, SacDropdownCommon, SacDropdownOptionCommon, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacFileBrowserCommon, SacFormCommon, SacGridButtonCommon, SacGridColumnActionCommon, SacGridColumnBaseCommon, SacGridColumnCommon, SacGridCommon, SacGridImageCommon, SacInputAreaCommon, SacInputCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacListboxCommon, SacListboxOptionCommon, SacMultilanguageInputAreaCommon, SacMultilanguageInputCommon, SacPagingCommon, SacRadiobuttonCommon, SacRadiobuttonsCommon, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabCommon, SacTabItemCommon, SacTimeCommon, SacTinyMceCommon, SacTooltipCommon, SacTreeItemActionCommon, SacTreeViewChildCommon, SacTreeViewCommon, SacUploadFile, SacUploadMultipleCommon, SacUploadSingleCommon, SacValidationSummaryCommon, SacWizardCommon, SacWizardItemCommon, ServiceConfirmCommon, SortDescriptor, SortOrder, TooltipPosition, Validation, ValidationErrorItem, convertToBoolean, convertToNumber, isDefined, mapToObject, positionElements, positionService };
|
|
10128
|
+
export { GridResponse, IconType, Interpolation, LanguageModel, PagerData, PagerRequest, Positioning, SACCommonListboxOptionModule, SACFILEBROWSER_SERVICE, SACICON_SERVICE, SACLANGUAGE_SERVICE, SACLOCALISATION_SERVICE, SacAbstractFileBrowserService, SacAbstractIconService, SacAbstractLanguageService, SacAbstractLocalisationService, SacButtonCommon, SacCheckboxCommon, SacConfirmButton, SacConfirmCommon, SacContextMenuContrainerCommon, SacContextmenuAnchorCommon, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacDateCommon, SacDateSelectorCommon, SacDateTimeCommon, SacDialogCommon, SacDropdownCommon, SacDropdownOptionCommon, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacFileBrowserCommon, SacFormCommon, SacFormLayoutCommon, SacGridButtonCommon, SacGridColumnActionCommon, SacGridColumnBaseCommon, SacGridColumnCommon, SacGridCommon, SacGridImageCommon, SacInputAreaCommon, SacInputCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacListboxCommon, SacListboxOptionCommon, SacMultilanguageInputAreaCommon, SacMultilanguageInputCommon, SacPagingCommon, SacRadiobuttonCommon, SacRadiobuttonsCommon, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabCommon, SacTabItemCommon, SacTimeCommon, SacTinyMceCommon, SacTooltipCommon, SacTreeItemActionCommon, SacTreeViewChildCommon, SacTreeViewCommon, SacUploadFile, SacUploadMultipleCommon, SacUploadSingleCommon, SacValidationSummaryCommon, SacWizardCommon, SacWizardItemCommon, ServiceConfirmCommon, SortDescriptor, SortOrder, TooltipPosition, Validation, ValidationErrorItem, convertToBoolean, convertToNumber, isDefined, mapToObject, positionElements, positionService };
|
|
9983
10129
|
//# sourceMappingURL=simpleangularcontrols-sac-common.mjs.map
|