@kms-ngx-ui/presentational 0.0.1

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 (122) hide show
  1. package/README.md +24 -0
  2. package/bundles/kms-ngx-ui-presentational.umd.js +2441 -0
  3. package/bundles/kms-ngx-ui-presentational.umd.js.map +1 -0
  4. package/bundles/kms-ngx-ui-presentational.umd.min.js +38 -0
  5. package/bundles/kms-ngx-ui-presentational.umd.min.js.map +1 -0
  6. package/esm2015/kms-ngx-ui-presentational.js +37 -0
  7. package/esm2015/lib/kms-ngx-ui-presentational.component.js +18 -0
  8. package/esm2015/lib/kms-ngx-ui-presentational.module.js +98 -0
  9. package/esm2015/lib/kms-ngx-ui-presentational.service.js +13 -0
  10. package/esm2015/lib/models/address.model.js +6 -0
  11. package/esm2015/lib/models/iconSize.enum.js +17 -0
  12. package/esm2015/lib/models/index.js +5 -0
  13. package/esm2015/lib/models/is-value.function.js +17 -0
  14. package/esm2015/lib/models/salutation.enum.js +8 -0
  15. package/esm2015/lib/models/types/attached-file-dto.model.js +6 -0
  16. package/esm2015/lib/models/types/nullable.type.js +5 -0
  17. package/esm2015/lib/parent-components/actions.component.js +48 -0
  18. package/esm2015/lib/parent-components/form-control.component.js +73 -0
  19. package/esm2015/lib/parent-components/form.component.js +77 -0
  20. package/esm2015/lib/pipes/custom-pipes.module.js +45 -0
  21. package/esm2015/lib/pipes/decode-uri.pipe.js +15 -0
  22. package/esm2015/lib/pipes/encode-uri.pipe.js +15 -0
  23. package/esm2015/lib/pipes/integer-currency.pipe.js +29 -0
  24. package/esm2015/lib/pipes/safe-html.pipe.js +22 -0
  25. package/esm2015/lib/pipes/safe-style.pipe.js +22 -0
  26. package/esm2015/lib/pipes/safe-url.pipe.js +22 -0
  27. package/esm2015/lib/pipes/to-number.pipe.js +19 -0
  28. package/esm2015/lib/pipes/trim.pipe.js +16 -0
  29. package/esm2015/lib/pipes/typeof.pipe.js +12 -0
  30. package/esm2015/lib/services/viewport.service.js +213 -0
  31. package/esm2015/lib/ui/back-to-top/back-to-top.component.js +46 -0
  32. package/esm2015/lib/ui/button-with-confirm-dialog/button-response-types.enum.js +6 -0
  33. package/esm2015/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.js +56 -0
  34. package/esm2015/lib/ui/button-with-confirm-dialog/dialog-data.model.js +2 -0
  35. package/esm2015/lib/ui/checkbox/checkbox.component.js +63 -0
  36. package/esm2015/lib/ui/color-input/color-input.component.js +63 -0
  37. package/esm2015/lib/ui/enum-radiogroup/enum-radiogroup.component.js +46 -0
  38. package/esm2015/lib/ui/file-input/file-input.component.js +215 -0
  39. package/esm2015/lib/ui/flyout/flyout.component.js +84 -0
  40. package/esm2015/lib/ui/generic-dialog/generic-dialog.component.js +54 -0
  41. package/esm2015/lib/ui/icon/icon.component.js +47 -0
  42. package/esm2015/lib/ui/icon/iconSize.enum.js +17 -0
  43. package/esm2015/lib/ui/kms-accordion-item/kms-accordion-item.component.js +36 -0
  44. package/esm2015/lib/ui/loader/loader.component.js +21 -0
  45. package/esm2015/lib/ui/map/map.component.js +137 -0
  46. package/esm2015/lib/ui/radiobutton/radiobutton.component.js +66 -0
  47. package/esm2015/lib/ui/salutation-dropdown/salutation-dropdown.component.js +49 -0
  48. package/esm2015/lib/ui/salutation-radiogroup/salutation-radiogroup.component.js +44 -0
  49. package/esm2015/lib/ui/time-input/time-input.component.js +80 -0
  50. package/esm2015/lib/ui/tooltip/tooltip.component.js +17 -0
  51. package/esm2015/lib/ui/tooltip-icon/tooltip-icon.component.js +29 -0
  52. package/esm2015/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.js +74 -0
  53. package/esm2015/public-api.js +12 -0
  54. package/fesm2015/kms-ngx-ui-presentational.js +1962 -0
  55. package/fesm2015/kms-ngx-ui-presentational.js.map +1 -0
  56. package/kms-ngx-ui-presentational.d.ts +37 -0
  57. package/kms-ngx-ui-presentational.metadata.json +1 -0
  58. package/lib/kms-ngx-ui-presentational.component.d.ts +5 -0
  59. package/lib/kms-ngx-ui-presentational.module.d.ts +2 -0
  60. package/lib/kms-ngx-ui-presentational.service.d.ts +3 -0
  61. package/lib/models/address.model.d.ts +14 -0
  62. package/lib/models/iconSize.enum.d.ts +15 -0
  63. package/lib/models/index.d.ts +4 -0
  64. package/lib/models/is-value.function.d.ts +9 -0
  65. package/lib/models/salutation.enum.d.ts +5 -0
  66. package/lib/models/types/attached-file-dto.model.d.ts +11 -0
  67. package/lib/models/types/nullable.type.d.ts +4 -0
  68. package/lib/parent-components/actions.component.d.ts +28 -0
  69. package/lib/parent-components/form-control.component.d.ts +24 -0
  70. package/lib/parent-components/form.component.d.ts +31 -0
  71. package/lib/pipes/custom-pipes.module.d.ts +5 -0
  72. package/lib/pipes/decode-uri.pipe.d.ts +7 -0
  73. package/lib/pipes/encode-uri.pipe.d.ts +7 -0
  74. package/lib/pipes/integer-currency.pipe.d.ts +10 -0
  75. package/lib/pipes/safe-html.pipe.d.ts +10 -0
  76. package/lib/pipes/safe-style.pipe.d.ts +10 -0
  77. package/lib/pipes/safe-url.pipe.d.ts +10 -0
  78. package/lib/pipes/to-number.pipe.d.ts +7 -0
  79. package/lib/pipes/trim.pipe.d.ts +7 -0
  80. package/lib/pipes/typeof.pipe.d.ts +4 -0
  81. package/lib/services/viewport.service.d.ts +74 -0
  82. package/lib/ui/back-to-top/back-to-top.component.d.ts +10 -0
  83. package/lib/ui/button-with-confirm-dialog/button-response-types.enum.d.ts +4 -0
  84. package/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.d.ts +16 -0
  85. package/lib/ui/button-with-confirm-dialog/dialog-data.model.d.ts +9 -0
  86. package/lib/ui/checkbox/checkbox.component.d.ts +28 -0
  87. package/lib/ui/color-input/color-input.component.d.ts +15 -0
  88. package/lib/ui/enum-radiogroup/enum-radiogroup.component.d.ts +14 -0
  89. package/lib/ui/file-input/file-input.component.d.ts +86 -0
  90. package/lib/ui/flyout/flyout.component.d.ts +32 -0
  91. package/lib/ui/generic-dialog/generic-dialog.component.d.ts +23 -0
  92. package/lib/ui/icon/icon.component.d.ts +39 -0
  93. package/lib/ui/icon/iconSize.enum.d.ts +15 -0
  94. package/lib/ui/kms-accordion-item/kms-accordion-item.component.d.ts +18 -0
  95. package/lib/ui/loader/loader.component.d.ts +6 -0
  96. package/lib/ui/map/map.component.d.ts +70 -0
  97. package/lib/ui/radiobutton/radiobutton.component.d.ts +23 -0
  98. package/lib/ui/salutation-dropdown/salutation-dropdown.component.d.ts +14 -0
  99. package/lib/ui/salutation-radiogroup/salutation-radiogroup.component.d.ts +12 -0
  100. package/lib/ui/time-input/time-input.component.d.ts +19 -0
  101. package/lib/ui/tooltip/tooltip.component.d.ts +3 -0
  102. package/lib/ui/tooltip-icon/tooltip-icon.component.d.ts +10 -0
  103. package/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.d.ts +24 -0
  104. package/package.json +25 -0
  105. package/public-api.d.ts +6 -0
  106. package/src/lib/ui/back-to-top/back-to-top.component.scss +47 -0
  107. package/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.scss +0 -0
  108. package/src/lib/ui/checkbox/checkbox.component.scss +57 -0
  109. package/src/lib/ui/color-input/color-input.component.scss +38 -0
  110. package/src/lib/ui/file-input/file-input.component.scss +0 -0
  111. package/src/lib/ui/flyout/flyout.component.scss +34 -0
  112. package/src/lib/ui/generic-dialog/generic-dialog.component.scss +59 -0
  113. package/src/lib/ui/icon/icon.component.scss +149 -0
  114. package/src/lib/ui/kms-accordion-item/kms-accordion-item.component.scss +95 -0
  115. package/src/lib/ui/loader/loader.component.scss +0 -0
  116. package/src/lib/ui/map/map.component.scss +0 -0
  117. package/src/lib/ui/radiobutton/radiobutton.component.scss +30 -0
  118. package/src/lib/ui/time-input/time-input.component.scss +10 -0
  119. package/src/lib/ui/tooltip/tooltip.component.scss +27 -0
  120. package/src/lib/ui/tooltip-icon/tooltip-icon.component.scss +2 -0
  121. package/src/styles/mixins.scss +9 -0
  122. package/src/styles/styles.scss +30 -0
