ngx-material-entity 15.3.1 → 16.0.0

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 (202) hide show
  1. package/classes/entity.model.d.ts +2 -2
  2. package/components/confirm-dialog/confirm-dialog-data.d.ts +1 -1
  3. package/components/edit-page/edit-page.component.d.ts +1 -1
  4. package/components/edit-page/page-edit-data.builder.d.ts +1 -1
  5. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +1 -0
  6. package/components/input/array/array-table.class.d.ts +1 -1
  7. package/components/input/base-input.component.d.ts +5 -1
  8. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +1 -1
  9. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +1 -1
  10. package/components/input/file/file-input/file-input.component.d.ts +1 -1
  11. package/components/input/input.component.d.ts +2 -1
  12. package/components/table/display-column-value/base-display-column-value.component.d.ts +1 -1
  13. package/components/table/display-column-value/display-column-value.component.d.ts +1 -1
  14. package/components/table/table-data.builder.d.ts +1 -1
  15. package/components/table/table-data.d.ts +1 -1
  16. package/components/table/table.component.d.ts +1 -1
  17. package/decorators/base/decorator-types.enum.d.ts +1 -1
  18. package/decorators/base/property-decorator.data.d.ts +1 -1
  19. package/decorators/file/file-decorator.data.d.ts +1 -1
  20. package/decorators/number/number-decorator.data.d.ts +1 -1
  21. package/decorators/string/string-decorator.data.d.ts +1 -1
  22. package/encapsulation/jszip.utilities.d.ts +1 -1
  23. package/encapsulation/uuid.utilities.d.ts +11 -0
  24. package/esm2022/classes/base.builder.mjs +44 -0
  25. package/esm2022/classes/entity.model.mjs +26 -0
  26. package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +58 -0
  27. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +60 -0
  28. package/esm2022/components/edit-page/edit-page.component.mjs +291 -0
  29. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +23 -0
  30. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +49 -0
  31. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +49 -0
  32. package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +50 -0
  33. package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +69 -0
  34. package/esm2022/components/input/array/array-table.class.mjs +100 -0
  35. package/esm2022/components/input/base-input.component.mjs +88 -0
  36. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +21 -0
  37. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +17 -0
  38. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +21 -0
  39. package/esm2022/components/input/custom/custom.component.mjs +28 -0
  40. package/esm2022/components/input/date/date-input/date-input.component.mjs +19 -0
  41. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +68 -0
  42. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +69 -0
  43. package/{esm2020 → esm2022}/components/input/file/file-default-input/file-default-input.component.mjs +4 -4
  44. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +101 -0
  45. package/esm2022/components/input/file/file-input/dragDrop.directive.mjs +62 -0
  46. package/esm2022/components/input/file/file-input/file-input.component.mjs +206 -0
  47. package/esm2022/components/input/input.component.mjs +849 -0
  48. package/esm2022/components/input/input.module.mjs +172 -0
  49. package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +23 -0
  50. package/esm2022/components/input/number/number-input/number-input.component.mjs +16 -0
  51. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +17 -0
  52. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +102 -0
  53. package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +36 -0
  54. package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +23 -0
  55. package/esm2022/components/input/string/string-input/string-input.component.mjs +16 -0
  56. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +39 -0
  57. package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +17 -0
  58. package/esm2022/components/table/create-dialog/create-dialog-data.builder.mjs +42 -0
  59. package/esm2022/components/table/create-dialog/create-entity-dialog-data.builder.mjs +32 -0
  60. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +107 -0
  61. package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +28 -0
  62. package/esm2022/components/table/display-column-value/display-column-value.component.mjs +37 -0
  63. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +106 -0
  64. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +209 -0
  65. package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +39 -0
  66. package/esm2022/components/table/table-data.builder.mjs +269 -0
  67. package/esm2022/components/table/table.component.mjs +348 -0
  68. package/esm2022/decorators/array/array-decorator-internal.data.mjs +286 -0
  69. package/esm2022/decorators/array/array-decorator.data.mjs +21 -0
  70. package/esm2022/decorators/base/property-decorator-internal.data.mjs +82 -0
  71. package/esm2022/decorators/base/property-decorator.data.mjs +56 -0
  72. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +43 -0
  73. package/esm2022/decorators/boolean/boolean-decorator.data.mjs +11 -0
  74. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +35 -0
  75. package/{esm2020 → esm2022}/decorators/date/date-decorator-internal.data.mjs +43 -1
  76. package/esm2022/decorators/date/date-decorator.data.mjs +11 -0
  77. package/esm2022/decorators/file/file-decorator-internal.data.mjs +143 -0
  78. package/esm2022/decorators/file/file-decorator.data.mjs +64 -0
  79. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +42 -0
  80. package/esm2022/decorators/number/number-decorator-internal.data.mjs +76 -0
  81. package/esm2022/decorators/number/number-decorator.data.mjs +11 -0
  82. package/esm2022/decorators/object/object-decorator-internal.data.mjs +20 -0
  83. package/esm2022/decorators/object/object-decorator.data.mjs +22 -0
  84. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +48 -0
  85. package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +24 -0
  86. package/esm2022/decorators/string/string-decorator-internal.data.mjs +114 -0
  87. package/esm2022/decorators/string/string-decorator.data.mjs +11 -0
  88. package/esm2022/encapsulation/uuid.utilities.mjs +15 -0
  89. package/esm2022/services/entity.service.mjs +276 -0
  90. package/esm2022/utilities/date.utilities.mjs +159 -0
  91. package/esm2022/utilities/entity.utilities.mjs +905 -0
  92. package/{fesm2020 → fesm2022}/ngx-material-entity.mjs +1225 -376
  93. package/fesm2022/ngx-material-entity.mjs.map +1 -0
  94. package/package.json +11 -17
  95. package/utilities/date.utilities.d.ts +1 -1
  96. package/esm2020/classes/base.builder.mjs +0 -42
  97. package/esm2020/classes/entity.model.mjs +0 -22
  98. package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +0 -44
  99. package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +0 -57
  100. package/esm2020/components/edit-page/edit-page.component.mjs +0 -277
  101. package/esm2020/components/input/array/array-date-input/array-date-input.component.mjs +0 -26
  102. package/esm2020/components/input/array/array-date-range-input/array-date-range-input.component.mjs +0 -50
  103. package/esm2020/components/input/array/array-date-time-input/array-date-time-input.component.mjs +0 -49
  104. package/esm2020/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +0 -49
  105. package/esm2020/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +0 -70
  106. package/esm2020/components/input/array/array-table.class.mjs +0 -96
  107. package/esm2020/components/input/base-input.component.mjs +0 -64
  108. package/esm2020/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +0 -21
  109. package/esm2020/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +0 -17
  110. package/esm2020/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +0 -21
  111. package/esm2020/components/input/custom/custom.component.mjs +0 -26
  112. package/esm2020/components/input/date/date-input/date-input.component.mjs +0 -22
  113. package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +0 -71
  114. package/esm2020/components/input/date/date-time-input/date-time-input.component.mjs +0 -71
  115. package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +0 -100
  116. package/esm2020/components/input/file/file-input/dragDrop.directive.mjs +0 -63
  117. package/esm2020/components/input/file/file-input/file-input.component.mjs +0 -198
  118. package/esm2020/components/input/input.component.mjs +0 -755
  119. package/esm2020/components/input/input.module.mjs +0 -173
  120. package/esm2020/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +0 -26
  121. package/esm2020/components/input/number/number-input/number-input.component.mjs +0 -16
  122. package/esm2020/components/input/number/number-slider-input/number-slider-input.component.mjs +0 -17
  123. package/esm2020/components/input/relations/references-many-input/references-many-input.component.mjs +0 -100
  124. package/esm2020/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +0 -34
  125. package/esm2020/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +0 -26
  126. package/esm2020/components/input/string/string-input/string-input.component.mjs +0 -16
  127. package/esm2020/components/input/string/string-password-input/string-password-input.component.mjs +0 -42
  128. package/esm2020/components/input/string/string-textbox-input/string-textbox-input.component.mjs +0 -17
  129. package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +0 -32
  130. package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +0 -26
  131. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +0 -100
  132. package/esm2020/components/table/display-column-value/base-display-column-value.component.mjs +0 -27
  133. package/esm2020/components/table/display-column-value/display-column-value.component.mjs +0 -33
  134. package/esm2020/components/table/edit-dialog/edit-data.builder.mjs +0 -76
  135. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +0 -198
  136. package/esm2020/components/table/edit-dialog/edit-entity.builder.mjs +0 -29
  137. package/esm2020/components/table/table-data.builder.mjs +0 -205
  138. package/esm2020/components/table/table.component.mjs +0 -333
  139. package/esm2020/decorators/array/array-decorator-internal.data.mjs +0 -150
  140. package/esm2020/decorators/array/array-decorator.data.mjs +0 -7
  141. package/esm2020/decorators/base/property-decorator-internal.data.mjs +0 -58
  142. package/esm2020/decorators/base/property-decorator.data.mjs +0 -6
  143. package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +0 -33
  144. package/esm2020/decorators/boolean/boolean-decorator.data.mjs +0 -7
  145. package/esm2020/decorators/custom/custom-decorator-internal.data.mjs +0 -27
  146. package/esm2020/decorators/date/date-decorator.data.mjs +0 -7
  147. package/esm2020/decorators/file/file-decorator-internal.data.mjs +0 -97
  148. package/esm2020/decorators/file/file-decorator.data.mjs +0 -7
  149. package/esm2020/decorators/has-many/has-many-decorator-internal.data.mjs +0 -32
  150. package/esm2020/decorators/number/number-decorator-internal.data.mjs +0 -54
  151. package/esm2020/decorators/number/number-decorator.data.mjs +0 -7
  152. package/esm2020/decorators/object/object-decorator-internal.data.mjs +0 -14
  153. package/esm2020/decorators/object/object-decorator.data.mjs +0 -7
  154. package/esm2020/decorators/references-many/references-many-decorator-internal.data.mjs +0 -30
  155. package/esm2020/decorators/references-one/references-one-decorator-internal.data.mjs +0 -16
  156. package/esm2020/decorators/string/string-decorator-internal.data.mjs +0 -72
  157. package/esm2020/decorators/string/string-decorator.data.mjs +0 -7
  158. package/esm2020/services/entity.service.mjs +0 -274
  159. package/esm2020/utilities/date.utilities.mjs +0 -159
  160. package/esm2020/utilities/entity.utilities.mjs +0 -905
  161. package/fesm2015/ngx-material-entity.mjs +0 -6322
  162. package/fesm2015/ngx-material-entity.mjs.map +0 -1
  163. package/fesm2020/ngx-material-entity.mjs.map +0 -1
  164. /package/{esm2020 → esm2022}/components/confirm-dialog/confirm-dialog-data.mjs +0 -0
  165. /package/{esm2020 → esm2022}/components/edit-page/edit-data.route.mjs +0 -0
  166. /package/{esm2020 → esm2022}/components/edit-page/page-edit-data.builder.mjs +0 -0
  167. /package/{esm2020 → esm2022}/components/get-validation-error-message.function.mjs +0 -0
  168. /package/{esm2020 → esm2022}/components/table/create-dialog/create-entity-dialog-data.mjs +0 -0
  169. /package/{esm2020 → esm2022}/components/table/default.actions.mjs +0 -0
  170. /package/{esm2020 → esm2022}/components/table/edit-dialog/edit-entity-data.mjs +0 -0
  171. /package/{esm2020 → esm2022}/components/table/table-data.mjs +0 -0
  172. /package/{esm2020 → esm2022}/decorators/array/array.decorator.mjs +0 -0
  173. /package/{esm2020 → esm2022}/decorators/base/base-property.decorator.mjs +0 -0
  174. /package/{esm2020 → esm2022}/decorators/base/decorator-types.enum.mjs +0 -0
  175. /package/{esm2020 → esm2022}/decorators/base/dropdown-value.interface.mjs +0 -0
  176. /package/{esm2020 → esm2022}/decorators/boolean/boolean.decorator.mjs +0 -0
  177. /package/{esm2020 → esm2022}/decorators/custom/custom-decorator.data.mjs +0 -0
  178. /package/{esm2020 → esm2022}/decorators/custom/custom.decorator.mjs +0 -0
  179. /package/{esm2020 → esm2022}/decorators/date/date.decorator.mjs +0 -0
  180. /package/{esm2020 → esm2022}/decorators/file/file.decorator.mjs +0 -0
  181. /package/{esm2020 → esm2022}/decorators/has-many/has-many-decorator.data.mjs +0 -0
  182. /package/{esm2020 → esm2022}/decorators/has-many/has-many.decorator.mjs +0 -0
  183. /package/{esm2020 → esm2022}/decorators/number/number.decorator.mjs +0 -0
  184. /package/{esm2020 → esm2022}/decorators/object/object.decorator.mjs +0 -0
  185. /package/{esm2020 → esm2022}/decorators/references-many/references-many-decorator.data.mjs +0 -0
  186. /package/{esm2020 → esm2022}/decorators/references-many/references-many.decorator.mjs +0 -0
  187. /package/{esm2020 → esm2022}/decorators/references-one/references-one-decorator.data.mjs +0 -0
  188. /package/{esm2020 → esm2022}/decorators/references-one/references-one.decorator.mjs +0 -0
  189. /package/{esm2020 → esm2022}/decorators/string/string.decorator.mjs +0 -0
  190. /package/{esm2020 → esm2022}/encapsulation/js-2-xml.utilities.mjs +0 -0
  191. /package/{esm2020 → esm2022}/encapsulation/jszip.utilities.mjs +0 -0
  192. /package/{esm2020 → esm2022}/encapsulation/lodash.utilities.mjs +0 -0
  193. /package/{esm2020 → esm2022}/encapsulation/reflect.utilities.mjs +0 -0
  194. /package/{esm2020 → esm2022}/functions/default-false.function.mjs +0 -0
  195. /package/{esm2020 → esm2022}/functions/default-true.function.mjs +0 -0
  196. /package/{esm2020 → esm2022}/functions/is-async-function.function.mjs +0 -0
  197. /package/{esm2020 → esm2022}/mocks/placeholder-data.png.mjs +0 -0
  198. /package/{esm2020 → esm2022}/ngx-material-entity.mjs +0 -0
  199. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  200. /package/{esm2020 → esm2022}/services/unsaved-changes.guard.mjs +0 -0
  201. /package/{esm2020 → esm2022}/utilities/file.utilities.mjs +0 -0
  202. /package/{esm2020 → esm2022}/utilities/selection.utilities.mjs +0 -0
