@simpleangularcontrols/sac-common 16.0.0-rc.2 → 16.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/common/basedatetimecontrol.d.ts +33 -33
  2. package/common/basedatetimecontrol.d.ts.map +1 -1
  3. package/common/baseinputcontrol.d.ts +9 -9
  4. package/common/baseinputcontrol.d.ts.map +1 -1
  5. package/common/basemodelcontrol.d.ts +117 -89
  6. package/common/basemodelcontrol.d.ts.map +1 -1
  7. package/common/baseuploadcontrol.d.ts +140 -140
  8. package/common/baseuploadcontrol.d.ts.map +1 -1
  9. package/controls/checkbox/checkbox.d.ts +7 -3
  10. package/controls/checkbox/checkbox.d.ts.map +1 -1
  11. package/controls/checkbox/radiobuttons.d.ts +5 -4
  12. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  13. package/controls/contextmenu/contextmenu.d.ts +42 -42
  14. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  15. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  16. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  17. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  18. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  19. package/controls/datetime/date.d.ts +7 -7
  20. package/controls/datetime/date.d.ts.map +1 -1
  21. package/controls/datetime/datetime.d.ts +7 -7
  22. package/controls/datetime/datetime.d.ts.map +1 -1
  23. package/controls/datetime/time.d.ts +7 -7
  24. package/controls/datetime/time.d.ts.map +1 -1
  25. package/controls/form/form.d.ts +7 -43
  26. package/controls/form/form.d.ts.map +1 -1
  27. package/controls/input/inputdecimal.d.ts +21 -21
  28. package/controls/input/inputdecimal.d.ts.map +1 -1
  29. package/controls/layout/formlayout.d.ts +45 -0
  30. package/controls/layout/formlayout.d.ts.map +1 -0
  31. package/controls/list/dropdown.d.ts +45 -45
  32. package/controls/list/dropdown.d.ts.map +1 -1
  33. package/controls/multilanguage/multilanguageinput.d.ts +5 -4
  34. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  35. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -4
  36. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  37. package/controls/tinymce/tinymce.d.ts +63 -63
  38. package/controls/tinymce/tinymce.d.ts.map +1 -1
  39. package/esm2022/common/basedatetimecontrol.mjs +75 -81
  40. package/esm2022/common/baseinputcontrol.mjs +20 -20
  41. package/esm2022/common/basemodelcontrol.mjs +280 -201
  42. package/esm2022/common/baseuploadcontrol.mjs +225 -224
  43. package/esm2022/controls/checkbox/checkbox.mjs +11 -5
  44. package/esm2022/controls/checkbox/radiobuttons.mjs +13 -12
  45. package/esm2022/controls/contextmenu/contextmenu.mjs +85 -75
  46. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +6 -4
  47. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +6 -4
  48. package/esm2022/controls/datetime/date.mjs +12 -12
  49. package/esm2022/controls/datetime/datetime.mjs +15 -15
  50. package/esm2022/controls/datetime/time.mjs +15 -15
  51. package/esm2022/controls/form/form.mjs +26 -80
  52. package/esm2022/controls/input/inputdecimal.mjs +58 -53
  53. package/esm2022/controls/layout/formlayout.mjs +73 -0
  54. package/esm2022/controls/list/dropdown.mjs +110 -91
  55. package/esm2022/controls/multilanguage/multilanguageinput.mjs +10 -9
  56. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +10 -9
  57. package/esm2022/controls/tinymce/tinymce.mjs +102 -95
  58. package/esm2022/interfaces/ISacLabelSizes.mjs +2 -0
  59. package/esm2022/public_api.mjs +20 -18
  60. package/fesm2022/simpleangularcontrols-sac-common.mjs +1958 -1813
  61. package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
  62. package/interfaces/ISacLabelSizes.d.ts +27 -0
  63. package/interfaces/ISacLabelSizes.d.ts.map +1 -0
  64. package/package.json +1 -1
  65. package/public_api.d.ts +19 -17
  66. package/public_api.d.ts.map +1 -1
  67. package/simpleangularcontrols-sac-common-16.0.0-rc.3.tgz +0 -0
  68. package/simpleangularcontrols-sac-common-16.0.0-rc.2.tgz +0 -0
@@ -8,56 +8,71 @@ import * as i0 from "@angular/core";
8
8
  class SacInputDecimalCommon extends SacInputBase {
9
9
  constructor() {
10
10
  super(...arguments);
11
+ // #region Properties
11
12
  /**
12
13
  * Definiert das Negative Werte erlaubt sind
13
14
  */
14
15
  this.allownegativ = false;
15
- /**
16
- * Definiert den minimalen Wert
17
- */
18
- this.minvalue = undefined;
19
16
  /**
20
17
  * Definiert den maximalen Wert
21
18
  */
22
19
  this.maxvalue = undefined;
23
20
  /**
24
- * Resource Key für Validation Message Required bei Control
21
+ * Definiert den minimalen Wert
25
22
  */
26
- this.validationmessagerequired = 'VALIDATION_ERROR_REQUIRED';
23
+ this.minvalue = undefined;
27
24
  /**
28
- * Resource Key für Validation Message Required in Validation Summary
25
+ * Resource Key für Validation Message MaxValue bei Control
29
26
  */
30
- this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
27
+ this.validationmessagemaxvalue = 'VALIDATION_ERROR_MAXVALUE';
31
28
  /**
32
29
  * Resource Key für Validation Message MinValue bei Control
33
30
  */
34
31
  this.validationmessageminvalue = 'VALIDATION_ERROR_MINVALUE';
35
32
  /**
36
- * Resource Key für Validation Message MinValue in Validation Summary
37
- */
38
- this.validationmessagesummaryminvalue = 'VALIDATION_ERROR_SUMMARY_MINVALUE';
39
- /**
40
- * Resource Key für Validation Message MaxValue bei Control
33
+ * Resource Key für Validation Message Required bei Control
41
34
  */
42
- this.validationmessagemaxvalue = 'VALIDATION_ERROR_MAXVALUE';
35
+ this.validationmessagerequired = 'VALIDATION_ERROR_REQUIRED';
43
36
  /**
44
37
  * Resource Key für Validation Message MaxValue in Validation Summary
45
38
  */
46
39
  this.validationmessagesummarymaxvalue = 'VALIDATION_ERROR_SUMMARY_MAXVALUE';
40
+ /**
41
+ * Resource Key für Validation Message MinValue in Validation Summary
42
+ */
43
+ this.validationmessagesummaryminvalue = 'VALIDATION_ERROR_SUMMARY_MINVALUE';
44
+ /**
45
+ * Resource Key für Validation Message Required in Validation Summary
46
+ */
47
+ this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
47
48
  }
49
+ // #endregion Properties
50
+ // #region Public Methods
48
51
  /**
49
- * Methode die erzeugt den Control in Abhängigkeit davon, ob negative Were erlaubt sing oder nicht
52
+ * Methode validiert ob der Wert entspricht den gegebenen Kriterien
50
53
  */
51
- OnClassInit() {
52
- super.OnClassInit();
54
+ validateData(c) {
53
55
  /**
54
- * Definiert die Werte die erlaubt sind
56
+ * Error Meldung, die angezeigt wird, wenn die Kriterien nicht erfüllt sind
55
57
  */
56
- this.allowedchars = '0123456789' + this.GetDecimalSymbol();
57
- if (this.allownegativ) {
58
- this.allowedchars = this.allowedchars + '-';
58
+ let error = null;
59
+ if (this.isrequired) {
60
+ error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
61
+ }
62
+ if (error === null &&
63
+ this.minvalue !== undefined &&
64
+ this.minvalue !== null) {
65
+ error = Validation.minValue(this.minvalue, this.validationmessageminvalue, this.validationmessagesummaryminvalue)(c);
66
+ }
67
+ if (error === null &&
68
+ this.maxvalue !== undefined &&
69
+ this.maxvalue !== null) {
70
+ error = Validation.maxValue(this.maxvalue, this.validationmessagemaxvalue, this.validationmessagesummarymaxvalue)(c);
59
71
  }
72
+ return error;
60
73
  }
74
+ // #endregion Public Methods
75
+ // #region Protected Methods
61
76
  /**
62
77
  * Konvertiert den Wert des Inputs
63
78
  */
@@ -77,6 +92,19 @@ class SacInputDecimalCommon extends SacInputBase {
77
92
  }
78
93
  }
79
94
  }
95
+ /**
96
+ * Methode die erzeugt den Control in Abhängigkeit davon, ob negative Were erlaubt sing oder nicht
97
+ */
98
+ OnClassInit() {
99
+ super.OnClassInit();
100
+ /**
101
+ * Definiert die Werte die erlaubt sind
102
+ */
103
+ this.allowedchars = '0123456789' + this.GetDecimalSymbol();
104
+ if (this.allownegativ) {
105
+ this.allowedchars = this.allowedchars + '-';
106
+ }
107
+ }
80
108
  /**
81
109
  * Methode validiert ob der Wert entspricht den gegebenen Kriterien wenn ein Key gedrückt wird
82
110
  */
@@ -100,52 +128,29 @@ class SacInputDecimalCommon extends SacInputBase {
100
128
  return true;
101
129
  }
102
130
  }