@@ -0,0 +1,137 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, Input } from '@angular/core';
5
+ import { ViewportService } from '../../services/viewport.service';
6
+ /**
7
+ * MarkerOptions class for Marker
8
+ */
9
+ export class MarkerOptions {
10
+ }
11
+ /**
12
+ * MarkerLabel class for Marker
13
+ */
14
+ export class MarkerLabel {
15
+ }
16
+ /**
17
+ * Marker class
18
+ */
19
+ export class Marker {
20
+ }
21
+ /**
22
+ * Component to show marker on google map for specific address
23
+ */
24
+ export class MapComponent {
25
+ //
26
+ constructor(viewPortService) {
27
+ this.viewPortService = viewPortService;
28
+ this.markers = [];
29
+ this.geoDataFoundForAddress = false;
30
+ this.widthSet = false;
31
+ this.width = '100%';
32
+ this.zoom = 15;
33
+ this.center = {
34
+ lat: 52.097449,
35
+ lng: 12.7436911,
36
+ };
37
+ this.options = {
38
+ mapTypeId: 'roadmap',
39
+ zoomControl: false,
40
+ scrollwheel: false,
41
+ disableDoubleClickZoom: true,
42
+ maxZoom: 15,
43
+ minZoom: 8,
44
+ };
45
+ }
46
+ ngOnInit() {
47
+ this.findLocation(this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City);
48
+ }
49
+ /**
50
+ * Asks google for geocoordinates of a given address string
51
+ * @input address as string
52
+ */
53
+ findLocation(address) {
54
+ if (!this.geocoder) {
55
+ this.geocoder = new google.maps.Geocoder();
56
+ }
57
+ this.geocoder.geocode({
58
+ 'address': address,
59
+ }, (results, status) => {
60
+ if (status === google.maps.GeocoderStatus.OK) {
61
+ this.center.lat = results[0].geometry.location.lat();
62
+ this.center.lng = results[0].geometry.location.lng();
63
+ this.addMarker();
64
+ this.geoDataFoundForAddress = true;
65
+ // react to browser resize
66
+ this.setMapWidth(this.viewPortService.getDocumentWidth());
67
+ this.viewportSubscription = this.viewPortService.getViewportResizedObserver().subscribe((val) => {
68
+ this.setMapWidth(val);
69
+ }, (error) => {
70
+ console.error('Get updated ViewPort failed', error);
71
+ });
72
+ }
73
+ else {
74
+ console.error('Sorry, this search of map address produced no results.');
75
+ }
76
+ });
77
+ }
78
+ /**
79
+ * Adds a marker to the map
80
+ */
81
+ addMarker() {
82
+ this.markers.push({
83
+ position: {
84
+ lat: this.center.lat,
85
+ lng: this.center.lng,
86
+ },
87
+ label: {
88
+ color: 'blue',
89
+ text: this.data.Name1 || '',
90
+ },
91
+ title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,
92
+ options: { animation: google.maps.Animation.DROP },
93
+ });
94
+ }
95
+ /**
96
+ * sets the width of map accodring to viewport
97
+ */
98
+ setMapWidth(val) {
99
+ if (val < 991) {
100
+ this.width = (val - 84) + 'px';
101
+ }
102
+ else {
103
+ this.width = '100%';
104
+ }
105
+ this.widthSet = true;
106
+ }
107
+ /**
108
+ * Zooms in into map
109
+ */
110
+ zoomIn() {
111
+ if (this.options.maxZoom && this.zoom < this.options.maxZoom) {
112
+ this.zoom++;
113
+ }
114
+ }
115
+ /**
116
+ * Zooms out from map
117
+ */
118
+ zoomOut() {
119
+ if (this.options.minZoom && this.zoom > this.options.minZoom) {
120
+ this.zoom--;
121
+ }
122
+ }
123
+ }
124
+ MapComponent.decorators = [
125
+ { type: Component, args: [{
126
+ selector: 'kms-map',
127
+ template: "<div *ngIf=\"geoDataFoundForAddress && widthSet\">\n <google-map\n height=\"415px\"\n [width]=\"width\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n [options]=\"options\"\n >\n <map-marker\n *ngFor=\"let marker of markers\"\n [position]=\"marker.position\"\n [label]=\"marker.label\"\n [title]=\"marker.title\"\n [options]=\"marker.options\"\n >\n </map-marker>\n </google-map>\n</div>",
128
+ styles: [""]
129
+ },] }
130
+ ];
131
+ MapComponent.ctorParameters = () => [
132
+ { type: ViewportService }
133
+ ];
134
+ MapComponent.propDecorators = {
135
+ data: [{ type: Input }]
136
+ };
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9tYXAvbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRTs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0NBRXpCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztDQUd2QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU07Q0FLbEI7QUFFRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxZQUFZO0lBZ0NyQixFQUFFO0lBQ0YsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBN0I3QyxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFVBQUssR0FBRyxNQUFNLENBQUM7UUFDZixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsV0FBTSxHQUE4QjtZQUV2QyxHQUFHLEVBQUUsU0FBUztZQUNkLEdBQUcsRUFBRSxVQUFVO1NBQ2xCLENBQUM7UUFFSyxZQUFPLEdBQTJCO1lBQ3JDLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLHNCQUFzQixFQUFFLElBQUk7WUFDNUIsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQztTQUNiLENBQUM7SUFVc0QsQ0FBQztJQUV6RCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFHckYsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxPQUFlO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FBRTtRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNsQixTQUFTLEVBQUUsT0FBTztTQUVyQixFQUFFLENBQUMsT0FBWSxFQUFFLE1BQWtDLEVBQUUsRUFBRTtZQUNwRCxJQUFJLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUU7Z0JBRTFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFFckQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUVuQywwQkFBMEI7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBQzFELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDBCQUEwQixFQUFFLENBQUMsU0FBUyxDQUNuRixDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELENBQUMsQ0FDSixDQUFDO2FBRUw7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO2FBQzNFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDZCxRQUFRLEVBQUU7Z0JBQ04sR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztnQkFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRzthQUN2QjtZQUNELEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsTUFBTTtnQkFFYixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTthQUM5QjtZQUNELEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNyRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1NBQ3JELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFXO1FBQ25CLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO2FBQUk7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FBRTtJQUNsRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQUU7SUFDbEYsQ0FBQzs7O1lBNUhKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsc2hCQUFtQzs7YUFFdEM7OztZQWxDUSxlQUFlOzs7bUJBcUNuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MubW9kZWwnO1xuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld3BvcnQuc2VydmljZSc7XG5cbi8qKlxuICogTWFya2VyT3B0aW9ucyBjbGFzcyBmb3IgTWFya2VyXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZXJPcHRpb25zIHtcbiAgICBhbmltYXRpb24hOiBudW1iZXI7XG59XG5cbi8qKlxuICogTWFya2VyTGFiZWwgY2xhc3MgZm9yIE1hcmtlclxuICovXG5leHBvcnQgY2xhc3MgTWFya2VyTGFiZWwge1xuICAgIGNvbG9yITogc3RyaW5nO1xuICAgIHRleHQhOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWFya2VyIGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZXIge1xuICAgIHBvc2l0aW9uITogZ29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbDtcbiAgICBsYWJlbCE6IE1hcmtlckxhYmVsO1xuICAgIHRpdGxlITogc3RyaW5nO1xuICAgIG9wdGlvbnMhOiBNYXJrZXJPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbXBvbmVudCB0byBzaG93IG1hcmtlciBvbiBnb29nbGUgbWFwIGZvciBzcGVjaWZpYyBhZGRyZXNzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna21zLW1hcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGRhdGEhOiBBZGRyZXNzO1xuXG4gICAgcHVibGljIG1hcmtlcnM6IE1hcmtlcltdID0gW107XG4gICAgcHVibGljIGdlb0RhdGFGb3VuZEZvckFkZHJlc3MgPSBmYWxzZTtcbiAgICBwdWJsaWMgd2lkdGhTZXQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyB3aWR0aCA9ICcxMDAlJztcbiAgICBwdWJsaWMgem9vbSA9IDE1O1xuICAgIHB1YmxpYyBjZW50ZXI6IGdvb2dsZS5tYXBzLkxhdExuZ0xpdGVyYWwgPSB7XG4gICAgICAgIFxuICAgICAgICBsYXQ6IDUyLjA5NzQ0OSxcbiAgICAgICAgbG5nOiAxMi43NDM2OTExLFxuICAgIH07XG5cbiAgICBwdWJsaWMgb3B0aW9uczogZ29vZ2xlLm1hcHMuTWFwT3B0aW9ucyA9IHtcbiAgICAgICAgbWFwVHlwZUlkOiAncm9hZG1hcCcsXG4gICAgICAgIHpvb21Db250cm9sOiBmYWxzZSxcbiAgICAgICAgc2Nyb2xsd2hlZWw6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlRG91YmxlQ2xpY2tab29tOiB0cnVlLFxuICAgICAgICBtYXhab29tOiAxNSxcbiAgICAgICAgbWluWm9vbTogOCxcbiAgICB9O1xuXG4gICAgXG4gICAgcHVibGljIGdvb2dsZTogYW55O1xuXG4gICAgcHVibGljIGdlb2NvZGVyOiBhbnk7XG5cbiAgICBwdWJsaWMgdmlld3BvcnRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICAvL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld1BvcnRTZXJ2aWNlOiBWaWV3cG9ydFNlcnZpY2UpIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmluZExvY2F0aW9uKHRoaXMuZGF0YS5TdHJlZXQgKyAnICcgKyB0aGlzLmRhdGEuWmlwICsgJyAnICsgdGhpcy5kYXRhLkNpdHkpO1xuXG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc2tzIGdvb2dsZSBmb3IgZ2VvY29vcmRpbmF0ZXMgb2YgYSBnaXZlbiBhZGRyZXNzIHN0cmluZ1xuICAgICAqIEBpbnB1dCBhZGRyZXNzIGFzIHN0cmluZ1xuICAgICAqL1xuICAgIGZpbmRMb2NhdGlvbihhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmdlb2NvZGVyKSB7IHRoaXMuZ2VvY29kZXIgPSBuZXcgZ29vZ2xlLm1hcHMuR2VvY29kZXIoKTsgfVxuICAgICAgICB0aGlzLmdlb2NvZGVyLmdlb2NvZGUoe1xuICAgICAgICAgICAgJ2FkZHJlc3MnOiBhZGRyZXNzLFxuICAgICAgICBcbiAgICAgICAgfSwgKHJlc3VsdHM6IGFueSwgc3RhdHVzOiBnb29nbGUubWFwcy5HZW9jb2RlclN0YXR1cykgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMuR2VvY29kZXJTdGF0dXMuT0spIHtcblxuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyLmxhdCA9IHJlc3VsdHNbMF0uZ2VvbWV0cnkubG9jYXRpb24ubGF0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZW50ZXIubG5nID0gcmVzdWx0c1swXS5nZW9tZXRyeS5sb2NhdGlvbi5sbmcoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYWRkTWFya2VyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZW9EYXRhRm91bmRGb3JBZGRyZXNzID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIC8vIHJlYWN0IHRvIGJyb3dzZXIgcmVzaXplXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRNYXBXaWR0aCh0aGlzLnZpZXdQb3J0U2VydmljZS5nZXREb2N1bWVudFdpZHRoKCkpO1xuICAgICAgICAgICAgICAgIHRoaXMudmlld3BvcnRTdWJzY3JpcHRpb24gPSB0aGlzLnZpZXdQb3J0U2VydmljZS5nZXRWaWV3cG9ydFJlc2l6ZWRPYnNlcnZlcigpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRNYXBXaWR0aCh2YWwpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0dldCB1cGRhdGVkIFZpZXdQb3J0IGZhaWxlZCcsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NvcnJ5LCB0aGlzIHNlYXJjaCBvZiBtYXAgYWRkcmVzcyBwcm9kdWNlZCBubyByZXN1bHRzLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgbWFya2VyIHRvIHRoZSBtYXBcbiAgICAgKi9cbiAgICBhZGRNYXJrZXIoKSB7XG4gICAgICAgIHRoaXMubWFya2Vycy5wdXNoKHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGF0OiB0aGlzLmNlbnRlci5sYXQsXG4gICAgICAgICAgICAgICAgbG5nOiB0aGlzLmNlbnRlci5sbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsdWUnLFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRleHQ6IHRoaXMuZGF0YS5OYW1lMSB8fCAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aXRsZTogdGhpcy5kYXRhLk5hbWUxICsgJyAnICsgdGhpcy5kYXRhLlN0cmVldCArICcgJyArIHRoaXMuZGF0YS5aaXAsXG4gICAgICAgICAgICBvcHRpb25zOiB7IGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1AgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyB0aGUgd2lkdGggb2YgbWFwIGFjY29kcmluZyB0byB2aWV3cG9ydFxuICAgICAqL1xuICAgIHNldE1hcFdpZHRoKHZhbDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh2YWwgPCA5OTEpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSAodmFsIC0gODQpICsgJ3B4JztcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gJzEwMCUnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2lkdGhTZXQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFpvb21zIGluIGludG8gbWFwXG4gICAgICovXG4gICAgem9vbUluKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1heFpvb20gJiYgdGhpcy56b29tIDwgdGhpcy5vcHRpb25zLm1heFpvb20pIHsgdGhpcy56b29tKys7IH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBab29tcyBvdXQgZnJvbSBtYXBcbiAgICAgKi9cbiAgICB6b29tT3V0KCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1pblpvb20gJiYgdGhpcy56b29tID4gdGhpcy5vcHRpb25zLm1pblpvb20pIHsgdGhpcy56b29tLS07IH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, forwardRef, Input } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { ActionsParentComponent } from '../../parent-components/actions.component';
7
+ export class RadioButtonComponent extends ActionsParentComponent {
8
+ constructor() {
9
+ super();
10
+ /**
11
+ * Internal description name. All radio buttons with the same name belong to the same group.
12
+ * User can select exactly one of the radio buttons from the same group.
13
+ */
14
+ this.name = '';
15
+ /**
16
+ * Internal description id. Will be send in the output event when the radio button is selected.
17
+ */
18
+ this.id = '';
19
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
20
+ this.onChange = () => { };
21
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
22
+ this.onTouch = () => { };
23
+ }
24
+ selectAction(id) {
25
+ this.select.emit(id);
26
+ this.checked = !this.checked;
27
+ }
28
+ get value() {
29
+ return this.checked;
30
+ }
31
+ set value(value) {
32
+ this.checked = value;
33
+ this.onChange(value);
34
+ this.onTouch(value);
35
+ }
36
+ writeValue(value) {
37
+ this.value = value;
38
+ }
39
+ registerOnChange(fn) {
40
+ this.onChange = fn;
41
+ }
42
+ registerOnTouched(fn) {
43
+ this.onTouch = fn;
44
+ }
45
+ }
46
+ RadioButtonComponent.decorators = [
47
+ { type: Component, args: [{
48
+ selector: 'kms-radiobutton',
49
+ template: "<label class=\"wrapper ui-small-text\"\n [ngClass]=\"{'disabled' : disabled}\">\n <input type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n (change)=\"selectAction($event)\">{{label}}\n\n <kms-icon\n class=\"checkmark\" \n aria-hidden=\"true\"\n *ngIf=\"checked\"\n [ngClass]=\"{\n 'disabled' : disabled\n }\"\n [iconClass]=\"{\n 'disabled' : disabled, \n 'color-primary': true,\n 'size-16': true\n }\"\n [icon]=\"'ic_radiobutton_active'\"\n >\n </kms-icon>\n <kms-icon\n class=\"checkmark\" \n aria-hidden=\"true\"\n *ngIf=\"!checked\"\n [ngClass]=\"{\n 'disabled' : disabled\n }\"\n [iconClass]=\"{\n 'disabled' : disabled, \n 'color-primary': true,\n 'size-16': true\n }\"\n [icon]=\"'ic_radiobutton_inactive'\"\n >\n </kms-icon>\n <ng-content></ng-content>\n</label>\n",
50
+ providers: [
51
+ {
52
+ provide: NG_VALUE_ACCESSOR,
53
+ useExisting: forwardRef(() => RadioButtonComponent),
54
+ multi: true,
55
+ },
56
+ ],
57
+ styles: [".wrapper{position:relative;display:inline-block;padding-left:35px;cursor:pointer}.wrapper input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.wrapper.disabled{cursor:default}"]
58
+ },] }
59
+ ];
60
+ RadioButtonComponent.ctorParameters = () => [];
61
+ RadioButtonComponent.propDecorators = {
62
+ name: [{ type: Input }],
63
+ id: [{ type: Input }],
64
+ formControl: [{ type: Input }]
65
+ };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3VpL3JhZGlvYnV0dG9uL3JhZGlvYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFjbkYsTUFBTSxPQUFPLG9CQUFzQixTQUFRLHNCQUFzQjtJQW1CN0Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQW5CWjs7O1dBR0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRW5COztXQUVHO1FBQ00sT0FBRSxHQUFHLEVBQUUsQ0FBQztRQWFqQixnRUFBZ0U7UUFDaEUsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV6QixnRUFBZ0U7UUFDaEUsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQU54QixDQUFDO0lBUEQsWUFBWSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQVlELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBYztRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7OztZQTdESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsOHRDQUEyQztnQkFFM0MsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7d0JBQ25ELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzthQUNKOzs7O21CQU1JLEtBQUs7aUJBS0wsS0FBSzswQkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQWN0aW9uc1BhcmVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcmVudC1jb21wb25lbnRzL2FjdGlvbnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtcmFkaW9idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpb2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFkaW9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0J1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCAgZXh0ZW5kcyBBY3Rpb25zUGFyZW50Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIEludGVybmFsIGRlc2NyaXB0aW9uIG5hbWUuIEFsbCByYWRpbyBidXR0b25zIHdpdGggdGhlIHNhbWUgbmFtZSBiZWxvbmcgdG8gdGhlIHNhbWUgZ3JvdXAuXG4gICAgICogVXNlciBjYW4gc2VsZWN0IGV4YWN0bHkgb25lIG9mIHRoZSByYWRpbyBidXR0b25zIGZyb20gdGhlIHNhbWUgZ3JvdXAuXG4gICAgICovXG4gICAgQElucHV0KCkgbmFtZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgZGVzY3JpcHRpb24gaWQuIFdpbGwgYmUgc2VuZCBpbiB0aGUgb3V0cHV0IGV2ZW50IHdoZW4gdGhlIHJhZGlvIGJ1dHRvbiBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpZCA9ICcnO1xuXG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2w6IGFueTtcblxuICAgIHNlbGVjdEFjdGlvbihpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0LmVtaXQoaWQpO1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG5cbiAgICBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrZWQ7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Component, forwardRef, Input, Renderer2 } from '@angular/core';
2
+ import { FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { SalutationEnum } from '../../models/salutation.enum';
4
+ import { FormControlParentComponent } from './../../parent-components/form-control.component';
5
+ export class SalutationDropdownComponent extends FormControlParentComponent {
6
+ constructor(formBuilder, renderer) {
7
+ super(formBuilder, renderer);
8
+ this.formBuilder = formBuilder;
9
+ this.renderer = renderer;
10
+ //For view
11
+ this.SalutationEnum = SalutationEnum;
12
+ this.Object = Object;
13
+ }
14
+ ngOnInit() {
15
+ this.form = this.formBuilder.group({
16
+ salut: [],
17
+ });
18
+ this.formInitialized = true;
19
+ //somehow for dropowns we have to set value manually with timeout for default value
20
+ setTimeout(() => {
21
+ this.form.controls['salut'].setValue(this.value ? this.value : '');
22
+ }, 1000);
23
+ this.form.valueChanges.subscribe((value) => {
24
+ this.onChange(value.salut);
25
+ });
26
+ super.ngOnInit();
27
+ }
28
+ }
29
+ SalutationDropdownComponent.decorators = [
30
+ { type: Component, args: [{
31
+ selector: 'kms-salutation-dropdown',
32
+ template: "<form [formGroup]=\"form\" class=\"row\">\n <mat-form-field class=\"col\">\n <mat-select disableOptionCentering [formControl]=\"form.controls['salut']\" [placeholder]=\"placeholder\" [value]=\"value\" #child>\n <mat-option [value]=\"SalutationEnum.NOT_SPECIFIED\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}</mat-option>\n <mat-option [value]=\"SalutationEnum.MALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}</mat-option>\n <mat-option [value]=\"SalutationEnum.FEMALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n</form>",
33
+ providers: [
34
+ {
35
+ provide: NG_VALUE_ACCESSOR,
36
+ useExisting: forwardRef(() => SalutationDropdownComponent),
37
+ multi: true,
38
+ },
39
+ ]
40
+ },] }
41
+ ];
42
+ SalutationDropdownComponent.ctorParameters = () => [
43
+ { type: FormBuilder },
44
+ { type: Renderer2 }
45
+ ];
46
+ SalutationDropdownComponent.propDecorators = {
47
+ placeholder: [{ type: Input }]
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsdXRhdGlvbi1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvdWkvc2FsdXRhdGlvbi1kcm9wZG93bi9zYWx1dGF0aW9uLWRyb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBYTlGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSwwQkFBMEI7SUFPdkUsWUFBbUIsV0FBd0IsRUFBUyxRQUFtQjtRQUNuRSxLQUFLLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSnZFLFVBQVU7UUFDVixtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxXQUFNLEdBQUcsTUFBTSxDQUFDO0lBSWhCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMvQixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBRTVCLG1GQUFtRjtRQUNuRixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUdULElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OztZQXZDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsa3dCQUFtRDtnQkFDbkQsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7d0JBQzFELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKO2FBQ0o7OztZQWhCOEIsV0FBVztZQURLLFNBQVM7OzswQkFtQm5ELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bGxBYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNhbHV0YXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhbHV0YXRpb24uZW51bSc7XG5cbmltcG9ydCB7IEZvcm1Db250cm9sUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtc2FsdXRhdGlvbi1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NhbHV0YXRpb24tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhbHV0YXRpb25Ecm9wZG93bkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWx1dGF0aW9uRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBGb3JtQ29udHJvbFBhcmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBOdWxsQWJsZTxTdHJpbmc+O1xuXG4gICAgLy9Gb3Igdmlld1xuICAgIFNhbHV0YXRpb25FbnVtID0gU2FsdXRhdGlvbkVudW07XG4gICAgT2JqZWN0ID0gT2JqZWN0O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIsIHJlbmRlcmVyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBzYWx1dDogW10sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1Jbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIFxuICAgICAgICAvL3NvbWVob3cgZm9yIGRyb3Bvd25zIHdlIGhhdmUgdG8gc2V0IHZhbHVlIG1hbnVhbGx5IHdpdGggdGltZW91dCBmb3IgZGVmYXVsdCB2YWx1ZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1snc2FsdXQnXS5zZXRWYWx1ZSh0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6ICcnKTtcbiAgICAgICAgfSwgMTAwMCk7XG5cblxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUuc2FsdXQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Component, forwardRef, Renderer2 } from '@angular/core';
2
+ import { FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { isValue } from '../../models';
4
+ import { SalutationEnum } from '../../models/salutation.enum';
5
+ import { FormControlParentComponent } from '../../parent-components/form-control.component';
6
+ export class SalutationRadiogroupComponent extends FormControlParentComponent {
7
+ constructor(formBuilder, renderer) {
8
+ super(formBuilder, renderer);
9
+ this.formBuilder = formBuilder;
10
+ this.renderer = renderer;
11
+ //For view
12
+ this.SalutationEnum = SalutationEnum;
13
+ this.Object = Object;
14
+ }
15
+ ngOnInit() {
16
+ this.form = this.formBuilder.group({
17
+ salut: [isValue(this.value) ? this.value : '', null],
18
+ });
19
+ this.formInitialized = true;
20
+ this.form.valueChanges.subscribe((value) => {
21
+ this.internalValue = value.salut;
22
+ this.onChange(value.salut);
23
+ });
24
+ super.ngOnInit();
25
+ }
26
+ }
27
+ SalutationRadiogroupComponent.decorators = [
28
+ { type: Component, args: [{
29
+ selector: 'kms-salutation-radiogroup',
30
+ template: "<form [formGroup]=\"form\" >\n <mat-radio-group [formControl]=\"form.controls['salut']\" [disabled]=\"disabled\" #radioGroup>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.NOT_SPECIFIED\" [checked]=\"value === SalutationEnum.NOT_SPECIFIED\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}\n </mat-radio-button>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.MALE\" [checked]=\"value === SalutationEnum.MALE\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}\n </mat-radio-button>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.FEMALE\" [checked]=\"value === SalutationEnum.FEMALE\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</form>",
31
+ providers: [
32
+ {
33
+ provide: NG_VALUE_ACCESSOR,
34
+ useExisting: forwardRef(() => SalutationRadiogroupComponent),
35
+ multi: true,
36
+ },
37
+ ]
38
+ },] }
39
+ ];
40
+ SalutationRadiogroupComponent.ctorParameters = () => [
41
+ { type: FormBuilder },
42
+ { type: Renderer2 }
43
+ ];
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsdXRhdGlvbi1yYWRpb2dyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9zYWx1dGF0aW9uLXJhZGlvZ3JvdXAvc2FsdXRhdGlvbi1yYWRpb2dyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQWE1RixNQUFNLE9BQU8sNkJBQThCLFNBQVEsMEJBQTBCO0lBTXpFLFlBQW1CLFdBQXdCLEVBQVMsUUFBbUI7UUFDbkUsS0FBSyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQURkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUp2RSxVQUFVO1FBQ1YsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMsV0FBTSxHQUFHLE1BQU0sQ0FBQztJQUloQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDL0IsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztTQUN2RCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzs7O1lBakNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyx1N0JBQXFEO2dCQUNyRCxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzt3QkFDNUQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7aUJBQ0o7YUFDSjs7O1lBZjhCLFdBQVc7WUFERixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzVmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU2FsdXRhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FsdXRhdGlvbi5lbnVtJztcbmltcG9ydCB7IEZvcm1Db250cm9sUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFyZW50LWNvbXBvbmVudHMvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna21zLXNhbHV0YXRpb24tcmFkaW9ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NhbHV0YXRpb24tcmFkaW9ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FsdXRhdGlvblJhZGlvZ3JvdXBDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FsdXRhdGlvblJhZGlvZ3JvdXBDb21wb25lbnQgZXh0ZW5kcyBGb3JtQ29udHJvbFBhcmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIFxuICAgIC8vRm9yIHZpZXdcbiAgICBTYWx1dGF0aW9uRW51bSA9IFNhbHV0YXRpb25FbnVtO1xuICAgIE9iamVjdCA9IE9iamVjdDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKGZvcm1CdWlsZGVyLCByZW5kZXJlcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgc2FsdXQ6IFtpc1ZhbHVlKHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSA6ICcnLCBudWxsXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybUluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlLnNhbHV0O1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZS5zYWx1dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,80 @@
1
+ import { Component, forwardRef } from '@angular/core';
2
+ import { FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ export class TimeInputComponent {
4
+ constructor(formBuilder) {
5
+ this.formBuilder = formBuilder;
6
+ this.h = '';
7
+ this.m = '';
8
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
9
+ this.onChange = () => { };
10
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
11
+ this.onTouch = () => { };
12
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
13
+ this.onTouched = () => { };
14
+ }
15
+ get value() {
16
+ return this.value;
17
+ }
18
+ set value(value) {
19
+ this.onChange(value);
20
+ this.onTouch(value);
21
+ }
22
+ writeValue(value) {
23
+ if (value && value.length === 8) {
24
+ this.h = value.substr(0, 2);
25
+ this.m = value.substr(3, 2);
26
+ }
27
+ else if (value && value.length === 5) {
28
+ this.h = value.substr(0, 2);
29
+ this.m = value.substr(-2);
30
+ }
31
+ //we need to also update the form value because angular has a problem reading it from first time when valuechanges subscription was fired.
32
+ this.form.controls['h'].setValue(this.h);
33
+ this.form.controls['m'].setValue(this.m);
34
+ this.form.valueChanges.subscribe(value => {
35
+ this.h = value.h;
36
+ this.m = value.m;
37
+ value = this.getNewOrDefault();
38
+ this.value = value;
39
+ this.onChange(value);
40
+ });
41
+ }
42
+ ngOnInit() {
43
+ this.form = this.formBuilder.group({
44
+ h: '',
45
+ m: '',
46
+ });
47
+ }
48
+ getNewOrDefault() {
49
+ //reset if user deletes everything
50
+ if (this.h === '' && this.m === '') {
51
+ return '';
52
+ }
53
+ const ret = this.h.padStart(2, '0') + ':' + this.m.padStart(2, '0');
54
+ return ret;
55
+ }
56
+ registerOnChange(fn) {
57
+ this.onChange = fn;
58
+ }
59
+ registerOnTouched(fn) {
60
+ this.onTouch = fn;
61
+ }
62
+ }
63
+ TimeInputComponent.decorators = [
64
+ { type: Component, args: [{
65
+ selector: 'kms-time-input',
66
+ template: "<form [formGroup]=\"form\" class=\"timeInput\">\n <input formControlName=\"h\" [value]=\"h\" maxlength=\"2\" />\n <span>:</span>\n <input formControlName=\"m\" [value]=\"m\" maxlength=\"2\" />\n</form>",
67
+ providers: [
68
+ {
69
+ provide: NG_VALUE_ACCESSOR,
70
+ useExisting: forwardRef(() => TimeInputComponent),
71
+ multi: true,
72
+ },
73
+ ],
74
+ styles: [".timeInput{display:inline}.timeInput input{width:2em;margin-right:4px;margin-left:4px;font-size:16px}"]
75
+ },] }
76
+ ];
77
+ TimeInputComponent.ctorParameters = () => [
78
+ { type: FormBuilder }
79
+ ];
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvdWkvdGltZS1pbnB1dC90aW1lLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXdCLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBY2pHLE1BQU0sT0FBTyxrQkFBa0I7SUFLM0IsWUFBbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIM0MsTUFBQyxHQUFHLEVBQUUsQ0FBQztRQUNQLE1BQUMsR0FBRyxFQUFFLENBQUM7UUE2RFAsZ0VBQWdFO1FBQ3pELGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFaEMsZ0VBQWdFO1FBQ2hFLFlBQU8sR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFeEIsZ0VBQWdFO1FBQ2hFLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFoRTFCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUMzQixJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUI7YUFBSyxJQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUNqQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsMElBQTBJO1FBQzFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqQixLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDL0IsQ0FBQyxFQUFFLEVBQUU7WUFDTCxDQUFDLEVBQUUsRUFBRTtTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ1gsa0NBQWtDO1FBQ2xDLElBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUM7WUFDOUIsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7O1lBMUVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQiw4TkFBMEM7Z0JBRTFDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBYjhCLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ttcy10aW1lLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGltZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbWVJbnB1dENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwdWJsaWMgZm9ybSE6IEZvcm1Hcm91cDtcbiAgICBoID0gJyc7XG4gICAgbSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICBcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuICAgIFxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2godmFsdWUpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZih2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPT09IDgpe1xuICAgICAgICAgICAgdGhpcy5oID0gdmFsdWUuc3Vic3RyKDAsMik7XG4gICAgICAgICAgICB0aGlzLm0gPSB2YWx1ZS5zdWJzdHIoMywyKTtcbiAgICAgICAgfWVsc2UgaWYodmFsdWUgJiYgdmFsdWUubGVuZ3RoID09PSA1KXtcbiAgICAgICAgICAgIHRoaXMuaCA9IHZhbHVlLnN1YnN0cigwLDIpO1xuICAgICAgICAgICAgdGhpcy5tID0gdmFsdWUuc3Vic3RyKC0yKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy93ZSBuZWVkIHRvIGFsc28gdXBkYXRlIHRoZSBmb3JtIHZhbHVlIGJlY2F1c2UgYW5ndWxhciBoYXMgYSBwcm9ibGVtIHJlYWRpbmcgaXQgZnJvbSBmaXJzdCB0aW1lIHdoZW4gdmFsdWVjaGFuZ2VzIHN1YnNjcmlwdGlvbiB3YXMgZmlyZWQuXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1snaCddLnNldFZhbHVlKHRoaXMuaCk7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1snbSddLnNldFZhbHVlKHRoaXMubSk7XG5cbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5oID0gdmFsdWUuaDtcbiAgICAgICAgICAgIHRoaXMubSA9IHZhbHVlLm07XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0TmV3T3JEZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgaDogJycsXG4gICAgICAgICAgICBtOiAnJyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TmV3T3JEZWZhdWx0KCl7XG4gICAgICAgIC8vcmVzZXQgaWYgdXNlciBkZWxldGVzIGV2ZXJ5dGhpbmdcbiAgICAgICAgaWYodGhpcy5oID09PSAnJyAmJiB0aGlzLm0gPT09ICcnKXtcbiAgICAgICAgICAgIHJldHVybiAnJzsgXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmV0ID0gdGhpcy5oLnBhZFN0YXJ0KDIsICcwJykgKyAgJzonICsgdGhpcy5tLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBwdWJsaWMgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class TooltipComponent {
3
+ constructor() {
4
+ this.tooltipTitle = "";
5
+ }
6
+ }
7
+ TooltipComponent.decorators = [
8
+ { type: Component, args: [{
9
+ selector: 'kms-tooltip-element',
10
+ template: "<ng-content></ng-content>",
11
+ styles: ["[kmsTooltip]{position:relative}"]
12
+ },] }
13
+ ];
14
+ TooltipComponent.propDecorators = {
15
+ tooltipTitle: [{ type: Input }]
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvdWkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9qRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTWEsaUJBQVksR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7O1lBUEEsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLHFDQUF1Qzs7YUFFMUM7OzsyQkFFSSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ttcy10b29sdGlwLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdG9vbHRpcFRpdGxlID0gXCJcIjtcbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { IconSize } from '../../models';
3
+ export class TooltipIconComponent {
4
+ constructor() {
5
+ this.tooltipTitle = "";
6
+ this.tooltipText = "";
7
+ this.tooltipLinkText = "";
8
+ this.tooltipLinkUrl = "";
9
+ this.placement = "";
10
+ this.delay = 1000;
11
+ this.IconSize = IconSize;
12
+ }
13
+ }
14
+ TooltipIconComponent.decorators = [
15
+ { type: Component, args: [{
16
+ selector: 'kms-tooltip-icon',
17
+ template: "<span\n kmsTooltip\n [tooltipTitle]=\"tooltipTitle\"\n [tooltipText]=\"tooltipText\"\n [tooltipPlacement]=\"placement\"\n [tooltipDelay]=\"delay\"\n [tooltipLinkText]=\"tooltipLinkText\"\n [tooltipLinkUrl]=\"tooltipLinkUrl\"\n>\n <kms-icon icon=\"ic_info\" [iconSize]=\"IconSize.SMALLER\" [iconClass]=\"'color-primary'\"></kms-icon>\n</span>\n",
18
+ styles: [""]
19
+ },] }
20
+ ];
21
+ TooltipIconComponent.propDecorators = {
22
+ tooltipTitle: [{ type: Input }],
23
+ tooltipText: [{ type: Input }],
24
+ tooltipLinkText: [{ type: Input }],
25
+ tooltipLinkUrl: [{ type: Input }],
26
+ placement: [{ type: Input }],
27
+ delay: [{ type: Input }]
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS90b29sdGlwLWljb24vdG9vbHRpcC1pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBT3hDLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNYSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsVUFBSyxHQUFHLElBQUksQ0FBQztRQUV0QixhQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3hCLENBQUM7OztZQWZBLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QiwyWEFBNEM7O2FBRS9DOzs7MkJBRUksS0FBSzswQkFDTCxLQUFLOzhCQUNMLEtBQUs7NkJBQ0wsS0FBSzt3QkFFTCxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uU2l6ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna21zLXRvb2x0aXAtaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC1pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcEljb25Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRvb2x0aXBUaXRsZSA9IFwiXCI7XG4gICAgQElucHV0KCkgdG9vbHRpcFRleHQgPSBcIlwiO1xuICAgIEBJbnB1dCgpIHRvb2x0aXBMaW5rVGV4dCA9IFwiXCI7XG4gICAgQElucHV0KCkgdG9vbHRpcExpbmtVcmwgPSBcIlwiO1xuXG4gICAgQElucHV0KCkgcGxhY2VtZW50ID0gXCJcIjtcbiAgICBASW5wdXQoKSBkZWxheSA9IDEwMDA7XG5cbiAgICBJY29uU2l6ZSA9IEljb25TaXplO1xufVxuIl19
@@ -0,0 +1,74 @@
1
+ import { Component, forwardRef, Input, Renderer2, ViewChild } from '@angular/core';
2
+ import { FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ export class YesNoRadiogroupComponent {
4
+ constructor(formBuilder, renderer) {
5
+ this.formBuilder = formBuilder;
6
+ this.renderer = renderer;
7
+ this.disabled = false;
8
+ this.textYes = '';
9
+ this.textNo = '';
10
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
11
+ this.onChange = () => { };
12
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
13
+ this.onTouch = () => { };
14
+ }
15
+ get value() {
16
+ return this.internalValue;
17
+ }
18
+ set value(value) {
19
+ this.internalValue = value;
20
+ if (value !== undefined && this.internalValue !== value) {
21
+ this.onChange(value);
22
+ this.onTouch(value);
23
+ }
24
+ }
25
+ writeValue(value) {
26
+ this.internalValue = value;
27
+ this.value = value;
28
+ }
29
+ registerOnChange(fn) {
30
+ this.onChange = fn;
31
+ }
32
+ registerOnTouched(fn) {
33
+ this.onTouch = fn;
34
+ }
35
+ setDisabledState(isDisabled) {
36
+ if (this.child) {
37
+ this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);
38
+ }
39
+ }
40
+ ngOnInit() {
41
+ this.form = this.formBuilder.group({
42
+ yesno: [],
43
+ });
44
+ this.form.valueChanges.subscribe((value) => {
45
+ this.internalValue = value.yesno;
46
+ this.onChange(value.yesno);
47
+ });
48
+ }
49
+ }
50
+ YesNoRadiogroupComponent.decorators = [
51
+ { type: Component, args: [{
52
+ selector: 'kms-yesno-radiogroup',
53
+ template: "<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['yesno']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"true\" [checked]=\"internalValue === true\"> {{ textYes }}</mat-radio-button>\n <mat-radio-button [value]=\"false\" [checked]=\"internalValue === false\"> {{ textNo }}</mat-radio-button>\n </mat-radio-group>\n</form>\n",
54
+ providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => YesNoRadiogroupComponent),
58
+ multi: true,
59
+ },
60
+ ]
61
+ },] }
62
+ ];
63
+ YesNoRadiogroupComponent.ctorParameters = () => [
64
+ { type: FormBuilder },
65
+ { type: Renderer2 }
66
+ ];
67
+ YesNoRadiogroupComponent.propDecorators = {
68
+ header: [{ type: Input }],
69
+ disabled: [{ type: Input }],
70
+ textYes: [{ type: Input }],
71
+ textNo: [{ type: Input }],
72
+ child: [{ type: ViewChild, args: ['child',] }]
73
+ };
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVzLW5vLXJhZGlvZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3VpL3llcy1uby1yYWRpb2dyb3VwL3llcy1uby1yYWRpb2dyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQXdCLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBY2pHLE1BQU0sT0FBTyx3QkFBd0I7SUFpRGpDLFlBQW1CLFdBQXdCLEVBQVMsUUFBbUI7UUFBcEQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBOUM5RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBT3JCLGdFQUFnRTtRQUN6RCxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRWhDLGdFQUFnRTtRQUNoRSxZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBbUN4QixDQUFDO0lBakNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBd0I7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFO1lBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQy9FO0lBQ0wsQ0FBQztJQU1ELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQy9CLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBekVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw2YUFBaUQ7Z0JBQ2pELFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO3dCQUN2RCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjthQUNKOzs7WUFiOEIsV0FBVztZQURpQixTQUFTOzs7cUJBaUIvRCxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSztxQkFDTCxLQUFLO29CQUdMLFNBQVMsU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnVsbEFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ttcy15ZXNuby1yYWRpb2dyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4veWVzLW5vLXJhZGlvZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFllc05vUmFkaW9ncm91cENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBZZXNOb1JhZGlvZ3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBcbiAgICBASW5wdXQoKSBoZWFkZXI6IE51bGxBYmxlPFN0cmluZz47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB0ZXh0WWVzID0gJyc7XG4gICAgQElucHV0KCkgdGV4dE5vID0gJyc7XG4gICAgcHVibGljIGZvcm0hOiBGb3JtR3JvdXA7XG4gICAgXG4gICAgQFZpZXdDaGlsZCgnY2hpbGQnKSBwdWJsaWMgY2hpbGQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHVibGljIGludGVybmFsVmFsdWU6IE51bGxBYmxlPGJvb2xlYW4+O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIHB1YmxpYyBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG5cbiAgICBnZXQgdmFsdWUoKTogTnVsbEFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogTnVsbEFibGU8Ym9vbGVhbj4pIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuaW50ZXJuYWxWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuY2hpbGQubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgaXNEaXNhYmxlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgICAgICBcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICB5ZXNubzogW10sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWUueWVzbm87XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlLnllc25vKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Public API Surface of kms-ngx-ui-presentational
3
+ */
4
+ export * from './lib/kms-ngx-ui-presentational.service';
5
+ export * from './lib/kms-ngx-ui-presentational.component';
6
+ export * from './lib/kms-ngx-ui-presentational.module';
7
+ export * from './lib/models/iconSize.enum';
8
+ export * from './lib/models/salutation.enum';
9
+ //export * from './lib/ui/checkbox/checkbox.component';
10
+ //export * from './lib/parent-components/actions.component';
11
+ export * from './lib/ui/generic-dialog/generic-dialog.component';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsdURBQXVEO0FBQ3ZELDREQUE0RDtBQUM1RCxjQUFjLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBrbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIva21zLW5neC11aS1wcmVzZW50YXRpb25hbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ljb25TaXplLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NhbHV0YXRpb24uZW51bSc7XG4vL2V4cG9ydCAqIGZyb20gJy4vbGliL3VpL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG4vL2V4cG9ydCAqIGZyb20gJy4vbGliL3BhcmVudC1jb21wb25lbnRzL2FjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpL2dlbmVyaWMtZGlhbG9nL2dlbmVyaWMtZGlhbG9nLmNvbXBvbmVudCc7XG4iXX0=