@@ -0,0 +1,286 @@
1
+ import { DateUtilities } from '../../utilities/date.utilities';
2
+ import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
3
+ /**
4
+ * The internal dialog data for the entities array edit dialog.
5
+ * Sets default values.
6
+ */
7
+ export class EditArrayItemDialogDataInternal {
8
+ // eslint-disable-next-line jsdoc/require-jsdoc
9
+ title;
10
+ // eslint-disable-next-line jsdoc/require-jsdoc
11
+ confirmButtonLabel;
12
+ // eslint-disable-next-line jsdoc/require-jsdoc
13
+ cancelButtonLabel;
14
+ constructor(data) {
15
+ this.title = data?.title ?? (() => 'Edit');
16
+ this.confirmButtonLabel = data?.confirmButtonLabel ?? 'Save';
17
+ this.cancelButtonLabel = data?.cancelButtonLabel ?? 'Cancel';
18
+ }
19
+ }
20
+ /**
21
+ * The internal EntityArrayDecoratorConfig. Sets default values.
22
+ */
23
+ export class EntityArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
24
+ // eslint-disable-next-line jsdoc/require-jsdoc
25
+ itemType;
26
+ // eslint-disable-next-line jsdoc/require-jsdoc
27
+ allowDuplicates;
28
+ // eslint-disable-next-line jsdoc/require-jsdoc
29
+ duplicatesErrorDialog;
30
+ // eslint-disable-next-line jsdoc/require-jsdoc
31
+ EntityClass;
32
+ // eslint-disable-next-line jsdoc/require-jsdoc
33
+ displayColumns;
34
+ // eslint-disable-next-line jsdoc/require-jsdoc
35
+ createDialogData;
36
+ // eslint-disable-next-line jsdoc/require-jsdoc
37
+ editDialogData;
38
+ // eslint-disable-next-line jsdoc/require-jsdoc
39
+ createInline;
40
+ // eslint-disable-next-line jsdoc/require-jsdoc
41
+ missingErrorMessage;
42
+ // eslint-disable-next-line jsdoc/require-jsdoc
43
+ addButtonLabel;
44
+ // eslint-disable-next-line jsdoc/require-jsdoc
45
+ removeButtonLabel;
46
+ constructor(data) {
47
+ super(data);
48
+ this.createInline = data.createInline ?? true;
49
+ this.itemType = data.itemType;
50
+ this.allowDuplicates = data.allowDuplicates ?? false;
51
+ this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data);
52
+ this.EntityClass = data.EntityClass;
53
+ this.displayColumns = data.displayColumns;
54
+ this.createInline = data.createInline ?? true;
55
+ this.missingErrorMessage = data.missingErrorMessage ?? 'Needs to contain at least one value';
56
+ this.defaultWidths = data.defaultWidths ?? [12, 12, 12];
57
+ this.addButtonLabel = data.addButtonLabel ?? 'Add';
58
+ this.removeButtonLabel = data.removeButtonLabel ?? 'Remove';
59
+ this.editDialogData = new EditArrayItemDialogDataInternal(data.editDialogData);
60
+ }
61
+ }
62
+ /**
63
+ * The internal DateArrayDecoratorConfig. Sets default values.
64
+ */
65
+ export class DateArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
66
+ // eslint-disable-next-line jsdoc/require-jsdoc
67
+ itemType;
68
+ // eslint-disable-next-line jsdoc/require-jsdoc
69
+ allowDuplicates;
70
+ // eslint-disable-next-line jsdoc/require-jsdoc
71
+ duplicatesErrorDialog;
72
+ // eslint-disable-next-line jsdoc/require-jsdoc
73
+ displayColumns;
74
+ // eslint-disable-next-line jsdoc/require-jsdoc
75
+ addButtonLabel;
76
+ // eslint-disable-next-line jsdoc/require-jsdoc
77
+ removeButtonLabel;
78
+ // eslint-disable-next-line jsdoc/require-jsdoc
79
+ missingErrorMessage;
80
+ // eslint-disable-next-line jsdoc/require-jsdoc
81
+ min;
82
+ // eslint-disable-next-line jsdoc/require-jsdoc
83
+ max;
84
+ // eslint-disable-next-line jsdoc/require-jsdoc
85
+ filter;
86
+ constructor(data) {
87
+ super(data);
88
+ this.itemType = data.itemType;
89
+ this.allowDuplicates = data.allowDuplicates ?? false;
90
+ this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data);
91
+ this.displayColumns = data.displayColumns;
92
+ this.defaultWidths = data.defaultWidths ?? [12, 12, 12];
93
+ this.addButtonLabel = data.addButtonLabel ?? 'Add';
94
+ this.removeButtonLabel = data.removeButtonLabel ?? 'Remove';
95
+ this.missingErrorMessage = data.missingErrorMessage ?? 'Needs to contain at least one value';
96
+ this.min = data.min;
97
+ this.max = data.max;
98
+ this.filter = data.filter;
99
+ }
100
+ }
101
+ /**
102
+ * The internal DateTimeArrayDecoratorConfig. Sets default values.
103
+ */
104
+ export class DateTimeArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
105
+ // eslint-disable-next-line jsdoc/require-jsdoc
106
+ itemType;
107
+ // eslint-disable-next-line jsdoc/require-jsdoc
108
+ allowDuplicates;
109
+ // eslint-disable-next-line jsdoc/require-jsdoc
110
+ duplicatesErrorDialog;
111
+ // eslint-disable-next-line jsdoc/require-jsdoc
112
+ displayColumns;
113
+ // eslint-disable-next-line jsdoc/require-jsdoc
114
+ addButtonLabel;
115
+ // eslint-disable-next-line jsdoc/require-jsdoc
116
+ removeButtonLabel;
117
+ // eslint-disable-next-line jsdoc/require-jsdoc
118
+ missingErrorMessage;
119
+ // eslint-disable-next-line jsdoc/require-jsdoc
120
+ times;
121
+ // eslint-disable-next-line jsdoc/require-jsdoc
122
+ timeDisplayName;
123
+ // eslint-disable-next-line jsdoc/require-jsdoc
124
+ minDate;
125
+ // eslint-disable-next-line jsdoc/require-jsdoc
126
+ maxDate;
127
+ // eslint-disable-next-line jsdoc/require-jsdoc
128
+ filterDate;
129
+ // eslint-disable-next-line jsdoc/require-jsdoc
130
+ minTime;
131
+ // eslint-disable-next-line jsdoc/require-jsdoc
132
+ maxTime;
133
+ // eslint-disable-next-line jsdoc/require-jsdoc
134
+ filterTime;
135
+ constructor(data) {
136
+ super(data);
137
+ this.itemType = data.itemType;
138
+ this.allowDuplicates = data.allowDuplicates ?? false;
139
+ this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data);
140
+ this.displayColumns = data.displayColumns;
141
+ this.defaultWidths = data.defaultWidths ?? [12, 12, 12];
142
+ this.addButtonLabel = data.addButtonLabel ?? 'Add';
143
+ this.removeButtonLabel = data.removeButtonLabel ?? 'Remove';
144
+ this.missingErrorMessage = data.missingErrorMessage ?? 'Needs to contain at least one value';
145
+ this.times = data.times ?? DateUtilities.getDefaultTimes();
146
+ this.timeDisplayName = data.timeDisplayName ?? 'Time';
147
+ this.minDate = data.minDate;
148
+ this.maxDate = data.maxDate;
149
+ this.filterDate = data.filterDate;
150
+ this.minTime = data.minTime;
151
+ this.maxTime = data.maxTime;
152
+ this.filterTime = data.filterTime;
153
+ }
154
+ }
155
+ /**
156
+ * The internal DateRangeArrayDecoratorConfig. Sets default values.
157
+ */
158
+ export class DateRangeArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
159
+ // eslint-disable-next-line jsdoc/require-jsdoc
160
+ itemType;
161
+ // eslint-disable-next-line jsdoc/require-jsdoc
162
+ allowDuplicates;
163
+ // eslint-disable-next-line jsdoc/require-jsdoc
164
+ duplicatesErrorDialog;
165
+ // eslint-disable-next-line jsdoc/require-jsdoc
166
+ displayColumns;
167
+ // eslint-disable-next-line jsdoc/require-jsdoc
168
+ addButtonLabel;
169
+ // eslint-disable-next-line jsdoc/require-jsdoc
170
+ removeButtonLabel;
171
+ // eslint-disable-next-line jsdoc/require-jsdoc
172
+ missingErrorMessage;
173
+ // eslint-disable-next-line jsdoc/require-jsdoc
174
+ placeholderStart;
175
+ // eslint-disable-next-line jsdoc/require-jsdoc
176
+ placeholderEnd;
177
+ // eslint-disable-next-line jsdoc/require-jsdoc
178
+ minStart;
179
+ // eslint-disable-next-line jsdoc/require-jsdoc
180
+ maxStart;
181
+ // eslint-disable-next-line jsdoc/require-jsdoc
182
+ minEnd;
183
+ // eslint-disable-next-line jsdoc/require-jsdoc
184
+ maxEnd;
185
+ // eslint-disable-next-line jsdoc/require-jsdoc
186
+ filter;
187
+ constructor(data) {
188
+ super(data);
189
+ this.itemType = data.itemType;
190
+ this.allowDuplicates = data.allowDuplicates ?? false;
191
+ this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data);
192
+ this.displayColumns = data.displayColumns;
193
+ this.defaultWidths = data.defaultWidths ?? [12, 12, 12];
194
+ this.addButtonLabel = data.addButtonLabel ?? 'Add';
195
+ this.removeButtonLabel = data.removeButtonLabel ?? 'Remove';
196
+ this.missingErrorMessage = data.missingErrorMessage ?? 'Needs to contain at least one value';
197
+ this.placeholderStart = data.placeholderStart ?? 'Start';
198
+ this.placeholderEnd = data.placeholderEnd ?? 'End';
199
+ this.minStart = data.minStart;
200
+ this.maxStart = data.maxStart;
201
+ this.minEnd = data.minEnd;
202
+ this.maxEnd = data.maxEnd;
203
+ this.filter = data.filter;
204
+ }
205
+ }
206
+ /**
207
+ * The internal StringChipsArrayDecoratorConfig. Sets default values.
208
+ */
209
+ export class StringChipsArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
210
+ // eslint-disable-next-line jsdoc/require-jsdoc
211
+ itemType;
212
+ // eslint-disable-next-line jsdoc/require-jsdoc
213
+ allowDuplicates;
214
+ // eslint-disable-next-line jsdoc/require-jsdoc
215
+ duplicatesErrorDialog;
216
+ // eslint-disable-next-line jsdoc/require-jsdoc
217
+ deleteIcon;
218
+ // eslint-disable-next-line jsdoc/require-jsdoc
219
+ minLength;
220
+ // eslint-disable-next-line jsdoc/require-jsdoc
221
+ maxLength;
222
+ // eslint-disable-next-line jsdoc/require-jsdoc
223
+ regex;
224
+ constructor(data) {
225
+ super(data);
226
+ this.deleteIcon = data.deleteIcon ?? 'fas fa-circle-minus';
227
+ this.itemType = data.itemType;
228
+ this.allowDuplicates = data.allowDuplicates ?? false;
229
+ this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data);
230
+ this.maxLength = data.maxLength;
231
+ this.minLength = data.minLength;
232
+ this.regex = data.regex;
233
+ this.defaultWidths = data.defaultWidths ?? [6, 12, 12];
234
+ }
235
+ }
236
+ /**
237
+ * The internal AutocompleteStringChipsArrayDecoratorConfig. Sets default values.
238
+ */
239
+ export class AutocompleteStringChipsArrayDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
240
+ // eslint-disable-next-line jsdoc/require-jsdoc
241
+ autocompleteValues;
242
+ // eslint-disable-next-line jsdoc/require-jsdoc
243
+ itemType;
244
+ // eslint-disable-next-line jsdoc/require-jsdoc
245
+ allowDuplicates;
246
+ // eslint-disable-next-line jsdoc/require-jsdoc
247
+ duplicatesErrorDialog;
248
+ // eslint-disable-next-line jsdoc/require-jsdoc
249
+ deleteIcon;
250
+ // eslint-disable-next-line jsdoc/require-jsdoc
251
+ minLength;
252
+ // eslint-disable-next-line jsdoc/require-jsdoc
253
+ maxLength;
254
+ // eslint-disable-next-line jsdoc/require-jsdoc
255
+ regex;
256
+ constructor(data) {
257
+ super(data);
258
+ this.autocompleteValues = data.autocompleteValues;
259
+ this.deleteIcon = data.deleteIcon ?? 'fas fa-circle-minus';
260
+ this.itemType = data.itemType;
261
+ this.allowDuplicates = data.allowDuplicates ?? false;
262
+ this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data);
263
+ this.maxLength = data.maxLength;
264
+ this.minLength = data.minLength;
265
+ this.regex = data.regex;
266
+ this.defaultWidths = data.defaultWidths ?? [6, 12, 12];
267
+ }
268
+ }
269
+ /**
270
+ * Gets the default dialog data for the error dialog to display when the user tries to add a duplicate value.
271
+ *
272
+ * @param data - The Array Decorator data.
273
+ * @returns The dialog data with set default values.
274
+ */
275
+ function getDefaultDuplicateErrorDialogData(data) {
276
+ return {
277
+ type: data.duplicatesErrorDialog?.type ?? 'info-only',
278
+ text: data.duplicatesErrorDialog?.text ?? ['Adding duplicate entries to the array is not allowed.'],
279
+ title: data.duplicatesErrorDialog?.title ?? 'Error adding duplicate item',
280
+ confirmButtonLabel: data.duplicatesErrorDialog?.confirmButtonLabel,
281
+ cancelButtonLabel: data.duplicatesErrorDialog?.cancelButtonLabel,
282
+ requireConfirmation: data.duplicatesErrorDialog?.requireConfirmation,
283
+ confirmationText: data.duplicatesErrorDialog?.confirmationText
284
+ };
285
+ }
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZGVjb3JhdG9yLWludGVybmFsLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUcvRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUkzRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sK0JBQStCO0lBQ3hDLCtDQUErQztJQUMvQyxLQUFLLENBQWlDO0lBQ3RDLCtDQUErQztJQUMvQyxrQkFBa0IsQ0FBUztJQUMzQiwrQ0FBK0M7SUFDL0MsaUJBQWlCLENBQVM7SUFFMUIsWUFBWSxJQUEwQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLE1BQU0sQ0FBQztRQUM3RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixJQUFJLFFBQVEsQ0FBQztJQUNqRSxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQ0FDVCxTQUFRLCtCQUErQjtJQUV2QywrQ0FBK0M7SUFDL0MsUUFBUSxDQUF3QjtJQUNoQywrQ0FBK0M7SUFDL0MsZUFBZSxDQUFVO0lBQ3pCLCtDQUErQztJQUMvQyxxQkFBcUIsQ0FBb0I7SUFDekMsK0NBQStDO0lBQy9DLFdBQVcsQ0FBaUM7SUFDNUMsK0NBQStDO0lBQy9DLGNBQWMsQ0FBOEI7SUFDNUMsK0NBQStDO0lBQy9DLGdCQUFnQixDQUFvQjtJQUNwQywrQ0FBK0M7SUFDL0Ms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QjtJQUNsRSxPQUFPO1FBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLElBQUksV0FBVztRQUNyRCxJQUFJLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksSUFBSSxDQUFDLHVEQUF1RCxDQUFDO1FBQ25HLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLDZCQUE2QjtRQUN6RSxrQkFBa0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsa0JBQWtCO1FBQ2xFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxpQkFBaUI7UUFDaEUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLG1CQUFtQjtRQUNwRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCO0tBQ2pFLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGltZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRlRmlsdGVyRm4gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlLCBFbnRpdHlDbGFzc05ld2FibGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBDcmVhdGVEaWFsb2dEYXRhLCBEaXNwbGF5Q29sdW1uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhJztcbmltcG9ydCB7IERhdGVVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZGF0ZS51dGlsaXRpZXMnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IERyb3Bkb3duVmFsdWUgfSBmcm9tICcuLi9iYXNlL2Ryb3Bkb3duLXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi4vYmFzZS9wcm9wZXJ0eS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuLi9kYXRlL2RhdGUtZGVjb3JhdG9yLmRhdGEnO1xuaW1wb3J0IHsgQXJyYXlEZWNvcmF0b3JDb25maWcsIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcsIERhdGVBcnJheURlY29yYXRvckNvbmZpZywgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcsIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcsIEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhLCBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZywgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vYXJyYXktZGVjb3JhdG9yLmRhdGEnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBkaWFsb2cgZGF0YSBmb3IgdGhlIGVudGl0aWVzIGFycmF5IGVkaXQgZGlhbG9nLlxuICogU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogRWRpdEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IGRhdGE/LnRpdGxlID8/ICgoKSA9PiAnRWRpdCcpO1xuICAgICAgICB0aGlzLmNvbmZpcm1CdXR0b25MYWJlbCA9IGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCA/PyAnU2F2ZSc7XG4gICAgICAgIHRoaXMuY2FuY2VsQnV0dG9uTGFiZWwgPSBkYXRhPy5jYW5jZWxCdXR0b25MYWJlbCA/PyAnQ2FuY2VsJztcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+XG4gICAgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsIGltcGxlbWVudHMgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZT4ge1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuT0JKRUNUO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIEVudGl0eUNsYXNzOiBFbnRpdHlDbGFzc05ld2FibGU8RW50aXR5VHlwZT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPltdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY3JlYXRlRGlhbG9nRGF0YT86IENyZWF0ZURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBlZGl0RGlhbG9nRGF0YTogRWRpdEFycmF5SXRlbURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZUlubGluZTogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuY3JlYXRlSW5saW5lID0gZGF0YS5jcmVhdGVJbmxpbmUgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhKTtcbiAgICAgICAgdGhpcy5FbnRpdHlDbGFzcyA9IGRhdGEuRW50aXR5Q2xhc3M7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBkYXRhLmRpc3BsYXlDb2x1bW5zO1xuICAgICAgICB0aGlzLmNyZWF0ZUlubGluZSA9IGRhdGEuY3JlYXRlSW5saW5lID8/IHRydWU7XG4gICAgICAgIHRoaXMubWlzc2luZ0Vycm9yTWVzc2FnZSA9IGRhdGEubWlzc2luZ0Vycm9yTWVzc2FnZSA/PyAnTmVlZHMgdG8gY29udGFpbiBhdCBsZWFzdCBvbmUgdmFsdWUnO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzEyLCAxMiwgMTJdO1xuICAgICAgICB0aGlzLmFkZEJ1dHRvbkxhYmVsID0gZGF0YS5hZGRCdXR0b25MYWJlbCA/PyAnQWRkJztcbiAgICAgICAgdGhpcy5yZW1vdmVCdXR0b25MYWJlbCA9IGRhdGEucmVtb3ZlQnV0dG9uTGFiZWwgPz8gJ1JlbW92ZSc7XG4gICAgICAgIHRoaXMuZWRpdERpYWxvZ0RhdGEgPSBuZXcgRWRpdEFycmF5SXRlbURpYWxvZ0RhdGFJbnRlcm5hbChkYXRhLmVkaXREaWFsb2dEYXRhKTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIERhdGVBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBpbXBsZW1lbnRzIERhdGVBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuREFURTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFsbG93RHVwbGljYXRlczogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGR1cGxpY2F0ZXNFcnJvckRpYWxvZzogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxEYXRlPltdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWRkQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHJlbW92ZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaXNzaW5nRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW4/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXg/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGwgfCB1bmRlZmluZWQ+O1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gZGF0YS5kaXNwbGF5Q29sdW1ucztcbiAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGhzID0gZGF0YS5kZWZhdWx0V2lkdGhzID8/IFsxMiwgMTIsIDEyXTtcbiAgICAgICAgdGhpcy5hZGRCdXR0b25MYWJlbCA9IGRhdGEuYWRkQnV0dG9uTGFiZWwgPz8gJ0FkZCc7XG4gICAgICAgIHRoaXMucmVtb3ZlQnV0dG9uTGFiZWwgPSBkYXRhLnJlbW92ZUJ1dHRvbkxhYmVsID8/ICdSZW1vdmUnO1xuICAgICAgICB0aGlzLm1pc3NpbmdFcnJvck1lc3NhZ2UgPSBkYXRhLm1pc3NpbmdFcnJvck1lc3NhZ2UgPz8gJ05lZWRzIHRvIGNvbnRhaW4gYXQgbGVhc3Qgb25lIHZhbHVlJztcbiAgICAgICAgdGhpcy5taW4gPSBkYXRhLm1pbjtcbiAgICAgICAgdGhpcy5tYXggPSBkYXRhLm1heDtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBkYXRhLmZpbHRlcjtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsIGltcGxlbWVudHMgRGF0ZVRpbWVBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuREFURV9USU1FO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGU+W107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhZGRCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpbWVzOiBEcm9wZG93blZhbHVlPFRpbWU+W107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0aW1lRGlzcGxheU5hbWU6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbkRhdGU/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhEYXRlPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZmlsdGVyRGF0ZT86IERhdGVGaWx0ZXJGbjxEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5UaW1lPzogKGRhdGU/OiBEYXRlKSA9PiBUaW1lO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4VGltZT86IChkYXRlPzogRGF0ZSkgPT4gVGltZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGZpbHRlclRpbWU/OiAoKHRpbWU6IFRpbWUpID0+IGJvb2xlYW4pIHwgKCgpID0+IGJvb2xlYW4pO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0ZVRpbWVBcnJheURlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRhdGEuZGlzcGxheUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbMTIsIDEyLCAxMl07XG4gICAgICAgIHRoaXMuYWRkQnV0dG9uTGFiZWwgPSBkYXRhLmFkZEJ1dHRvbkxhYmVsID8/ICdBZGQnO1xuICAgICAgICB0aGlzLnJlbW92ZUJ1dHRvbkxhYmVsID0gZGF0YS5yZW1vdmVCdXR0b25MYWJlbCA/PyAnUmVtb3ZlJztcbiAgICAgICAgdGhpcy5taXNzaW5nRXJyb3JNZXNzYWdlID0gZGF0YS5taXNzaW5nRXJyb3JNZXNzYWdlID8/ICdOZWVkcyB0byBjb250YWluIGF0IGxlYXN0IG9uZSB2YWx1ZSc7XG4gICAgICAgIHRoaXMudGltZXMgPSBkYXRhLnRpbWVzID8/IERhdGVVdGlsaXRpZXMuZ2V0RGVmYXVsdFRpbWVzKCk7XG4gICAgICAgIHRoaXMudGltZURpc3BsYXlOYW1lID0gZGF0YS50aW1lRGlzcGxheU5hbWUgPz8gJ1RpbWUnO1xuICAgICAgICB0aGlzLm1pbkRhdGUgPSBkYXRhLm1pbkRhdGU7XG4gICAgICAgIHRoaXMubWF4RGF0ZSA9IGRhdGEubWF4RGF0ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRlID0gZGF0YS5maWx0ZXJEYXRlO1xuICAgICAgICB0aGlzLm1pblRpbWUgPSBkYXRhLm1pblRpbWU7XG4gICAgICAgIHRoaXMubWF4VGltZSA9IGRhdGEubWF4VGltZTtcbiAgICAgICAgdGhpcy5maWx0ZXJUaW1lID0gZGF0YS5maWx0ZXJUaW1lO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBpbXBsZW1lbnRzIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1JBTkdFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGVSYW5nZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcGxhY2Vob2xkZXJTdGFydDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcGxhY2Vob2xkZXJFbmQ6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pblN0YXJ0PzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U3RhcnQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5FbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhFbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZT47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRhdGEuZGlzcGxheUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbMTIsIDEyLCAxMl07XG4gICAgICAgIHRoaXMuYWRkQnV0dG9uTGFiZWwgPSBkYXRhLmFkZEJ1dHRvbkxhYmVsID8/ICdBZGQnO1xuICAgICAgICB0aGlzLnJlbW92ZUJ1dHRvbkxhYmVsID0gZGF0YS5yZW1vdmVCdXR0b25MYWJlbCA/PyAnUmVtb3ZlJztcbiAgICAgICAgdGhpcy5taXNzaW5nRXJyb3JNZXNzYWdlID0gZGF0YS5taXNzaW5nRXJyb3JNZXNzYWdlID8/ICdOZWVkcyB0byBjb250YWluIGF0IGxlYXN0IG9uZSB2YWx1ZSc7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJTdGFydCA9IGRhdGEucGxhY2Vob2xkZXJTdGFydCA/PyAnU3RhcnQnO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyRW5kID0gZGF0YS5wbGFjZWhvbGRlckVuZCA/PyAnRW5kJztcbiAgICAgICAgdGhpcy5taW5TdGFydCA9IGRhdGEubWluU3RhcnQ7XG4gICAgICAgIHRoaXMubWF4U3RhcnQgPSBkYXRhLm1heFN0YXJ0O1xuICAgICAgICB0aGlzLm1pbkVuZCA9IGRhdGEubWluRW5kO1xuICAgICAgICB0aGlzLm1heEVuZCA9IGRhdGEubWF4RW5kO1xuICAgICAgICB0aGlzLmZpbHRlciA9IGRhdGEuZmlsdGVyO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgaW1wbGVtZW50cyBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5TVFJJTkc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0R1cGxpY2F0ZXM6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlSWNvbjogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVnZXg/OiBSZWdFeHA7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmRlbGV0ZUljb24gPSBkYXRhLmRlbGV0ZUljb24gPz8gJ2ZhcyBmYS1jaXJjbGUtbWludXMnO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLm1heExlbmd0aCA9IGRhdGEubWF4TGVuZ3RoO1xuICAgICAgICB0aGlzLm1pbkxlbmd0aCA9IGRhdGEubWluTGVuZ3RoO1xuICAgICAgICB0aGlzLnJlZ2V4ID0gZGF0YS5yZWdleDtcbiAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGhzID0gZGF0YS5kZWZhdWx0V2lkdGhzID8/IFs2LCAxMiwgMTJdO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbFxuICAgIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBpbXBsZW1lbnRzIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYXV0b2NvbXBsZXRlVmFsdWVzOiBzdHJpbmdbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5TVFJJTkdfQVVUT0NPTVBMRVRFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUljb246IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heExlbmd0aD86IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHJlZ2V4PzogUmVnRXhwO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMgPSBkYXRhLmF1dG9jb21wbGV0ZVZhbHVlcztcbiAgICAgICAgdGhpcy5kZWxldGVJY29uID0gZGF0YS5kZWxldGVJY29uID8/ICdmYXMgZmEtY2lyY2xlLW1pbnVzJztcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhKTtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBkYXRhLm1heExlbmd0aDtcbiAgICAgICAgdGhpcy5taW5MZW5ndGggPSBkYXRhLm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5yZWdleCA9IGRhdGEucmVnZXg7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbNiwgMTIsIDEyXTtcbiAgICB9XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZGVmYXVsdCBkaWFsb2cgZGF0YSBmb3IgdGhlIGVycm9yIGRpYWxvZyB0byBkaXNwbGF5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgZHVwbGljYXRlIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIEFycmF5IERlY29yYXRvciBkYXRhLlxuICogQHJldHVybnMgVGhlIGRpYWxvZyBkYXRhIHdpdGggc2V0IGRlZmF1bHQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGE6IEFycmF5RGVjb3JhdG9yQ29uZmlnKTogQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGRhdGEuZHVwbGljYXRlc0Vycm9yRGlhbG9nPy50eXBlID8/ICdpbmZvLW9ubHknLFxuICAgICAgICB0ZXh0OiBkYXRhLmR1cGxpY2F0ZXNFcnJvckRpYWxvZz8udGV4dCA/PyBbJ0FkZGluZyBkdXBsaWNhdGUgZW50cmllcyB0byB0aGUgYXJyYXkgaXMgbm90IGFsbG93ZWQuJ10sXG4gICAgICAgIHRpdGxlOiBkYXRhLmR1cGxpY2F0ZXNFcnJvckRpYWxvZz8udGl0bGUgPz8gJ0Vycm9yIGFkZGluZyBkdXBsaWNhdGUgaXRlbScsXG4gICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogZGF0YS5kdXBsaWNhdGVzRXJyb3JEaWFsb2c/LmNvbmZpcm1CdXR0b25MYWJlbCxcbiAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IGRhdGEuZHVwbGljYXRlc0Vycm9yRGlhbG9nPy5jYW5jZWxCdXR0b25MYWJlbCxcbiAgICAgICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogZGF0YS5kdXBsaWNhdGVzRXJyb3JEaWFsb2c/LnJlcXVpcmVDb25maXJtYXRpb24sXG4gICAgICAgIGNvbmZpcm1hdGlvblRleHQ6IGRhdGEuZHVwbGljYXRlc0Vycm9yRGlhbG9nPy5jb25maXJtYXRpb25UZXh0XG4gICAgfTtcbn0iXX0=
@@ -0,0 +1,21 @@
1
+ import { PropertyDecoratorConfig } from '../base/property-decorator.data';
2
+ /**
3
+ * Interface definition for the @array metadata.
4
+ */
5
+ export class ArrayDecoratorConfig extends PropertyDecoratorConfig {
6
+ /**
7
+ * The type of the items inside the array.
8
+ */
9
+ itemType;
10
+ /**
11
+ * Whether or not duplicate values are allowed inside the array.
12
+ *
13
+ * @default false
14
+ */
15
+ allowDuplicates;
16
+ /**
17
+ * The error dialog to display when the user tries to add a duplicate entry.
18
+ */
19
+ duplicatesErrorDialog;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZGVjb3JhdG9yLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzFFOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixvQkFBcUIsU0FBUSx1QkFBdUI7SUFDdEU7O09BRUc7SUFDSCxRQUFRLENBQWtCO0lBRTFCOzs7O09BSUc7SUFDSCxlQUFlLENBQVc7SUFFMUI7O09BRUc7SUFDSCxxQkFBcUIsQ0FBcUI7Q0FDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGVGaWx0ZXJGbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUsIEVudGl0eUNsYXNzTmV3YWJsZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IENyZWF0ZURpYWxvZ0RhdGEsIERpc3BsYXlDb2x1bW4gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWRhdGEnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IERyb3Bkb3duVmFsdWUgfSBmcm9tICcuLi9iYXNlL2Ryb3Bkb3duLXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4uL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnLi4vZGF0ZS9kYXRlLWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pdGlvbiBmb3IgdGhlIEBhcnJheSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFycmF5RGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWcge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRoZSBpdGVtcyBpbnNpZGUgdGhlIGFycmF5LlxuICAgICAqL1xuICAgIGl0ZW1UeXBlITogRGVjb3JhdG9yVHlwZXM7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCBkdXBsaWNhdGUgdmFsdWVzIGFyZSBhbGxvd2VkIGluc2lkZSB0aGUgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIGFsbG93RHVwbGljYXRlcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3IgZGlhbG9nIHRvIGRpc3BsYXkgd2hlbiB0aGUgdXNlciB0cmllcyB0byBhZGQgYSBkdXBsaWNhdGUgZW50cnkuXG4gICAgICovXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nPzogQ29uZmlybURpYWxvZ0RhdGE7XG59XG5cbi8qKlxuICogVGhlIGRpYWxvZyBkYXRhIGZvciB0aGUgZW50aXRpZXMgYXJyYXkgZWRpdCBkaWFsb2cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiB7XG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIG9mIHRoZSBkZWZhdWx0IGVkaXQtZGlhbG9nLlxuICAgICAqL1xuICAgIHRpdGxlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY29uZmlybS1idXR0b24gb2YgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cgb3IgcGFnZS4gRGVmYXVsdHMgdG8gXCJTYXZlXCIuXG4gICAgICovXG4gICAgY29uZmlybUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY2FuY2VsLWJ1dHRvbiBmb3IgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cgb3IgcGFnZS4gRGVmYXVsdHMgdG8gXCJDYW5jZWxcIi5cbiAgICAgKi9cbiAgICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIEVudGl0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuT0JKRUNULFxuXG4gICAgLyoqXG4gICAgICogVGhlIEVudGl0eUNsYXNzIHVzZWQgZm9yIGdlbmVyYXRpbmcgdGhlIGNyZWF0ZSBpbnB1dHMuXG4gICAgICovXG4gICAgRW50aXR5Q2xhc3M6IEVudGl0eUNsYXNzTmV3YWJsZTxFbnRpdHlUeXBlPixcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZpbml0aW9uIG9mIHRoZSBjb2x1bW5zIHRvIGRpc3BsYXkuIENvbnNpc3RzIG9mIHRoZSBkaXNwbGF5TmFtZSB0byBzaG93IGluIHRoZSBoZWFkZXIgb2YgdGhlIHJvd1xuICAgICAqIGFuZCB0aGUgdmFsdWUsIHdoaWNoIGlzIGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgdGhlIHZhbHVlIHRvIGRpc3BsYXkgaW5zaWRlIGEgY29sdW1uLlxuICAgICAqL1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPEVudGl0eVR5cGU+W10sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBmb3IgdGhlIGFkZC1pdGVtLWRpYWxvZy5cbiAgICAgKiBDYW4gYmUgb21pdHRlZCB3aGVuIGFkZGluZyBpdGVtcyBpbmxpbmUuXG4gICAgICovXG4gICAgY3JlYXRlRGlhbG9nRGF0YT86IENyZWF0ZURpYWxvZ0RhdGEsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBmb3IgdGhlIGVkaXQtaXRlbS1kaWFsb2cuXG4gICAgICogQ2FuIGJlIG9taXR0ZWQgd2hlbiBhZGRpbmcgaXRlbXMgaW5saW5lLlxuICAgICAqL1xuICAgIGVkaXREaWFsb2dEYXRhPzogRWRpdEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZT4sXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZm9ybSBmb3IgYWRkaW5nIGl0ZW1zIHRvIHRoZSBhcnJheVxuICAgICAqIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGNyZWF0ZUlubGluZT86IGJvb2xlYW4sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBhZGQgYnV0dG9uIHdoZW4gY3JlYXRlSW5saW5lIGlzIHRydWUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbiB3aGVuIGNyZWF0ZUlubGluZSBpcyB0cnVlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ1JlbW92ZSdcbiAgICAgKi9cbiAgICByZW1vdmVCdXR0b25MYWJlbD86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBlcnJvci1tZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgYXJyYXkgaXMgcmVxdWlyZWQgYnV0IGNvbnRhaW5zIG5vIHZhbHVlcy5cbiAgICAgKi9cbiAgICBtaXNzaW5nRXJyb3JNZXNzYWdlPzogc3RyaW5nXG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgRGF0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgQXJyYXlEZWNvcmF0b3JDb25maWcge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLkRBVEUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyB0byBkaXNwbGF5LiBDb25zaXN0cyBvZiB0aGUgZGlzcGxheU5hbWUgdG8gc2hvdyBpbiB0aGUgaGVhZGVyIG9mIHRoZSByb3dcbiAgICAgKiBhbmQgdGhlIHZhbHVlLCB3aGljaCBpcyBhIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluc2lkZSBhIGNvbHVtbi5cbiAgICAgKi9cbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxEYXRlPltdLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgYWRkIGJ1dHRvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICdBZGQnXG4gICAgICovXG4gICAgYWRkQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG5cbiAgICAgLyoqXG4gICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIHJlbW92ZSBidXR0b24uXG4gICAgICAqXG4gICAgICAqIEBkZWZhdWx0ICdSZW1vdmUnXG4gICAgICAqL1xuICAgIHJlbW92ZUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yLW1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBhcnJheSBpcyByZXF1aXJlZCBidXQgY29udGFpbnMgbm8gdmFsdWVzLlxuICAgICAqL1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW4/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXg/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZpbHRlciBmdW5jdGlvbiB0byBkbyBtb3JlIHNwZWNpZmljIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGwgfCB1bmRlZmluZWQ+XG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgRGF0ZVRpbWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuREFURV9USU1FLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmluaXRpb24gb2YgdGhlIGNvbHVtbnMgdG8gZGlzcGxheS4gQ29uc2lzdHMgb2YgdGhlIGRpc3BsYXlOYW1lIHRvIHNob3cgaW4gdGhlIGhlYWRlciBvZiB0aGUgcm93XG4gICAgICogYW5kIHRoZSB2YWx1ZSwgd2hpY2ggaXMgYSBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyB0aGUgdmFsdWUgdG8gZGlzcGxheSBpbnNpZGUgYSBjb2x1bW4uXG4gICAgICovXG4gICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RGF0ZT5bXSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIGFkZCBidXR0b24uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgIC8qKlxuICAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSByZW1vdmUgYnV0dG9uLlxuICAgICAgKlxuICAgICAgKiBAZGVmYXVsdCAnUmVtb3ZlJ1xuICAgICAgKi9cbiAgICByZW1vdmVCdXR0b25MYWJlbD86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBlcnJvci1tZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgYXJyYXkgaXMgcmVxdWlyZWQgYnV0IGNvbnRhaW5zIG5vIHZhbHVlcy5cbiAgICAgKi9cbiAgICBtaXNzaW5nRXJyb3JNZXNzYWdlPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIHNlbGVjdGFibGUgdGltZXMuXG4gICAgICovXG4gICAgdGltZXM/OiBEcm9wZG93blZhbHVlPFRpbWU+W10sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSB0byB1c2UgYXMgYSBsYWJlbCBmb3IgdGhlIHRpbWUgZm9ybSBmaWVsZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICdUaW1lJ1xuICAgICAqL1xuICAgIHRpbWVEaXNwbGF5TmFtZT86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBkYXRlLlxuICAgICAqL1xuICAgIG1pbkRhdGU/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXhEYXRlPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyBkYXRlIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXJEYXRlPzogRGF0ZUZpbHRlckZuPERhdGUgfCBudWxsIHwgdW5kZWZpbmVkPixcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB0aW1lLlxuICAgICAqL1xuICAgIG1pblRpbWU/OiAoZGF0ZT86IERhdGUpID0+IFRpbWUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgdGltZS5cbiAgICAgKi9cbiAgICBtYXhUaW1lPzogKGRhdGU/OiBEYXRlKSA9PiBUaW1lLFxuXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyB0aW1lIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSBlLmcuIFRoZSByZW1vdmFsIG9mIGx1bmNoIGJyZWFrcy5cbiAgICAgKi9cbiAgICBmaWx0ZXJUaW1lPzogKCh0aW1lOiBUaW1lKSA9PiBib29sZWFuKSB8ICgoKSA9PiBib29sZWFuKVxufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIERhdGVSYW5nZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuREFURV9SQU5HRSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZpbml0aW9uIG9mIHRoZSBjb2x1bW5zIHRvIGRpc3BsYXkuIENvbnNpc3RzIG9mIHRoZSBkaXNwbGF5TmFtZSB0byBzaG93IGluIHRoZSBoZWFkZXIgb2YgdGhlIHJvd1xuICAgICAqIGFuZCB0aGUgdmFsdWUsIHdoaWNoIGlzIGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgdGhlIHZhbHVlIHRvIGRpc3BsYXkgaW5zaWRlIGEgY29sdW1uLlxuICAgICAqL1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGVSYW5nZT5bXSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIGFkZCBidXR0b24uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgIC8qKlxuICAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSByZW1vdmUgYnV0dG9uLlxuICAgICAgKlxuICAgICAgKiBAZGVmYXVsdCAnUmVtb3ZlJ1xuICAgICAgKi9cbiAgICByZW1vdmVCdXR0b25MYWJlbD86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBlcnJvci1tZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgYXJyYXkgaXMgcmVxdWlyZWQgYnV0IGNvbnRhaW5zIG5vIHZhbHVlcy5cbiAgICAgKi9cbiAgICBtaXNzaW5nRXJyb3JNZXNzYWdlPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0byBnZXQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHN0YXJ0IGRhdGUuXG4gICAgICovXG4gICAgbWluU3RhcnQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0byBnZXQgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHN0YXJ0IGRhdGUuXG4gICAgICovXG4gICAgbWF4U3RhcnQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0byBnZXQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIGVuZCBkYXRlLlxuICAgICAqL1xuICAgIG1pbkVuZD86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZSxcbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZW5kIGRhdGUuXG4gICAgICovXG4gICAgbWF4RW5kPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuICAgIC8qKlxuICAgICAqIEEgZmlsdGVyIGZ1bmN0aW9uIHRvIGRvIG1vcmUgc3BlY2lmaWMgZmlsdGVyaW5nIG9uIHRoZSBkaXNhbGxvd2VkIGVuZCBkYXRlIHZhbHVlcy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZT4sXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlaG9sZGVyIGZvciB0aGUgc3RhcnQgZGF0ZSBvZiB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcIlN0YXJ0XCJcbiAgICAgKi9cbiAgICBwbGFjZWhvbGRlclN0YXJ0Pzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBwbGFjZWhvbGRlciBmb3IgdGhlIGVuZCBkYXRlIG9mIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiRW5kXCJcbiAgICAgKi9cbiAgICBwbGFjZWhvbGRlckVuZD86IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIHN0cmluZ3MgZGlzcGxheWVkIGFzIGEgY2hpcHMgbGlzdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgQXJyYXlEZWNvcmF0b3JDb25maWcge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLlNUUklORyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGFzcyBmb3IgdGhlIDxpPiB0YWcgdXNlZCB0byByZW1vdmUgYW4gZW50cnkgZnJvbSB0aGUgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnZmFzIGZhLWNpcmNsZS1taW51cydcbiAgICAgKi9cbiAgICBkZWxldGVJY29uPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIG1pbkxlbmd0aD86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZy5cbiAgICAgKi9cbiAgICBtYXhMZW5ndGg/OiBudW1iZXIsXG4gICAgLyoqXG4gICAgICogQSByZWdleCB1c2VkIGZvciB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHJlZ2V4PzogUmVnRXhwXG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgYXV0b2NvbXBsZXRlIHN0cmluZ3MgZGlzcGxheWVkIGFzIGEgY2hpcHMgbGlzdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgQXJyYXlEZWNvcmF0b3JDb25maWcge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xhc3MgZm9yIHRoZSA8aT4gdGFnIHVzZWQgdG8gcmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGFycmF5LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ2ZhcyBmYS1jaXJjbGUtbWludXMnXG4gICAgICovXG4gICAgZGVsZXRlSWNvbj86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgYXV0b2NvbXBsZXRlIHZhbHVlcy5cbiAgICAgKi9cbiAgICBhdXRvY29tcGxldGVWYWx1ZXM6IHN0cmluZ1tdLFxuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIG1pbkxlbmd0aD86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZy5cbiAgICAgKi9cbiAgICBtYXhMZW5ndGg/OiBudW1iZXIsXG4gICAgLyoqXG4gICAgICogQSByZWdleCB1c2VkIGZvciB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHJlZ2V4PzogUmVnRXhwXG59Il19
@@ -0,0 +1,82 @@
1
+ import { defaultFalse } from '../../functions/default-false.function';
2
+ import { defaultTrue } from '../../functions/default-true.function';
3
+ /**
4
+ * The internal Position. Sets default values and validates user input.
5
+ */
6
+ class PositionInternal {
7
+ // eslint-disable-next-line jsdoc/require-jsdoc
8
+ row;
9
+ // eslint-disable-next-line jsdoc/require-jsdoc
10
+ order;
11
+ // eslint-disable-next-line jsdoc/require-jsdoc
12
+ tab;
13
+ // eslint-disable-next-line jsdoc/require-jsdoc
14
+ tabName;
15
+ constructor(data) {
16
+ this.validateInput(data);
17
+ this.row = data?.row ?? -1;
18
+ this.order = data?.order ?? -1;
19
+ this.tab = data?.tab ?? -1;
20
+ this.tabName = data?.tabName;
21
+ }
22
+ validateInput(data) {
23
+ if (data?.order != null) {
24
+ if (data.order < 1) {
25
+ throw new Error('order must be at least 1');
26
+ }
27
+ if (data.order > 12) {
28
+ throw new Error('order cannot be bigger than 12 (the minimum value for a bootstrap column)');
29
+ }
30
+ }
31
+ if (data?.row != null && data.row < 1) {
32
+ throw new Error('row must be at least 1');
33
+ }
34
+ if (data?.tab != null && data.tab != -1 && data.tab < 2) {
35
+ throw new Error('tab must be either -1 for the first tab or at least 2');
36
+ }
37
+ }
38
+ }
39
+ /**
40
+ * The internal PropertyDecoratorConfig. Sets default values.
41
+ */
42
+ export class PropertyDecoratorConfigInternal {
43
+ // eslint-disable-next-line jsdoc/require-jsdoc
44
+ display;
45
+ // eslint-disable-next-line jsdoc/require-jsdoc
46
+ displayName;
47
+ // eslint-disable-next-line jsdoc/require-jsdoc
48
+ required;
49
+ // eslint-disable-next-line jsdoc/require-jsdoc
50
+ omitForCreate;
51
+ // eslint-disable-next-line jsdoc/require-jsdoc
52
+ omitForUpdate;
53
+ // eslint-disable-next-line jsdoc/require-jsdoc
54
+ defaultWidths;
55
+ // eslint-disable-next-line jsdoc/require-jsdoc
56
+ position;
57
+ // eslint-disable-next-line jsdoc/require-jsdoc
58
+ isReadOnly;
59
+ constructor(data) {
60
+ this.display = this.booleanToFunction(data.display ?? true);
61
+ this.displayName = data.displayName;
62
+ this.required = this.booleanToFunction(data.required ?? true);
63
+ this.omitForCreate = data.omitForCreate ?? false;
64
+ this.omitForUpdate = data.omitForUpdate ?? false;
65
+ this.defaultWidths = data.defaultWidths ?? [6, 6, 12];
66
+ this.position = new PositionInternal(data.position);
67
+ this.isReadOnly = this.booleanToFunction(data.isReadOnly ?? false);
68
+ }
69
+ /**
70
+ * Converts the given boolean or boolean function to a boolean function.
71
+ *
72
+ * @param value - The value to convert.
73
+ * @returns A function that resolves to a boolean.
74
+ */
75
+ booleanToFunction(value) {
76
+ if (typeof value !== 'boolean') {
77
+ return value;
78
+ }
79
+ return value ? defaultTrue : defaultFalse;
80
+ }
81
+ }
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVjb3JhdG9yLWludGVybmFsLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLWludGVybmFsLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUdwRTs7R0FFRztBQUNILE1BQU0sZ0JBQWdCO0lBQ2xCLCtDQUErQztJQUMvQyxHQUFHLENBQVM7SUFDWiwrQ0FBK0M7SUFDL0MsS0FBSyxDQUFTO0lBQ2QsK0NBQStDO0lBQy9DLEdBQUcsQ0FBUztJQUNaLCtDQUErQztJQUMvQyxPQUFPLENBQVU7SUFFakIsWUFBWSxJQUFlO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEVBQUUsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBZTtRQUNqQyxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQzthQUMvQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkVBQTJFLENBQUMsQ0FBQzthQUNoRztTQUNKO1FBQ0QsSUFBSSxJQUFJLEVBQUUsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1NBQzVFO0lBQ0wsQ0FBQztDQUNKO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLCtCQUErQjtJQUNqRCwrQ0FBK0M7SUFDL0MsT0FBTyxDQUErQjtJQUN0QywrQ0FBK0M7SUFDL0MsV0FBVyxDQUFTO0lBQ3BCLCtDQUErQztJQUMvQyxRQUFRLENBQWlDO0lBQ3pDLCtDQUErQztJQUMvQyxhQUFhLENBQVU7SUFDdkIsK0NBQStDO0lBQy9DLGFBQWEsQ0FBVTtJQUN2QiwrQ0FBK0M7SUFDL0MsYUFBYSxDQUFrQjtJQUMvQiwrQ0FBK0M7SUFDL0MsUUFBUSxDQUFtQjtJQUMzQiwrQ0FBK0M7SUFDL0MsVUFBVSxDQUErQjtJQUV6QyxZQUFZLElBQTZCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGlCQUFpQixDQUFDLEtBQStDO1FBQ3ZFLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRGYWxzZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9kZWZhdWx0LWZhbHNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IGRlZmF1bHRUcnVlIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2RlZmF1bHQtdHJ1ZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBDb2wsIFBvc2l0aW9uLCBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vcHJvcGVydHktZGVjb3JhdG9yLmRhdGEnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBQb3NpdGlvbi4gU2V0cyBkZWZhdWx0IHZhbHVlcyBhbmQgdmFsaWRhdGVzIHVzZXIgaW5wdXQuXG4gKi9cbmNsYXNzIFBvc2l0aW9uSW50ZXJuYWwgaW1wbGVtZW50cyBQb3NpdGlvbiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByb3c6IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG9yZGVyOiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0YWI6IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRhYk5hbWU/OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogUG9zaXRpb24pIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUlucHV0KGRhdGEpO1xuICAgICAgICB0aGlzLnJvdyA9IGRhdGE/LnJvdyA/PyAtMTtcbiAgICAgICAgdGhpcy5vcmRlciA9IGRhdGE/Lm9yZGVyID8/IC0xO1xuICAgICAgICB0aGlzLnRhYiA9IGRhdGE/LnRhYiA/PyAtMTtcbiAgICAgICAgdGhpcy50YWJOYW1lID0gZGF0YT8udGFiTmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlSW5wdXQoZGF0YT86IFBvc2l0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChkYXRhPy5vcmRlciAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoZGF0YS5vcmRlciA8IDEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29yZGVyIG11c3QgYmUgYXQgbGVhc3QgMScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEub3JkZXIgPiAxMikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignb3JkZXIgY2Fubm90IGJlIGJpZ2dlciB0aGFuIDEyICh0aGUgbWluaW11bSB2YWx1ZSBmb3IgYSBib290c3RyYXAgY29sdW1uKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhPy5yb3cgIT0gbnVsbCAmJiBkYXRhLnJvdyA8IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigncm93IG11c3QgYmUgYXQgbGVhc3QgMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhPy50YWIgIT0gbnVsbCAmJiBkYXRhLnRhYiAhPSAtMSAmJiBkYXRhLnRhYiA8IDIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGFiIG11c3QgYmUgZWl0aGVyIC0xIGZvciB0aGUgZmlyc3QgdGFiIG9yIGF0IGxlYXN0IDInKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgUHJvcGVydHlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsIGltcGxlbWVudHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWcge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGlzcGxheTogKGVudGl0eTogdW5rbm93bikgPT4gYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZXF1aXJlZDogKChlbnRpdHk6IHVua25vd24pID0+IGJvb2xlYW4pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgb21pdEZvckNyZWF0ZTogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG9taXRGb3JVcGRhdGU6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkZWZhdWx0V2lkdGhzOiBbQ29sLCBDb2wsIENvbF07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBwb3NpdGlvbjogUG9zaXRpb25JbnRlcm5hbDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGlzUmVhZE9ubHk6IChlbnRpdHk6IHVua25vd24pID0+IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQcm9wZXJ0eURlY29yYXRvckNvbmZpZykge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLmJvb2xlYW5Ub0Z1bmN0aW9uKGRhdGEuZGlzcGxheSA/PyB0cnVlKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IGRhdGEuZGlzcGxheU5hbWU7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSB0aGlzLmJvb2xlYW5Ub0Z1bmN0aW9uKGRhdGEucmVxdWlyZWQgPz8gdHJ1ZSk7XG4gICAgICAgIHRoaXMub21pdEZvckNyZWF0ZSA9IGRhdGEub21pdEZvckNyZWF0ZSA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5vbWl0Rm9yVXBkYXRlID0gZGF0YS5vbWl0Rm9yVXBkYXRlID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzYsIDYsIDEyXTtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9IG5ldyBQb3NpdGlvbkludGVybmFsKGRhdGEucG9zaXRpb24pO1xuICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPSB0aGlzLmJvb2xlYW5Ub0Z1bmN0aW9uKGRhdGEuaXNSZWFkT25seSA/PyBmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgdGhlIGdpdmVuIGJvb2xlYW4gb3IgYm9vbGVhbiBmdW5jdGlvbiB0byBhIGJvb2xlYW4gZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBib29sZWFuVG9GdW5jdGlvbih2YWx1ZTogYm9vbGVhbiB8ICgoZW50aXR5OiB1bmtub3duKSA9PiBib29sZWFuKSk6IChlbnRpdHk6IHVua25vd24pID0+IGJvb2xlYW4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWUgPyBkZWZhdWx0VHJ1ZSA6IGRlZmF1bHRGYWxzZTtcbiAgICB9XG59Il19
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The base options for all propertyDecorators.
3
+ */
4
+ export class PropertyDecoratorConfig {
5
+ /**
6
+ * Whether or not the Property is displayed at all.
7
+ *
8
+ * @default true
9
+ */
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ display;
12
+ /**
13
+ * The name of the property used as a label for form fields.
14
+ */
15
+ displayName;
16
+ /**
17
+ * Whether or not the Property is required.
18
+ *
19
+ * @default true
20
+ */
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ required;
23
+ /**
24
+ * Whether or not the property gets omitted when creating new Entities.
25
+ *
26
+ * @default false
27
+ */
28
+ omitForCreate;
29
+ /**
30
+ * Whether or not the property gets omitted when updating Entities.
31
+ *
32
+ * @default false
33
+ */
34
+ omitForUpdate;
35
+ /**
36
+ * Defines the width of the input property when used inside the default create or edit dialog.
37
+ * Has 3 bootstrap values for different breakpoints for simple responsive design.
38
+ * The first value sets the columns for the screen size lg, the second for md and the third for sm.
39
+ *
40
+ * @default [6, 6, 12]
41
+ */
42
+ defaultWidths;
43
+ /**
44
+ * Specifies the how to position this property when using default create/edit dialogs.
45
+ *
46
+ * @default { row: -1, order: -1} (Adds the property at the end)
47
+ */
48
+ position;
49
+ /**
50
+ * Whether or not this property is readonly.
51
+ * Can either be a boolean or a function returning a boolean.
52
+ */
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ isReadOnly;
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVjb3JhdG9yLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQUN6Qzs7OztPQUlHO0lBQ0gsOERBQThEO0lBQzlELE9BQU8sQ0FBd0M7SUFDL0M7O09BRUc7SUFDSCxXQUFXLENBQVU7SUFDckI7Ozs7T0FJRztJQUNILDhEQUE4RDtJQUM5RCxRQUFRLENBQXdDO0lBQ2hEOzs7O09BSUc7SUFDSCxhQUFhLENBQVc7SUFDeEI7Ozs7T0FJRztJQUNILGFBQWEsQ0FBVztJQUN4Qjs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQW1CO0lBQ2hDOzs7O09BSUc7SUFDSCxRQUFRLENBQVk7SUFDcEI7OztPQUdHO0lBQ0gsOERBQThEO0lBQzlELFVBQVUsQ0FBd0M7Q0FDckQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgYm9vdHN0cmFwIGNvbHVtbiB2YWx1ZSAoYSByYW5nZSBmcm9tIDEgLSAxMikuXG4gKi9cbmV4cG9ydCB0eXBlIENvbCA9IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDcgfCA4IHwgOSB8IDEwIHwgMTEgfCAxMjtcblxuLyoqXG4gKiBUaGUgYmFzZSBvcHRpb25zIGZvciBhbGwgcHJvcGVydHlEZWNvcmF0b3JzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUHJvcGVydHlEZWNvcmF0b3JDb25maWcge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBQcm9wZXJ0eSBpcyBkaXNwbGF5ZWQgYXQgYWxsLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZGlzcGxheT86IGJvb2xlYW4gfCAoKGVudGl0eTogYW55KSA9PiBib29sZWFuKTtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdXNlZCBhcyBhIGxhYmVsIGZvciBmb3JtIGZpZWxkcy5cbiAgICAgKi9cbiAgICBkaXNwbGF5TmFtZSE6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgUHJvcGVydHkgaXMgcmVxdWlyZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKGVudGl0eTogYW55KSA9PiBib29sZWFuKTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcHJvcGVydHkgZ2V0cyBvbWl0dGVkIHdoZW4gY3JlYXRpbmcgbmV3IEVudGl0aWVzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBvbWl0Rm9yQ3JlYXRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcHJvcGVydHkgZ2V0cyBvbWl0dGVkIHdoZW4gdXBkYXRpbmcgRW50aXRpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIG9taXRGb3JVcGRhdGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBpbnB1dCBwcm9wZXJ0eSB3aGVuIHVzZWQgaW5zaWRlIHRoZSBkZWZhdWx0IGNyZWF0ZSBvciBlZGl0IGRpYWxvZy5cbiAgICAgKiBIYXMgMyBib290c3RyYXAgdmFsdWVzIGZvciBkaWZmZXJlbnQgYnJlYWtwb2ludHMgZm9yIHNpbXBsZSByZXNwb25zaXZlIGRlc2lnbi5cbiAgICAgKiBUaGUgZmlyc3QgdmFsdWUgc2V0cyB0aGUgY29sdW1ucyBmb3IgdGhlIHNjcmVlbiBzaXplIGxnLCB0aGUgc2Vjb25kIGZvciBtZCBhbmQgdGhlIHRoaXJkIGZvciBzbS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFs2LCA2LCAxMl1cbiAgICAgKi9cbiAgICBkZWZhdWx0V2lkdGhzPzogW0NvbCwgQ29sLCBDb2xdO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgaG93IHRvIHBvc2l0aW9uIHRoaXMgcHJvcGVydHkgd2hlbiB1c2luZyBkZWZhdWx0IGNyZWF0ZS9lZGl0IGRpYWxvZ3MuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB7IHJvdzogLTEsICBvcmRlcjogLTF9IChBZGRzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZW5kKVxuICAgICAqL1xuICAgIHBvc2l0aW9uPzogUG9zaXRpb247XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhpcyBwcm9wZXJ0eSBpcyByZWFkb25seS5cbiAgICAgKiBDYW4gZWl0aGVyIGJlIGEgYm9vbGVhbiBvciBhIGZ1bmN0aW9uIHJldHVybmluZyBhIGJvb2xlYW4uXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBpc1JlYWRPbmx5PzogYm9vbGVhbiB8ICgoZW50aXR5OiBhbnkpID0+IGJvb2xlYW4pO1xufVxuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciBwb3NpdGlvbmluZyBhIHByb3BlcnR5IHdoZW4gdXNpbmcgZGVmYXVsdCBjcmVhdGUvZWRpdCBkaWFsb2dzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgYSB0YWIgaW4gd2hpY2ggdGhpcyBwcm9wZXJ0eSBpcyBkaXNwbGF5ZWQuXG4gICAgICogSWYgbm8gcHJvcGVydHkgaGFzIHRoZSB0YWIgbWV0YWRhdGEgc3BlY2lmaWVkIG5vIHRhYnMgYXJlIGRpc3BsYXllZC5cbiAgICAgKiBPcmRlcmluZyBpcyBhc2NlbmRpbmcuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtMSAoc2V0cyB0aGlzIHByb3BlcnR5IGluIHRoZSBmaXJzdCB0YWIpXG4gICAgICovXG4gICAgdGFiPzogbnVtYmVyLFxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgdGFiLiBDYW4gb25seSBiZSBzZXQgYnkgb25lIHByb3BlcnR5IGluIGVhY2ggdGFiLlxuICAgICAqIFJlcXVpcmVzIFwidGFiXCIgdG8gYmUgc2V0LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgYFRhYiAke251bWJlck9mVGhlVGFifWBcbiAgICAgKi9cbiAgICB0YWJOYW1lPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgKGJvb3RzdHJhcCktcm93IGluIHdoaWNoIHRoaXMgcHJvcGVydHkgaXMgZGlzcGxheWVkLlxuICAgICAqIE9yZGVyaW5nIGlzIGFzY2VuZGluZy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0xIChzZXRzIHRoaXMgcHJvcGVydHkgYWZ0ZXIgdGhlIGxhc3Qgcm93KVxuICAgICAqL1xuICAgIHJvdz86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgb3JkZXIgb2YgdGhlIGlucHV0IHByb3BlcnR5IGluc2lkZSB0aGUgc3BlY2lmaWVkIHJvdy5cbiAgICAgKiBPcmRlcmluZyBpcyBhc2NlbmRpbmcuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtMSAoc2V0cyB0aGlzIHByb3BlcnR5IGF0IHRoZSBlbmQgb2YgdGhlIHJvdylcbiAgICAgKi9cbiAgICBvcmRlcj86IG51bWJlclxufSJdfQ==
@@ -0,0 +1,43 @@
1
+ import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
2
+ /**
3
+ * The internal DropdownBooleanDecoratorConfig. Sets default values.
4
+ */
5
+ export class DropdownBooleanDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
6
+ // eslint-disable-next-line jsdoc/require-jsdoc
7
+ displayStyle;
8
+ // eslint-disable-next-line jsdoc/require-jsdoc
9
+ dropdownTrue;
10
+ // eslint-disable-next-line jsdoc/require-jsdoc
11
+ dropdownFalse;
12
+ constructor(data) {
13
+ super(data);
14
+ this.displayStyle = data.displayStyle;
15
+ this.dropdownTrue = data.dropdownTrue ?? 'Yes';
16
+ this.dropdownFalse = data.dropdownFalse ?? 'No';
17
+ }
18
+ }
19
+ /**
20
+ * The internal CheckboxBooleanDecoratorConfig. Sets default values.
21
+ */
22
+ export class CheckboxBooleanDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
23
+ // eslint-disable-next-line jsdoc/require-jsdoc
24
+ displayStyle;
25
+ constructor(data) {
26
+ super(data);
27
+ this.displayStyle = data.displayStyle;
28
+ this.required = this.booleanToFunction(data.required ?? false);
29
+ }
30
+ }
31
+ /**
32
+ * The internal ToggleBooleanDecoratorConfig. Sets default values.
33
+ */
34
+ export class ToggleBooleanDecoratorConfigInternal extends PropertyDecoratorConfigInternal {
35
+ // eslint-disable-next-line jsdoc/require-jsdoc
36
+ displayStyle;
37
+ constructor(data) {
38
+ super(data);
39
+ this.displayStyle = data.displayStyle;
40
+ this.required = this.booleanToFunction(data.required ?? false);
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvYm9vbGVhbi9ib29sZWFuLWRlY29yYXRvci1pbnRlcm5hbC5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRzNGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNDQUF1QyxTQUFRLCtCQUErQjtJQUN2RiwrQ0FBK0M7SUFDL0MsWUFBWSxDQUFhO0lBQ3pCLCtDQUErQztJQUMvQyxZQUFZLENBQVM7SUFDckIsK0NBQStDO0lBQy9DLGFBQWEsQ0FBUztJQUV0QixZQUFZLElBQW9DO1FBQzVDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7SUFDcEQsQ0FBQztDQUNKO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0NBQXVDLFNBQVEsK0JBQStCO0lBQ3ZGLCtDQUErQztJQUMvQyxZQUFZLENBQWE7SUFFekIsWUFBWSxJQUFvQztRQUM1QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSwrQkFBK0I7SUFDckYsK0NBQStDO0lBQy9DLFlBQVksQ0FBVztJQUV2QixZQUFZLElBQWtDO1FBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgfSBmcm9tICcuLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhJztcbmltcG9ydCB7IENoZWNrYm94Qm9vbGVhbkRlY29yYXRvckNvbmZpZywgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnLCBUb2dnbGVCb29sZWFuRGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9ib29sZWFuLWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsIGltcGxlbWVudHMgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlTdHlsZTogJ2Ryb3Bkb3duJztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRyb3Bkb3duVHJ1ZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHJvcGRvd25GYWxzZTogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmRpc3BsYXlTdHlsZSA9IGRhdGEuZGlzcGxheVN0eWxlO1xuICAgICAgICB0aGlzLmRyb3Bkb3duVHJ1ZSA9IGRhdGEuZHJvcGRvd25UcnVlID8/ICdZZXMnO1xuICAgICAgICB0aGlzLmRyb3Bkb3duRmFsc2UgPSBkYXRhLmRyb3Bkb3duRmFsc2UgPz8gJ05vJztcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIENoZWNrYm94Qm9vbGVhbkRlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENoZWNrYm94Qm9vbGVhbkRlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBpbXBsZW1lbnRzIENoZWNrYm94Qm9vbGVhbkRlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5U3R5bGU6ICdjaGVja2JveCc7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBDaGVja2JveEJvb2xlYW5EZWNvcmF0b3JDb25maWcpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuZGlzcGxheVN0eWxlID0gZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSB0aGlzLmJvb2xlYW5Ub0Z1bmN0aW9uKGRhdGEucmVxdWlyZWQgPz8gZmFsc2UpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgVG9nZ2xlQm9vbGVhbkRlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvZ2dsZUJvb2xlYW5EZWNvcmF0b3JDb25maWdJbnRlcm5hbCBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgaW1wbGVtZW50cyBUb2dnbGVCb29sZWFuRGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlTdHlsZTogJ3RvZ2dsZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBUb2dnbGVCb29sZWFuRGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmRpc3BsYXlTdHlsZSA9IGRhdGEuZGlzcGxheVN0eWxlO1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5ib29sZWFuVG9GdW5jdGlvbihkYXRhLnJlcXVpcmVkID8/IGZhbHNlKTtcbiAgICB9XG59Il19
@@ -0,0 +1,11 @@
1
+ import { PropertyDecoratorConfig } from '../base/property-decorator.data';
2
+ /**
3
+ * The Definition for the @boolean metadata.
4
+ */
5
+ class BooleanDecoratorConfig extends PropertyDecoratorConfig {
6
+ /**
7
+ * Whether to display the booleans as a checkbox, a toggle button or as a dropdown.
8
+ */
9
+ displayStyle;
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1kZWNvcmF0b3IuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvYm9vbGVhbi9ib29sZWFuLWRlY29yYXRvci5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTFFOztHQUVHO0FBQ0gsTUFBZSxzQkFBdUIsU0FBUSx1QkFBdUI7SUFDakU7O09BRUc7SUFDSCxZQUFZLENBQXNDO0NBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBUaGUgRGVmaW5pdGlvbiBmb3IgdGhlIEBib29sZWFuIG1ldGFkYXRhLlxuICovXG5hYnN0cmFjdCBjbGFzcyBCb29sZWFuRGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWcge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgYm9vbGVhbnMgYXMgYSBjaGVja2JveCwgYSB0b2dnbGUgYnV0dG9uIG9yIGFzIGEgZHJvcGRvd24uXG4gICAgICovXG4gICAgZGlzcGxheVN0eWxlITogJ2NoZWNrYm94JyB8ICdkcm9wZG93bicgfCAndG9nZ2xlJztcbn1cblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBhIGJvb2xlYW4gcHJvcGVydHkgZGlzcGxheWVkIGluIGEgZHJvcGRvd24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgQm9vbGVhbkRlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5U3R5bGU6ICdkcm9wZG93bicsXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHRydWUgdmFsdWUgaWYgZGlzcGxheVN0eWxlIGRyb3Bkb3duIGlzIHVzZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnWWVzJ1xuICAgICAqL1xuICAgIGRyb3Bkb3duVHJ1ZT86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZmFsc2UgdmFsdWUgaWYgZGlzcGxheVN0eWxlIGRyb3Bkb3duIGlzIHVzZWQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnTm8nXG4gICAgICovXG4gICAgZHJvcGRvd25GYWxzZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGEgYm9vbGVhbiBwcm9wZXJ0eSBkaXNwbGF5ZWQgYXMgYSBjaGVja2JveC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveEJvb2xlYW5EZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBCb29sZWFuRGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlTdHlsZTogJ2NoZWNrYm94J1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBhIGJvb2xlYW4gcHJvcGVydHkgZGlzcGxheWVkIGFzIGEgbWF0LXRvZ2dsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb2dnbGVCb29sZWFuRGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgQm9vbGVhbkRlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5U3R5bGU6ICd0b2dnbGUnXG59Il19