103
- /**
104
- * Methode validiert ob der Wert entspricht den gegebenen Kriterien
105
- */
106
- validateData(c) {
107
- /**
108
- * Error Meldung, die angezeigt wird, wenn die Kriterien nicht erfüllt sind
109
- */
110
- let error = null;
111
- if (this.isrequired) {
112
- error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
113
- }
114
- if (error === null &&
115
- this.minvalue !== undefined &&
116
- this.minvalue !== null) {
117
- error = Validation.minValue(this.minvalue, this.validationmessageminvalue, this.validationmessagesummaryminvalue)(c);
118
- }
119
- if (error === null &&
120
- this.maxvalue !== undefined &&
121
- this.maxvalue !== null) {
122
- error = Validation.maxValue(this.maxvalue, this.validationmessagemaxvalue, this.validationmessagesummarymaxvalue)(c);
123
- }
124
- return error;
125
- }
126
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputDecimalCommon, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
127
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacInputDecimalCommon, inputs: { allownegativ: "allownegativ", minvalue: "minvalue", maxvalue: "maxvalue", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessageminvalue: "validationmessageminvalue", validationmessagesummaryminvalue: "validationmessagesummaryminvalue", validationmessagemaxvalue: "validationmessagemaxvalue", validationmessagesummarymaxvalue: "validationmessagesummarymaxvalue" }, usesInheritance: true, ngImport: i0 }); }
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
128
133
  }
129
134
  export { SacInputDecimalCommon };
130
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputDecimalCommon, decorators: [{
131
136
  type: Directive
132
137
  }], propDecorators: { allownegativ: [{
133
138
  type: Input
134
- }], minvalue: [{
135
- type: Input
136
139
  }], maxvalue: [{
137
140
  type: Input
138
- }], validationmessagerequired: [{
141
+ }], minvalue: [{
139
142
  type: Input
140
- }], validationmessagesummaryrequired: [{
143
+ }], validationmessagemaxvalue: [{
141
144
  type: Input
142
145
  }], validationmessageminvalue: [{
143
146
  type: Input
144
- }], validationmessagesummaryminvalue: [{
145
- type: Input
146
- }], validationmessagemaxvalue: [{
147
+ }], validationmessagerequired: [{
147
148
  type: Input
148
149
  }], validationmessagesummarymaxvalue: [{
149
150
  type: Input
151
+ }], validationmessagesummaryminvalue: [{
152
+ type: Input
153
+ }], validationmessagesummaryrequired: [{
154
+ type: Input
150
155
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRkZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRkZWNpbWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTlDOztHQUVHO0FBQ0gsTUFDYSxxQkFBc0IsU0FBUSxZQUFvQjtJQUQvRDs7UUFFRTs7V0FFRztRQUNNLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQ3ZDOztXQUVHO1FBQ00sYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUN0Qzs7V0FFRztRQUNNLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFFdEM7O1dBRUc7UUFDTSw4QkFBeUIsR0FBVywyQkFBMkIsQ0FBQztRQUN6RTs7V0FFRztRQUNNLHFDQUFnQyxHQUN2QyxtQ0FBbUMsQ0FBQztRQUV0Qzs7V0FFRztRQUNNLDhCQUF5QixHQUFXLDJCQUEyQixDQUFDO1FBQ3pFOztXQUVHO1FBQ00scUNBQWdDLEdBQ3ZDLG1DQUFtQyxDQUFDO1FBRXRDOztXQUVHO1FBQ00sOEJBQXlCLEdBQVcsMkJBQTJCLENBQUM7UUFDekU7O1dBRUc7UUFDTSxxQ0FBZ0MsR0FDdkMsbUNBQW1DLENBQUM7S0E0R3ZDO0lBMUdDOztPQUVHO0lBQ08sV0FBVztRQUNuQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEI7O1dBRUc7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJ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LHlCQUF5QjtzQkFBakMsS0FBSztnQkFJRyxnQ0FBZ0M7c0JBQXhDLEtBQUs7Z0JBTUcseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUlHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFNRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBSUcsZ0NBQWdDO3NCQUF4QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0QmFzZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlaW5wdXRjb250cm9sJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNJbnB1dERlY2ltYWxcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjSW5wdXREZWNpbWFsQ29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPG51bWJlcj4ge1xyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkYXMgTmVnYXRpdmUgV2VydGUgZXJsYXVidCBzaW5kXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWxsb3duZWdhdGl2OiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGRlbiBtaW5pbWFsZW4gV2VydFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1pbnZhbHVlOiBudW1iZXIgPSB1bmRlZmluZWQ7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGRlbiBtYXhpbWFsZW4gV2VydFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heHZhbHVlOiBudW1iZXIgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQ6IHN0cmluZyA9ICdWQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVEJztcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1JFUVVJUkVEJztcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1pblZhbHVlIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VtaW52YWx1ZTogc3RyaW5nID0gJ1ZBTElEQVRJT05fRVJST1JfTUlOVkFMVUUnO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBNaW5WYWx1ZSBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKSB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltaW52YWx1ZTogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVkFMVUUnO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgTWF4VmFsdWUgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSB2YWxpZGF0aW9ubWVzc2FnZW1heHZhbHVlOiBzdHJpbmcgPSAnVkFMSURBVElPTl9FUlJPUl9NQVhWQUxVRSc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1heFZhbHVlIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1heHZhbHVlOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhWQUxVRSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIGVyemV1Z3QgZGVuIENvbnRyb2wgaW4gQWJow6RuZ2lna2VpdCBkYXZvbiwgb2IgbmVnYXRpdmUgV2VyZSBlcmxhdWJ0IHNpbmcgb2RlciBuaWNodFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBPbkNsYXNzSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLk9uQ2xhc3NJbml0KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmllcnQgZGllIFdlcnRlIGRpZSBlcmxhdWJ0IHNpbmRcclxuICAgICAqL1xyXG4gICAgdGhpcy5hbGxvd2VkY2hhcnMgPSAnMDEyMzQ1Njc4OScgKyB0aGlzLkdldERlY2ltYWxTeW1ib2woKTtcclxuXHJcbiAgICBpZiAodGhpcy5hbGxvd25lZ2F0aXYpIHtcclxuICAgICAgdGhpcy5hbGxvd2VkY2hhcnMgPSB0aGlzLmFsbG93ZWRjaGFycyArICctJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnZlcnRpZXJ0IGRlbiBXZXJ0IGRlcyBJbnB1dHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgQ29udmVydElucHV0VmFsdWUodmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBpZiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYWxsb3duZWdhdGl2ID09PSB0cnVlICYmIHZhbHVlID09PSAnLScpIHtcclxuICAgICAgICByZXR1cm4gJy0nO1xyXG4gICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnLicpIHtcclxuICAgICAgICByZXR1cm4gJzAuJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IG9iIGRlciBXZXJ0IGVudHNwcmljaHQgZGVuIGdlZ2ViZW5lbiBLcml0ZXJpZW4gd2VubiBlaW4gS2V5IGdlZHLDvGNrdCB3aXJkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIE9uS2V5UHJlc3NWYWxpZGF0aW9uKHBvc2l0aW9uOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgICh0aGlzLmFsbG93bmVnYXRpdiA9PT0gZmFsc2UgJiYgY2hhcmFjdGVyID09PSAnLScpIHx8XHJcbiAgICAgICh0aGlzLmFsbG93bmVnYXRpdiA9PT0gdHJ1ZSAmJiBwb3NpdGlvbiA+IDAgJiYgY2hhcmFjdGVyID09PSAnLScpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFZlcmhpbmRlcm4gdm9uIERvcHBlbHB1bmt0IEVpbmdhYmUgKDQ1Li41NDUpXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuX3ZhbHVlICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMuX3ZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIDwgcG9zaXRpb24gJiZcclxuICAgICAgY2hhcmFjdGVyID09PSAnLidcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBjaGFyYWN0ZXIgPT09IHRoaXMuR2V0RGVjaW1hbFN5bWJvbCgpICYmXHJcbiAgICAgIHRoaXMuX3ZhbHVlICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMuX3ZhbHVlLnRvU3RyaW5nKCkuaW5kZXhPZih0aGlzLkdldERlY2ltYWxTeW1ib2woKSkgPj0gMFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB2YWxpZGllcnQgb2IgZGVyIFdlcnQgZW50c3ByaWNodCBkZW4gZ2VnZWJlbmVuIEtyaXRlcmllblxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAvKipcclxuICAgICAqIEVycm9yIE1lbGR1bmcsIGRpZSBhbmdlemVpZ3Qgd2lyZCwgd2VubiBkaWUgS3JpdGVyaWVuIG5pY2h0IGVyZsO8bGx0IHNpbmRcclxuICAgICAqL1xyXG4gICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNyZXF1aXJlZCkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ucmVxdWlyZWQoXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGVycm9yID09PSBudWxsICYmXHJcbiAgICAgIHRoaXMubWludmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICB0aGlzLm1pbnZhbHVlICE9PSBudWxsXHJcbiAgICApIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1pblZhbHVlKFxyXG4gICAgICAgIHRoaXMubWludmFsdWUsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1pbnZhbHVlLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWludmFsdWVcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGVycm9yID09PSBudWxsICYmXHJcbiAgICAgIHRoaXMubWF4dmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICB0aGlzLm1heHZhbHVlICE9PSBudWxsXHJcbiAgICApIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1heFZhbHVlKFxyXG4gICAgICAgIHRoaXMubWF4dmFsdWUsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1heHZhbHVlLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWF4dmFsdWVcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG59XHJcbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRkZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRkZWNpbWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTlDOztHQUVHO0FBQ0gsTUFDYSxxQkFBc0IsU0FBUSxZQUFvQjtJQUQvRDs7UUFFRSxxQkFBcUI7UUFFckI7O1dBRUc7UUFDYSxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5Qzs7V0FFRztRQUNhLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFDN0M7O1dBRUc7UUFDYSxhQUFRLEdBQVcsU0FBUyxDQUFDO1FBQzdDOztXQUVHO1FBQ2EsOEJBQXlCLEdBQ3ZDLDJCQUEyQixDQUFDO1FBQzlCOztXQUVHO1FBQ2EsOEJBQXlCLEdBQ3ZDLDJCQUEyQixDQUFDO1FBQzlCOztXQUVHO1FBQ2EsOEJBQXlCLEdBQ3ZDLDJCQUEyQixDQUFDO1FBQzlCOztXQUVHO1FBQ2EscUNBQWdDLEdBQzlDLG1DQUFtQyxDQUFDO1FBQ3RDOztXQUVHO1FBQ2EscUNBQWdDLEdBQzlDLG1DQUFtQyxDQUFDO1FBQ3RDOztXQUVHO1FBQ2EscUNBQWdDLEdBQzlDLG1DQUFtQyxDQUFDO0tBc0h2QztJQXBIQyx3QkFBd0I7SUFFeEIseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksWUFBWSxDQUFDLENBQWtCO1FBQ3BDOztXQUVHO1FBQ0gsSUFBSSxLQUFLLEdBQTRCLElBQUksQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQ3pCLElBQUksQ0FBQyx5QkFBeUIsRUFDOUIsSUFBSSxDQUFDLGdDQUFnQyxDQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUNFLEtBQUssS0FBSyxJQUFJO1lBQ2QsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUN0QjtZQUNBLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxDQUN6QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx5QkFBeUIsRUFDOUIsSUFBSSxDQUFDLGdDQUFnQyxDQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUNFLEtBQUssS0FBSyxJQUFJO1lBQ2QsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUN0QjtZQUNBLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxDQUN6QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx5QkFBeUIsRUFDOUIsSUFBSSxDQUFDLGdDQUFnQyxDQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsNEJBQTRCO0lBRTVCOztPQUVHO0lBQ08saUJBQWlCLENBQUMsS0FBVTtRQUNwQyxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUU7Z0JBQy9DLE9BQU8sR0FBRyxDQUFDO2FBQ1o7aUJBQU0sSUFBSSxLQUFLLEtBQUssR0FBRyxFQUFFO2dCQUN4QixPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNO2dCQUNMLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQjs7V0FFRztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ08sb0JBQW9CLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUNoRSxJQUNFLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksU0FBUyxLQUFLLEdBQUcsQ0FBQztZQUNsRCxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksU0FBUyxLQUFLLEdBQUcsQ0FBQyxFQUNqRTtZQUNBLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCwrQ0FBK0M7UUFDL0MsSUFDRSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUk7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsUUFBUTtZQUN4QyxTQUFTLEtBQUssR0FBRyxFQUNqQjtZQUNBLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUNFLFNBQVMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUM1RDtZQUNBLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOytHQS9KVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7U0FBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7OEJBT1EsWUFBWTtzQkFBM0IsS0FBSztnQkFJVSxRQUFRO3NCQUF2QixLQUFLO2dCQUlVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBSVUseUJBQXlCO3NCQUF4QyxLQUFLO2dCQUtVLHlCQUF5QjtzQkFBeEMsS0FBSztnQkFLVSx5QkFBeUI7c0JBQXhDLEtBQUs7Z0JBS1UsZ0NBQWdDO3NCQUEvQyxLQUFLO2dCQUtVLGdDQUFnQztzQkFBL0MsS0FBSztnQkFLVSxnQ0FBZ0M7c0JBQS9DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VpbnB1dGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcblxyXG4vKipcclxuICogQmFzaXMgS29tcG9uZW50ZSBmw7xyIFNhY0lucHV0RGVjaW1hbFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dERlY2ltYWxDb21tb24gZXh0ZW5kcyBTYWNJbnB1dEJhc2U8bnVtYmVyPiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkYXMgTmVnYXRpdmUgV2VydGUgZXJsYXVidCBzaW5kXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGFsbG93bmVnYXRpdjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gbWF4aW1hbGVuIFdlcnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbWF4dmFsdWU6IG51bWJlciA9IHVuZGVmaW5lZDtcclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIG1pbmltYWxlbiBXZXJ0XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG1pbnZhbHVlOiBudW1iZXIgPSB1bmRlZmluZWQ7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1heFZhbHVlIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlbWF4dmFsdWU6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9NQVhWQUxVRSc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1pblZhbHVlIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlbWludmFsdWU6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9NSU5WQUxVRSc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRCc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1heFZhbHVlIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltYXh2YWx1ZTogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUnO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBNaW5WYWx1ZSBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWludmFsdWU6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFJztcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCc7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IG9iIGRlciBXZXJ0IGVudHNwcmljaHQgZGVuIGdlZ2ViZW5lbiBLcml0ZXJpZW5cclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIC8qKlxyXG4gICAgICogRXJyb3IgTWVsZHVuZywgZGllIGFuZ2V6ZWlndCB3aXJkLCB3ZW5uIGRpZSBLcml0ZXJpZW4gbmljaHQgZXJmw7xsbHQgc2luZFxyXG4gICAgICovXHJcbiAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XHJcbiAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZChcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgdGhpcy5taW52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMubWludmFsdWUgIT09IG51bGxcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubWluVmFsdWUoXHJcbiAgICAgICAgdGhpcy5taW52YWx1ZSxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlbWludmFsdWUsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltaW52YWx1ZVxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgdGhpcy5tYXh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMubWF4dmFsdWUgIT09IG51bGxcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubWF4VmFsdWUoXHJcbiAgICAgICAgdGhpcy5tYXh2YWx1ZSxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlbWF4dmFsdWUsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltYXh2YWx1ZVxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlcnJvcjtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBLb252ZXJ0aWVydCBkZW4gV2VydCBkZXMgSW5wdXRzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIENvbnZlcnRJbnB1dFZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93bmVnYXRpdiA9PT0gdHJ1ZSAmJiB2YWx1ZSA9PT0gJy0nKSB7XHJcbiAgICAgICAgcmV0dXJuICctJztcclxuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJy4nKSB7XHJcbiAgICAgICAgcmV0dXJuICcwLic7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGRpZSBlcnpldWd0IGRlbiBDb250cm9sIGluIEFiaMOkbmdpZ2tlaXQgZGF2b24sIG9iIG5lZ2F0aXZlIFdlcmUgZXJsYXVidCBzaW5nIG9kZXIgbmljaHRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgT25DbGFzc0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5PbkNsYXNzSW5pdCgpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5pZXJ0IGRpZSBXZXJ0ZSBkaWUgZXJsYXVidCBzaW5kXHJcbiAgICAgKi9cclxuICAgIHRoaXMuYWxsb3dlZGNoYXJzID0gJzAxMjM0NTY3ODknICsgdGhpcy5HZXREZWNpbWFsU3ltYm9sKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuYWxsb3duZWdhdGl2KSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZGNoYXJzID0gdGhpcy5hbGxvd2VkY2hhcnMgKyAnLSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHZhbGlkaWVydCBvYiBkZXIgV2VydCBlbnRzcHJpY2h0IGRlbiBnZWdlYmVuZW4gS3JpdGVyaWVuIHdlbm4gZWluIEtleSBnZWRyw7xja3Qgd2lyZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBPbktleVByZXNzVmFsaWRhdGlvbihwb3NpdGlvbjogbnVtYmVyLCBjaGFyYWN0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICAodGhpcy5hbGxvd25lZ2F0aXYgPT09IGZhbHNlICYmIGNoYXJhY3RlciA9PT0gJy0nKSB8fFxyXG4gICAgICAodGhpcy5hbGxvd25lZ2F0aXYgPT09IHRydWUgJiYgcG9zaXRpb24gPiAwICYmIGNoYXJhY3RlciA9PT0gJy0nKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBWZXJoaW5kZXJuIHZvbiBEb3BwZWxwdW5rdCBFaW5nYWJlICg0NS4uNTQ1KVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLl92YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLl92YWx1ZS50b1N0cmluZygpLmxlbmd0aCA8IHBvc2l0aW9uICYmXHJcbiAgICAgIGNoYXJhY3RlciA9PT0gJy4nXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgY2hhcmFjdGVyID09PSB0aGlzLkdldERlY2ltYWxTeW1ib2woKSAmJlxyXG4gICAgICB0aGlzLl92YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLl92YWx1ZS50b1N0cmluZygpLmluZGV4T2YodGhpcy5HZXREZWNpbWFsU3ltYm9sKCkpID49IDBcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxufVxyXG4iXX0=
@@ -0,0 +1,73 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /***
4
+ * base component for form options
5
+ */
6
+ class SacFormLayoutCommon {
7
+ constructor() {
8
+ // #region Properties
9
+ /**
10
+ * defines that error messages are displayed under the controls
11
+ */
12
+ this.inlineError = true;
13
+ /**
14
+ * defines that the labels are displayed as adaptive labels
15
+ */
16
+ this.isAdaptiveLabel = false;
17
+ /**
18
+ * default label size for medium devices
19
+ */
20
+ this.labelSizeMd = null;
21
+ /**
22
+ * default label size for small devices
23
+ */
24
+ this.labelSizeSm = null;
25
+ /**
26
+ * default label column size
27
+ */
28
+ this.labelSizeXs = null;
29
+ /**
30
+ * default label size for extra extra large devices
31
+ */
32
+ this.labelSizeXxl = null;
33
+ /**
34
+ * default labe size for large devices
35
+ */
36
+ this.labelSizeLg = null;
37
+ /**
38
+ * default label size for extra large devices
39
+ */
40
+ this.labelSizeXl = null;
41
+ }
42
+ // #endregion Properties
43
+ // #region Public Getters And Setters
44
+ /**
45
+ * Returns whether the inline error messages for the form are active.
46
+ */
47
+ get IsInlineErrorEnabled() {
48
+ return this.inlineError !== false;
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormLayoutCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacFormLayoutCommon, inputs: { inlineError: "inlineError", isAdaptiveLabel: "isAdaptiveLabel", labelSizeMd: "labelSizeMd", labelSizeSm: "labelSizeSm", labelSizeXs: "labelSizeXs", labelSizeXxl: "labelSizeXxl", labelSizeLg: "labelSizeLg", labelSizeXl: "labelSizeXl" }, ngImport: i0 }); }
52
+ }
53
+ export { SacFormLayoutCommon };
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormLayoutCommon, decorators: [{
55
+ type: Directive
56
+ }], propDecorators: { inlineError: [{
57
+ type: Input
58
+ }], isAdaptiveLabel: [{
59
+ type: Input
60
+ }], labelSizeMd: [{
61
+ type: Input
62
+ }], labelSizeSm: [{
63
+ type: Input
64
+ }], labelSizeXs: [{
65
+ type: Input
66
+ }], labelSizeXxl: [{
67
+ type: Input
68
+ }], labelSizeLg: [{
69
+ type: Input
70
+ }], labelSizeXl: [{
71
+ type: Input
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL2xheW91dC9mb3JtbGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRDs7R0FFRztBQUNILE1BQ2EsbUJBQW1CO0lBRGhDO1FBRUUscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2EsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUM7O1dBRUc7UUFDYSxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqRDs7V0FFRztRQUVJLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUVJLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUVJLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUVJLGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUMxQzs7V0FFRztRQUVJLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUVJLGdCQUFXLEdBQWtCLElBQUksQ0FBQztLQWMxQztJQVpDLHdCQUF3QjtJQUV4QixxQ0FBcUM7SUFFckM7O09BRUc7SUFDSCxJQUFXLG9CQUFvQjtRQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDO0lBQ3BDLENBQUM7K0dBbkRVLG1CQUFtQjttR0FBbkIsbUJBQW1COztTQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsU0FBUzs4QkFPUSxXQUFXO3NCQUExQixLQUFLO2dCQUlVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBS0MsV0FBVztzQkFEakIsS0FBSztnQkFNQyxXQUFXO3NCQURqQixLQUFLO2dCQU1DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFNQyxXQUFXO3NCQURqQixLQUFLO2dCQU1DLFdBQVc7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKioqXHJcbiAqIGJhc2UgY29tcG9uZW50IGZvciBmb3JtIG9wdGlvbnNcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRm9ybUxheW91dENvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmluZXMgdGhhdCBlcnJvciBtZXNzYWdlcyBhcmUgZGlzcGxheWVkIHVuZGVyIHRoZSBjb250cm9sc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbmxpbmVFcnJvcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IHRoZSBsYWJlbHMgYXJlIGRpc3BsYXllZCBhcyBhZGFwdGl2ZSBsYWJlbHNcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaXNBZGFwdGl2ZUxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBzaXplIGZvciBtZWRpdW0gZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZU1kOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIHNtYWxsIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVTbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBjb2x1bW4gc2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYeGw6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZSBzaXplIGZvciBsYXJnZSBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplTGc6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3IgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhsOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpbmxpbmUgZXJyb3IgbWVzc2FnZXMgZm9yIHRoZSBmb3JtIGFyZSBhY3RpdmUuXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBJc0lubGluZUVycm9yRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlubGluZUVycm9yICE9PSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxufVxyXG4iXX0=
@@ -2,56 +2,26 @@ import { Directive, Host, Input, } from '@angular/core';
2
2
  import { SacBaseSelectControl } from '../../common/baseselectcontrol';
3
3
  import { Validation } from '../../validation';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../form/form";
6
- /**
7
- * Function um ein Key Value Pair für das Dropdown zu erzeugen
8
- * @param id ID
9
- * @param value Wert der an das Element gebunden werden soll
10
- */
11
- export function _buildValueString(id, value) {
12
- // Wenn ID null ist Object zurückgeben
13
- if (id == null) {
14
- return `${value}`;
15
- }
16
- // Mapping Objekt zu String
17
- if (value && typeof value === 'object') {
18
- value = 'Object';
19
- }
20
- // String als ID
21
- return `${id}: ${value}`.slice(0, 50);
22
- }
5
+ import * as i1 from "../layout/formlayout";
6
+ // #region Classes
23
7
  /**
24
8
  * Base Dropdown Komponente
25
9
  */
26
10
  class SacDropdownCommon extends SacBaseSelectControl {
11
+ // #endregion Properties
12
+ // #region Constructors
27
13
  /**
28
- * compareWith-Funktion
14
+ * Constructor
15
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
16
+ * @param injector Injector for injecting services
17
+ * @param renderer html rendering engine
18
+ * @param elementRef reference to html element
29
19
  */
30
- set comparewith(fn) {
31
- if (typeof fn !== 'function') {
32
- throw new Error(`compareWith must be a function, but received ${JSON.stringify(fn)}`);
33
- }
34
- this._compareWith = fn;
35
- }
36
- /**
37
- * Konstruktor
38
- * @param parent Übergeordnetes HTML Element
39
- * @param injector Injector für Services
40
- * @param _renderer Render Engine
41
- * @param _elementRef Referenz von HTML Element
42
- */
43
- constructor(parent, injector, _renderer, _elementRef) {
44
- super(parent, injector);
45
- this._renderer = _renderer;
46
- this._elementRef = _elementRef;
47
- /**
48
- * Counter vom OptionID; default Wert = 0
49
- */
50
- this._optionIdCounter = 0;
51
- /**
52
- * OptionMap
53
- */
54
- this._optionMap = new Map();
20
+ constructor(formlayout, injector, renderer, elementRef) {
21
+ super(formlayout, injector);
22
+ this.renderer = renderer;
23
+ this.elementRef = elementRef;
24
+ // #region Properties
55
25
  /**
56
26
  * compareWith-Funktion
57
27
  */
@@ -72,22 +42,28 @@ class SacDropdownCommon extends SacBaseSelectControl {
72
42
  * Resource Key für Validation Message Required in Validation Summary
73
43
  */
74
44
  this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
45
+ /**
46
+ * Counter vom OptionID; default Wert = 0
47
+ */
48
+ this._optionIdCounter = 0;
49
+ /**
50
+ * OptionMap
51
+ */
52
+ this._optionMap = new Map();
75
53
  }
54
+ // #endregion Constructors
55
+ // #region Public Getters And Setters
76
56
  /**
77
- * Wert einstellen
78
- * @param value - Wert
79
- */
80
- setValue(value) {
81
- super.setValue(this.getOptionValue(value));
82
- }
83
- /**
84
- * Wert schreiben
85
- * @param value - Wert
57
+ * compareWith-Funktion
86
58
  */
87
- writeValue(value) {
88
- this.setSelectedValue(value);
89
- super.writeValue(value);
59
+ set comparewith(fn) {
60
+ if (typeof fn !== 'function') {
61
+ throw new Error(`compareWith must be a function, but received ${JSON.stringify(fn)}`);
62
+ }
63
+ this._compareWith = fn;
90
64
  }
65
+ // #endregion Public Getters And Setters
66
+ // #region Public Methods
91
67
  /**
92
68
  * Registriert das OptionID-Counter als String
93
69
  */
@@ -107,23 +83,39 @@ class SacDropdownCommon extends SacBaseSelectControl {
107
83
  }
108
84
  }
109
85
  /**
110
- * Setzt den Selected Value auf dem Control
111
- * @param value Value
86
+ * Wert einstellen
87
+ * @param value - Wert
112
88
  */
113
- setSelectedValue(value) {
114
- // Select Item aus Control lesen
115
- const selectItem = this._elementRef.nativeElement.getElementsByTagName('select')[0];
116
- /**
117
- * Id vom Select Item
118
- */
119
- const id = this.getOptionId(value);
120
- /**
121
- * Value String
122
- */
123
- const valueString = _buildValueString(id, value);
124
- if (selectItem !== undefined) {
125
- this._renderer.setProperty(selectItem, 'value', valueString);
89
+ setValue(value) {
90
+ super.setValue(this.getOptionValue(value));
91
+ }
92
+ /**
93
+ * Validator
94
+ * @param c Control Instanz
95
+ */
96
+ validateData(c) {
97
+ let error = null;
98
+ if (this.isrequired) {
99
+ error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
126
100
  }
101
+ return error;
102
+ }
103
+ /**
104
+ * Wert schreiben
105
+ * @param value - Wert
106
+ */
107
+ writeValue(value) {
108
+ this.setSelectedValue(value);
109
+ super.writeValue(value);
110
+ }
111
+ // #endregion Public Methods
112
+ // #region Private Methods
113
+ /**
114
+ * ID extrahieren
115
+ * @param valueString String bei welchem die ID Extrahiert werden soll
116
+ */
117
+ extractId(valueString) {
118
+ return valueString.split(':')[0];
127
119
  }
128
120
  /**
129
121
  * Nimmt das ID vom Option
@@ -146,46 +138,49 @@ class SacDropdownCommon extends SacBaseSelectControl {
146
138
  return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
147
139
  }
148
140
  /**
149
- * ID extrahieren
150
- * @param valueString String bei welchem die ID Extrahiert werden soll
151
- */
152
- extractId(valueString) {
153
- return valueString.split(':')[0];
154
- }
155
- /**
156
- * Validator
157
- * @param c Control Instanz
141
+ * Setzt den Selected Value auf dem Control
142
+ * @param value Value
158
143
  */
159
- validateData(c) {
160
- let error = null;
161
- if (this.isrequired) {
162
- error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
144
+ setSelectedValue(value) {
145
+ // Select Item aus Control lesen
146
+ const selectItem = this.elementRef.nativeElement.getElementsByTagName('select')[0];
147
+ /**
148
+ * Id vom Select Item
149
+ */
150
+ const id = this.getOptionId(value);
151
+ /**
152
+ * Value String
153
+ */
154
+ const valueString = _buildValueString(id, value);
155
+ if (selectItem !== undefined) {
156
+ this.renderer.setProperty(selectItem, 'value', valueString);
163
157
  }
164
- return error;
165
158
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownCommon, deps: [{ token: i1.SacFormCommon, host: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
167
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacDropdownCommon, inputs: { emptylabel: "emptylabel", emptyvalue: "emptyvalue", comparewith: "comparewith", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired" }, usesInheritance: true, ngImport: i0 }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownCommon, deps: [{ token: i1.SacFormLayoutCommon, host: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
160
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacDropdownCommon, inputs: { emptylabel: "emptylabel", emptyvalue: "emptyvalue", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", comparewith: "comparewith" }, usesInheritance: true, ngImport: i0 }); }
168
161
  }
169
162
  export { SacDropdownCommon };
170
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownCommon, decorators: [{
171
164
  type: Directive
172
- }], ctorParameters: function () { return [{ type: i1.SacFormCommon, decorators: [{
165
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutCommon, decorators: [{
173
166
  type: Host
174
167
  }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { emptylabel: [{
175
168
  type: Input
176
169
  }], emptyvalue: [{
177
170
  type: Input
178
- }], comparewith: [{
179
- type: Input
180
171
  }], validationmessagerequired: [{
181
172
  type: Input
182
173
  }], validationmessagesummaryrequired: [{
183
174
  type: Input
175
+ }], comparewith: [{
176
+ type: Input
184
177
  }] } });
185
178
  /**
186
179
  * SacDropdownOption-Klasse
187
180
  */
188
181
  class SacDropdownOptionCommon {
182
+ // #endregion Properties
183
+ // #region Constructors
189
184
  /**
190
185
  * Konstruktor
191
186
  * @param _element Referenz auf HTML Element
@@ -196,6 +191,7 @@ class SacDropdownOptionCommon {
196
191
  this._element = _element;
197
192
  this._renderer = _renderer;
198
193
  this._dropdown = _dropdown;
194
+ // #region Properties
199
195
  /**
200
196
  * ID-String
201
197
  */
@@ -204,6 +200,8 @@ class SacDropdownOptionCommon {
204
200
  this.id = this._dropdown.registerOption();
205
201
  }
206
202
  }
203
+ // #endregion Constructors
204
+ // #region Public Getters And Setters
207
205
  /**
208
206
  * Option ngValue
209
207
  */
@@ -222,6 +220,8 @@ class SacDropdownOptionCommon {
222
220
  set value(value) {
223
221
  this._setElementValue(value);
224
222
  }
223
+ // #endregion Public Getters And Setters
224
+ // #region Public Methods
225
225
  /**
226
226
  * Den Wert vom Option-Element einstellen
227
227
  * @param value Wert
@@ -248,4 +248,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
248
248
  }], value: [{
249
249
  type: Input
250
250
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9saXN0L2Ryb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsSUFBSSxFQUVKLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQWlCLEVBQUUsS0FBVTtJQUM3RCxzQ0FBc0M7SUFDdEMsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ2QsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDO0tBQ25CO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUN0QyxLQUFLLEdBQUcsUUFBUSxDQUFDO0tBQ2xCO0lBRUQsZ0JBQWdCO0lBQ2hCLE9BQU8sR0FBRyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUNhLGlCQUFrQixTQUFRLG9CQUF5QjtJQXNCOUQ7O09BRUc7SUFDSCxJQUNJLFdBQVcsQ0FBQyxFQUFpQztRQUMvQyxJQUFJLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLGdEQUFnRCxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ3JFLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFhRDs7Ozs7O09BTUc7SUFDSCxZQUNVLE1BQXFCLEVBQzdCLFFBQWtCLEVBQ1YsU0FBb0IsRUFDcEIsV0FBdUI7UUFFL0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhoQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBeERqQzs7V0FFRztRQUNILHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3Qjs7V0FFRztRQUNILGVBQVUsR0FBcUIsSUFBSSxHQUFHLEVBQWUsQ0FBQztRQUN0RDs7V0FFRztRQUNLLGlCQUFZLEdBQWtDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFaEU7O1dBRUc7UUFDTSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ2pDOztXQUVHO1FBQ00sZUFBVSxHQUFXLElBQUksQ0FBQztRQWNuQzs7V0FFRztRQUNNLDhCQUF5QixHQUFXLDJCQUEyQixDQUFDO1FBQ3pFOztXQUVHO1FBRUgscUNBQWdDLEdBQzlCLG1DQUFtQyxDQUFDO0lBZ0J0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQWE7UUFDcEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRDs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVksQ0FBQyxFQUFVLEVBQUUsS0FBVTtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFL0Isb0ZBQW9GO1FBQ3BGLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLEtBQVU7UUFDakMsZ0NBQWdDO1FBQ2hDLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FOztXQUVHO1FBQ0gsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQ7O1dBRUc7UUFDSCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakQsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDOUQ7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLEtBQVU7UUFDNUIsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sRUFBRSxDQUFDO2FBQ1g7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxXQUFtQjtRQUN4QyxNQUFNLEVBQUUsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDekUsQ0FBQztJQUNEOzs7T0FHRztJQUNLLFNBQVMsQ0FBQyxXQUFtQjtRQUNuQyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxDQUFrQjtRQUM3QixJQUFJLEtBQUssR0FBNEIsSUFBSSxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FDekIsSUFBSSxDQUFDLHlCQUF5QixFQUM5QixJQUFJLENBQUMsZ0NBQWdDLENBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0FsS1UsaUJBQWlCO21HQUFqQixpQkFBaUI7O1NBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixTQUFTOzswQkF1REwsSUFBSTtvSEFyQ0UsVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtGLFdBQVc7c0JBRGQsS0FBSztnQkFhRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBS04sZ0NBQWdDO3NCQUQvQixLQUFLOztBQTJIUjs7R0FFRztBQUNILE1BQ2EsdUJBQXVCO0lBS2xDOzs7OztPQUtHO0lBQ0gsWUFDVSxRQUFvQixFQUNwQixTQUFvQixFQUNwQixTQUE0QjtRQUY1QixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFidEM7O1dBRUc7UUFDSyxPQUFFLEdBQVcsSUFBSSxDQUFDO1FBWXhCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFVO1FBQ3BCLDZDQUE2QztRQUM3QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRDs7T0FFRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDOytHQXpEVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7U0FBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7c0pBMEJKLE9BQU87c0JBRFYsS0FBSztnQkFnQkYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBSZW5kZXJlcjIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjQmFzZVNlbGVjdENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZXNlbGVjdGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1Db21tb24gfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHVtIGVpbiBLZXkgVmFsdWUgUGFpciBmw7xyIGRhcyBEcm9wZG93biB6dSBlcnpldWdlblxyXG4gKiBAcGFyYW0gaWQgSURcclxuICogQHBhcmFtIHZhbHVlIFdlcnQgZGVyIGFuIGRhcyBFbGVtZW50IGdlYnVuZGVuIHdlcmRlbiBzb2xsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX2J1aWxkVmFsdWVTdHJpbmcoaWQ6IHN0cmluZyB8IG51bGwsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gIC8vIFdlbm4gSUQgbnVsbCBpc3QgT2JqZWN0IHp1csO8Y2tnZWJlblxyXG4gIGlmIChpZCA9PSBudWxsKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICB9XHJcblxyXG4gIC8vIE1hcHBpbmcgT2JqZWt0IHp1IFN0cmluZ1xyXG4gIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICB2YWx1ZSA9ICdPYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RyaW5nIGFscyBJRFxyXG4gIHJldHVybiBgJHtpZH06ICR7dmFsdWV9YC5zbGljZSgwLCA1MCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNlIERyb3Bkb3duIEtvbXBvbmVudGVcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcGRvd25Db21tb24gZXh0ZW5kcyBTYWNCYXNlU2VsZWN0Q29udHJvbDxhbnk+IHtcclxuICAvKipcclxuICAgKiBDb3VudGVyIHZvbSBPcHRpb25JRDsgZGVmYXVsdCBXZXJ0ID0gMFxyXG4gICAqL1xyXG4gIF9vcHRpb25JZENvdW50ZXI6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uTWFwXHJcbiAgICovXHJcbiAgX29wdGlvbk1hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogY29tcGFyZVdpdGgtRnVua3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIF9jb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4gPSBPYmplY3QuaXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIExhYmVsIFRleHQgZsO8ciBFbXB0eSBJdGVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgZW1wdHlsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGVtcHR5dmFsdWU6IHN0cmluZyA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogY29tcGFyZVdpdGgtRnVua3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBjb21wYXJld2l0aChmbjogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KGZuKX1gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jb21wYXJlV2l0aCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gJ1ZBTElEQVRJT05fRVJST1JfUkVRVUlSRUQnO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIHBhcmVudCDDnGJlcmdlb3JkbmV0ZXMgSFRNTCBFbGVtZW50XHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGbDvHIgU2VydmljZXNcclxuICAgKiBAcGFyYW0gX3JlbmRlcmVyIFJlbmRlciBFbmdpbmVcclxuICAgKiBAcGFyYW0gX2VsZW1lbnRSZWYgUmVmZXJlbnogdm9uIEhUTUwgRWxlbWVudFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwYXJlbnQ6IFNhY0Zvcm1Db21tb24sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IGVpbnN0ZWxsZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgc3VwZXIuc2V0VmFsdWUodGhpcy5nZXRPcHRpb25WYWx1ZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydCBzY2hyZWliZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodmFsdWUpO1xyXG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdHJpZXJ0IGRhcyBPcHRpb25JRC1Db3VudGVyIGFscyBTdHJpbmdcclxuICAgKi9cclxuICByZWdpc3Rlck9wdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLl9vcHRpb25JZENvdW50ZXIrKykudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIHZvbiBPcHRpb25zIGF1ZmdlcnVmZW4gd2lyZCwgdW0gZGFzIE1hcHBpbmcgendpc2NoZW4gRHJvcGRvd24gVmFsdWUgdW5kIFZhbHVlIGhlcnp1c3RlbGxlbi5cclxuICAgKiBAcGFyYW0gaWQ6IElkIGF1cyBPcHRpb25zXHJcbiAgICogQHBhcmFtIHZhbHVlOiBWYWx1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRPcHRpb25NYXAoaWQ6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3B0aW9uTWFwLnNldChpZCwgdmFsdWUpO1xyXG5cclxuICAgIC8vIFNlbGVjdGVkIFZhbHVlIGF1ZiBDb250cm9sIGFrdHVhbGlzaWVyZW4sIHdlbm4gVmFsdWUgZGVtIFNlbGVjdGVkVmFsdWUgZW50c3ByaWNodFxyXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkZW4gU2VsZWN0ZWQgVmFsdWUgYXVmIGRlbSBDb250cm9sXHJcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFNlbGVjdCBJdGVtIGF1cyBDb250cm9sIGxlc2VuXHJcbiAgICBjb25zdCBzZWxlY3RJdGVtOiBhbnkgPVxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZCB2b20gU2VsZWN0IEl0ZW1cclxuICAgICAqL1xyXG4gICAgY29uc3QgaWQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLmdldE9wdGlvbklkKHZhbHVlKTtcclxuICAgIC8qKlxyXG4gICAgICogVmFsdWUgU3RyaW5nXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gX2J1aWxkVmFsdWVTdHJpbmcoaWQsIHZhbHVlKTtcclxuXHJcbiAgICBpZiAoc2VsZWN0SXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEl0ZW0sICd2YWx1ZScsIHZhbHVlU3RyaW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5pbW10IGRhcyBJRCB2b20gT3B0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRPcHRpb25JZCh2YWx1ZTogYW55KTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBmb3IgKGNvbnN0IGlkIG9mIEFycmF5LmZyb20odGhpcy5fb3B0aW9uTWFwLmtleXMoKSkpIHtcclxuICAgICAgaWYgKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoaWQpLCB2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBOaW1tdCBkZW4gU3RyaW5nLVdlcnQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBpZDogc3RyaW5nID0gdGhpcy5leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSUQgZXh0cmFoaWVyZW5cclxuICAgKiBAcGFyYW0gdmFsdWVTdHJpbmcgU3RyaW5nIGJlaSB3ZWxjaGVtIGRpZSBJRCBFeHRyYWhpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBleHRyYWN0SWQodmFsdWVTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdmFsdWVTdHJpbmcuc3BsaXQoJzonKVswXTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbCBJbnN0YW56XHJcbiAgICovXHJcbiAgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLnJlcXVpcmVkKFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkXHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2FjRHJvcGRvd25PcHRpb24tS2xhc3NlXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3Bkb3duT3B0aW9uQ29tbW9uIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBJRC1TdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGlkOiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIF9lbGVtZW50IFJlZmVyZW56IGF1ZiBIVE1MIEVsZW1lbnRcclxuICAgKiBAcGFyYW0gX3JlbmRlcmVyIFJlbmRlciBFbmdpbmVcclxuICAgKiBAcGFyYW0gX2Ryb3Bkb3duIERyb3Bkb3duIEluc3RhbnpcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfZHJvcGRvd246IFNhY0Ryb3Bkb3duQ29tbW9uXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24pIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuX2Ryb3Bkb3duLnJlZ2lzdGVyT3B0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcHRpb24gbmdWYWx1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgLy8gQ2FuY2VsIHdlbm4ga2VpbiBQYXJlbnQgRHJvcGRvd24gdm9yaGFuZGVuXHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24gPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZHJvcGRvd24uc2V0T3B0aW9uTWFwKHRoaXMuaWQsIHZhbHVlKTtcclxuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZShfYnVpbGRWYWx1ZVN0cmluZyh0aGlzLmlkLCB2YWx1ZSkpO1xyXG5cclxuICAgIHRoaXMuX2Ryb3Bkb3duLndyaXRlVmFsdWUodGhpcy5fZHJvcGRvd24udmFsdWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBXZXJ0LVNldHRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIERlbiBXZXJ0IHZvbSBPcHRpb24tRWxlbWVudCBlaW5zdGVsbGVuXHJcbiAgICogQHBhcmFtIHZhbHVlIFdlcnRcclxuICAgKi9cclxuICBfc2V0RWxlbWVudFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBPbkRlc3Ryb3kgRXZlbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kcm9wZG93bikge1xyXG4gICAgICB0aGlzLl9kcm9wZG93bi5fb3B0aW9uTWFwLmRlbGV0ZSh0aGlzLmlkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
251
+ // #endregion Classes
252
+ // #region Functions
253
+ /**
254
+ * Function um ein Key Value Pair für das Dropdown zu erzeugen
255
+ * @param id ID
256
+ * @param value Wert der an das Element gebunden werden soll
257
+ */
258
+ export function _buildValueString(id, value) {
259
+ // Wenn ID null ist Object zurückgeben
260
+ if (id == null) {
261
+ return `${value}`;
262
+ }
263
+ // Mapping Objekt zu String
264
+ if (value && typeof value === 'object') {
265
+ value = 'Object';
266
+ }
267
+ // String als ID
268
+ return `${id}: ${value}`.slice(0, 50);
269
+ }
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9saXN0L2Ryb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsSUFBSSxFQUVKLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5QyxrQkFBa0I7QUFFbEI7O0dBRUc7QUFDSCxNQUNhLGlCQUFrQixTQUFRLG9CQUF5QjtJQXFDOUQsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7Ozs7O09BTUc7SUFDSCxZQUNVLFVBQStCLEVBQ3ZDLFFBQWtCLEVBQ1YsUUFBbUIsRUFDbkIsVUFBc0I7UUFFOUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhwQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFuRGhDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNLLGlCQUFZLEdBQWtDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFaEU7O1dBRUc7UUFDYSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hDOztXQUVHO1FBQ2EsZUFBVSxHQUFXLElBQUksQ0FBQztRQUMxQzs7V0FFRztRQUNhLDhCQUF5QixHQUN2QywyQkFBMkIsQ0FBQztRQUM5Qjs7V0FFRztRQUVJLHFDQUFnQyxHQUNyQyxtQ0FBbUMsQ0FBQztRQUV0Qzs7V0FFRztRQUNJLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUNwQzs7V0FFRztRQUNJLGVBQVUsR0FBcUIsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQW9CN0QsQ0FBQztJQUVELDBCQUEwQjtJQUUxQixxQ0FBcUM7SUFFckM7O09BRUc7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QUUsQ0FBQztLQUNuQjtJQUVELDJCQUEyQjtJQUMzQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDdEMsS0FBSyxHQUFHLFFBQVEsQ0FBQztLQUNsQjtJQUVELGdCQUFnQjtJQUNoQixPQUFPLEdBQUcsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdCxcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0Jhc2VTZWxlY3RDb250cm9sIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VzZWxlY3Rjb250cm9sJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5cclxuLy8gI3JlZ2lvbiBDbGFzc2VzXHJcblxyXG4vKipcclxuICogQmFzZSBEcm9wZG93biBLb21wb25lbnRlXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3Bkb3duQ29tbW9uIGV4dGVuZHMgU2FjQmFzZVNlbGVjdENvbnRyb2w8YW55PiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbXBhcmVXaXRoLUZ1bmt0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuID0gT2JqZWN0LmlzO1xyXG5cclxuICAvKipcclxuICAgKiBMYWJlbCBUZXh0IGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eWxhYmVsOiBzdHJpbmcgPSAnJztcclxuICAvKipcclxuICAgKiBPcHRpb24gVmFsdWUgZsO8ciBFbXB0eSBJdGVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGVtcHR5dmFsdWU6IHN0cmluZyA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRCc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvdW50ZXIgdm9tIE9wdGlvbklEOyBkZWZhdWx0IFdlcnQgPSAwXHJcbiAgICovXHJcbiAgcHVibGljIF9vcHRpb25JZENvdW50ZXI6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uTWFwXHJcbiAgICovXHJcbiAgcHVibGljIF9vcHRpb25NYXA6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgaHRtbCByZW5kZXJpbmcgZW5naW5lXHJcbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgcmVmZXJlbmNlIHRvIGh0bWwgZWxlbWVudFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbXBhcmVXaXRoLUZ1bmt0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNvbXBhcmV3aXRoKGZuOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYGNvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoZm4pfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0cmllcnQgZGFzIE9wdGlvbklELUNvdW50ZXIgYWxzIFN0cmluZ1xyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9wdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLl9vcHRpb25JZENvdW50ZXIrKykudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIHZvbiBPcHRpb25zIGF1ZmdlcnVmZW4gd2lyZCwgdW0gZGFzIE1hcHBpbmcgendpc2NoZW4gRHJvcGRvd24gVmFsdWUgdW5kIFZhbHVlIGhlcnp1c3RlbGxlbi5cclxuICAgKiBAcGFyYW0gaWQ6IElkIGF1cyBPcHRpb25zXHJcbiAgICogQHBhcmFtIHZhbHVlOiBWYWx1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRPcHRpb25NYXAoaWQ6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3B0aW9uTWFwLnNldChpZCwgdmFsdWUpO1xyXG5cclxuICAgIC8vIFNlbGVjdGVkIFZhbHVlIGF1ZiBDb250cm9sIGFrdHVhbGlzaWVyZW4sIHdlbm4gVmFsdWUgZGVtIFNlbGVjdGVkVmFsdWUgZW50c3ByaWNodFxyXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IGVpbnN0ZWxsZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyLnNldFZhbHVlKHRoaXMuZ2V0T3B0aW9uVmFsdWUodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvclxyXG4gICAqIEBwYXJhbSBjIENvbnRyb2wgSW5zdGFuelxyXG4gICAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNyZXF1aXJlZCkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ucmVxdWlyZWQoXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuICAgIHJldHVybiBlcnJvcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdlcnQgc2NocmVpYmVuXHJcbiAgICogQHBhcmFtIHZhbHVlIC0gV2VydFxyXG4gICAqL1xyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZSk7XHJcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogSUQgZXh0cmFoaWVyZW5cclxuICAgKiBAcGFyYW0gdmFsdWVTdHJpbmcgU3RyaW5nIGJlaSB3ZWxjaGVtIGRpZSBJRCBFeHRyYWhpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBleHRyYWN0SWQodmFsdWVTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdmFsdWVTdHJpbmcuc3BsaXQoJzonKVswXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5pbW10IGRhcyBJRCB2b20gT3B0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRPcHRpb25JZCh2YWx1ZTogYW55KTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBmb3IgKGNvbnN0IGlkIG9mIEFycmF5LmZyb20odGhpcy5fb3B0aW9uTWFwLmtleXMoKSkpIHtcclxuICAgICAgaWYgKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoaWQpLCB2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmltbXQgZGVuIFN0cmluZy1XZXJ0IHZvbSBPcHRpb25cclxuICAgKiBAcGFyYW0gdmFsdWVTdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGdldE9wdGlvblZhbHVlKHZhbHVlU3RyaW5nOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgaWQ6IHN0cmluZyA9IHRoaXMuZXh0cmFjdElkKHZhbHVlU3RyaW5nKTtcclxuICAgIHJldHVybiB0aGlzLl9vcHRpb25NYXAuaGFzKGlkKSA/IHRoaXMuX29wdGlvbk1hcC5nZXQoaWQpIDogdmFsdWVTdHJpbmc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkZW4gU2VsZWN0ZWQgVmFsdWUgYXVmIGRlbSBDb250cm9sXHJcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFNlbGVjdCBJdGVtIGF1cyBDb250cm9sIGxlc2VuXHJcbiAgICBjb25zdCBzZWxlY3RJdGVtOiBhbnkgPVxyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07XHJcbiAgICAvKipcclxuICAgICAqIElkIHZvbSBTZWxlY3QgSXRlbVxyXG4gICAgICovXHJcbiAgICBjb25zdCBpZDogc3RyaW5nIHwgbnVsbCA9IHRoaXMuZ2V0T3B0aW9uSWQodmFsdWUpO1xyXG4gICAgLyoqXHJcbiAgICAgKiBWYWx1ZSBTdHJpbmdcclxuICAgICAqL1xyXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSBfYnVpbGRWYWx1ZVN0cmluZyhpZCwgdmFsdWUpO1xyXG5cclxuICAgIGlmIChzZWxlY3RJdGVtICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzZWxlY3RJdGVtLCAndmFsdWUnLCB2YWx1ZVN0cmluZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG59XHJcblxyXG4vKipcclxuICogU2FjRHJvcGRvd25PcHRpb24tS2xhc3NlXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3Bkb3duT3B0aW9uQ29tbW9uIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogSUQtU3RyaW5nXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpZDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIF9lbGVtZW50IFJlZmVyZW56IGF1ZiBIVE1MIEVsZW1lbnRcclxuICAgKiBAcGFyYW0gX3JlbmRlcmVyIFJlbmRlciBFbmdpbmVcclxuICAgKiBAcGFyYW0gX2Ryb3Bkb3duIERyb3Bkb3duIEluc3RhbnpcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfZHJvcGRvd246IFNhY0Ryb3Bkb3duQ29tbW9uXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24pIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuX2Ryb3Bkb3duLnJlZ2lzdGVyT3B0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbiBuZ1ZhbHVlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgLy8gQ2FuY2VsIHdlbm4ga2VpbiBQYXJlbnQgRHJvcGRvd24gdm9yaGFuZGVuXHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24gPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZHJvcGRvd24uc2V0T3B0aW9uTWFwKHRoaXMuaWQsIHZhbHVlKTtcclxuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZShfYnVpbGRWYWx1ZVN0cmluZyh0aGlzLmlkLCB2YWx1ZSkpO1xyXG5cclxuICAgIHRoaXMuX2Ryb3Bkb3duLndyaXRlVmFsdWUodGhpcy5fZHJvcGRvd24udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydC1TZXR0ZXJcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fc2V0RWxlbWVudFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEZW4gV2VydCB2b20gT3B0aW9uLUVsZW1lbnQgZWluc3RlbGxlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSBXZXJ0XHJcbiAgICovXHJcbiAgcHVibGljIF9zZXRFbGVtZW50VmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbkRlc3Ryb3kgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24pIHtcclxuICAgICAgdGhpcy5fZHJvcGRvd24uX29wdGlvbk1hcC5kZWxldGUodGhpcy5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuXHJcbi8vICNlbmRyZWdpb24gQ2xhc3Nlc1xyXG5cclxuLy8gI3JlZ2lvbiBGdW5jdGlvbnNcclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB1bSBlaW4gS2V5IFZhbHVlIFBhaXIgZsO8ciBkYXMgRHJvcGRvd24genUgZXJ6ZXVnZW5cclxuICogQHBhcmFtIGlkIElEXHJcbiAqIEBwYXJhbSB2YWx1ZSBXZXJ0IGRlciBhbiBkYXMgRWxlbWVudCBnZWJ1bmRlbiB3ZXJkZW4gc29sbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9idWlsZFZhbHVlU3RyaW5nKGlkOiBzdHJpbmcgfCBudWxsLCB2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAvLyBXZW5uIElEIG51bGwgaXN0IE9iamVjdCB6dXLDvGNrZ2ViZW5cclxuICBpZiAoaWQgPT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIGAke3ZhbHVlfWA7XHJcbiAgfVxyXG5cclxuICAvLyBNYXBwaW5nIE9iamVrdCB6dSBTdHJpbmdcclxuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgdmFsdWUgPSAnT2JqZWN0JztcclxuICB9XHJcblxyXG4gIC8vIFN0cmluZyBhbHMgSURcclxuICByZXR1cm4gYCR7aWR9OiAke3ZhbHVlfWAuc2xpY2UoMCwgNTApO1xyXG59XHJcblxyXG4vLyAjZW5kcmVnaW9uIEZ1bmN0aW9uc1xyXG4iXX0=