@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,48 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
5
+ export class ActionsParentComponent {
6
+ constructor() {
7
+ /**
8
+ * Defines the disabled property
9
+ */
10
+ this.disabled = false;
11
+ /**
12
+ * Set button as selected. F.e. in multiselect component
13
+ */
14
+ this.checked = false;
15
+ /**
16
+ * Displayed label.
17
+ */
18
+ this.label = '';
19
+ /**
20
+ * Link
21
+ */
22
+ this.link = '';
23
+ /**
24
+ * Internal value that will be send if a form is submitted.
25
+ */
26
+ this.initialValue = '';
27
+ this.select = new EventEmitter();
28
+ }
29
+ selectAction(id) {
30
+ this.checked = !this.checked;
31
+ this.select.emit(id);
32
+ }
33
+ }
34
+ ActionsParentComponent.decorators = [
35
+ { type: Component, args: [{
36
+ selector: 'kms-actions',
37
+ template: ''
38
+ },] }
39
+ ];
40
+ ActionsParentComponent.propDecorators = {
41
+ disabled: [{ type: Input }],
42
+ checked: [{ type: Input }],
43
+ label: [{ type: Input }],
44
+ link: [{ type: Input }],
45
+ initialValue: [{ type: Input }],
46
+ select: [{ type: Output }]
47
+ };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGFyZW50LWNvbXBvbmVudHMvYWN0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTXZFLE1BQU0sT0FBTyxzQkFBc0I7SUFKbkM7UUFLSTs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXpCOztXQUVHO1FBQ00sVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7V0FFRztRQUNNLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFbkI7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVqQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU0xQyxDQUFDO0lBSkcsWUFBWSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7O1lBbkNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFLEVBQUU7YUFDZjs7O3VCQUtJLEtBQUs7c0JBS0wsS0FBSztvQkFLTCxLQUFLO21CQUtMLEtBQUs7MkJBS0wsS0FBSztxQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtYWN0aW9ucycsXG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25zUGFyZW50Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgYnV0dG9uIGFzIHNlbGVjdGVkLiBGLmUuIGluIG11bHRpc2VsZWN0IGNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoZWNrZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERpc3BsYXllZCBsYWJlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogTGlua1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxpbmsgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEludGVybmFsIHZhbHVlIHRoYXQgd2lsbCBiZSBzZW5kIGlmIGEgZm9ybSBpcyBzdWJtaXR0ZWQuXG4gICAgICovXG4gICAgQElucHV0KCkgaW5pdGlhbFZhbHVlID0gJyc7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgc2VsZWN0QWN0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5zZWxlY3QuZW1pdChpZCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,73 @@
1
+ import { Component, Input, EventEmitter, Output, ViewChild, Renderer2 } from '@angular/core';
2
+ import { FormBuilder } from '@angular/forms';
3
+ import { FormParentComponent } from './form.component';
4
+ export class FormControlParentComponent extends FormParentComponent {
5
+ constructor(formBuilder, renderer) {
6
+ super(formBuilder);
7
+ this.formBuilder = formBuilder;
8
+ this.renderer = renderer;
9
+ this.defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually
10
+ this.onSelectItemEmitter = new EventEmitter();
11
+ this.internalValue = '';
12
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
13
+ this.onChange = () => { };
14
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
15
+ this.onTouch = () => { };
16
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
17
+ this.onTouched = () => { };
18
+ }
19
+ ngOnInit() {
20
+ super.ngOnInit();
21
+ }
22
+ change(value) {
23
+ this.onChange(value);
24
+ this.onTouched();
25
+ }
26
+ get value() {
27
+ return this.internalValue;
28
+ }
29
+ set value(value) {
30
+ this.internalValue = value;
31
+ if (value !== undefined && this.internalValue !== value) {
32
+ if (!this.internalValue && this.defaultDataOverride) {
33
+ this.internalValue = this.defaultDataOverride;
34
+ }
35
+ this.onChange(value);
36
+ this.onTouch(value);
37
+ }
38
+ }
39
+ writeValue(value) {
40
+ this.internalValue = value;
41
+ this.value = value;
42
+ }
43
+ registerOnChange(fn) {
44
+ this.onChange = fn;
45
+ }
46
+ registerOnTouched(fn) {
47
+ this.onTouch = fn;
48
+ }
49
+ setDisabledState(isDisabled) {
50
+ if (this.child) {
51
+ this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);
52
+ }
53
+ }
54
+ validate(_) {
55
+ return this.form.valid ? null : false;
56
+ }
57
+ }
58
+ FormControlParentComponent.decorators = [
59
+ { type: Component, args: [{
60
+ selector: 'kms-formControlParent',
61
+ template: ''
62
+ },] }
63
+ ];
64
+ FormControlParentComponent.ctorParameters = () => [
65
+ { type: FormBuilder },
66
+ { type: Renderer2 }
67
+ ];
68
+ FormControlParentComponent.propDecorators = {
69
+ defaultDataOverride: [{ type: Input }],
70
+ onSelectItemEmitter: [{ type: Output }],
71
+ child: [{ type: ViewChild, args: ['child',] }]
72
+ };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNdkQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQVEvRCxZQUFtQixXQUF3QixFQUFTLFFBQW1CO1FBQ25FLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQURKLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVA5RCx3QkFBbUIsR0FBRyxFQUFFLENBQUMsQ0FBQyx3RUFBd0U7UUFDakcsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUlwRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQWUxQixnRUFBZ0U7UUFDekQsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVoQyxnRUFBZ0U7UUFDaEUsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV4QixnRUFBZ0U7UUFDaEUsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQWxCMUIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFXRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7YUFDakQ7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvRTtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDOzs7WUF0RUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRSxFQUFFO2FBQ2Y7OztZQU5RLFdBQVc7WUFEb0QsU0FBUzs7O2tDQVM1RSxLQUFLO2tDQUNMLE1BQU07b0JBRU4sU0FBUyxTQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1QYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtZm9ybUNvbnRyb2xQYXJlbnQnLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgZXh0ZW5kcyBGb3JtUGFyZW50Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBkZWZhdWx0RGF0YU92ZXJyaWRlID0gJyc7IC8vIHdoZW4gd2UgaGF2ZSBOTyBmb3JtIGFyb3VuZCwgZ2V0IGRlZmF1bHQgdmlhIGlucHV0IHRvIHNldCBpdCBtYW51YWxseVxuICAgIEBPdXRwdXQoKSBvblNlbGVjdEl0ZW1FbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdjaGlsZCcpIHB1YmxpYyBjaGlsZD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwdWJsaWMgaW50ZXJuYWxWYWx1ZSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCl7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIHB1YmxpYyBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmludGVybmFsVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW50ZXJuYWxWYWx1ZSAmJiB0aGlzLmRlZmF1bHREYXRhT3ZlcnJpZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB0aGlzLmRlZmF1bHREYXRhT3ZlcnJpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5jaGlsZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmNoaWxkLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoXzogRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZCA/IG51bGwgOiBmYWxzZTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,77 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
5
+ import { FormBuilder } from '@angular/forms';
6
+ export class FormParentComponent {
7
+ constructor(formBuilder) {
8
+ this.formBuilder = formBuilder;
9
+ this.formInitialized = false;
10
+ this.allowedCharsOnlyNumbers = new Set('0123456789'.split('').map(c => c.charCodeAt(0)));
11
+ this.formDataChanged = new EventEmitter();
12
+ this.disabled = false;
13
+ }
14
+ // TODO make a service or make own compoennt etc.
15
+ /**
16
+ * Returns if a number was pressed
17
+ * @param e
18
+ * @returns
19
+ */
20
+ checkIfKeyWasNumber(e, allowDelete = true, allowArrows = true, allowCutCopyPaste = true) {
21
+ // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key
22
+ const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;
23
+ const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;
24
+ const isArrows = e.keyCode >= 37 && e.keyCode <= 40;
25
+ const isDelete = e.keyCode == 8 || e.keyCode == 46;
26
+ const isCutCopyOrPaste = (e.ctrlKey || e.metaKey) && (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);
27
+ return (isNumberRow) || (isNumberPad) || (allowDelete && isDelete) || (allowArrows && isArrows) || (allowCutCopyPaste && isCutCopyOrPaste);
28
+ }
29
+ // TODO make a service or make own compoennt etc.
30
+ /**
31
+ * Prevents to input other chars than numbers in input
32
+ * @param event
33
+ */
34
+ removeNumbersOnType(event) {
35
+ // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers
36
+ if (!this.checkIfKeyWasNumber(event) && !this.allowedCharsOnlyNumbers.has(event.keyCode)) {
37
+ event.preventDefault();
38
+ }
39
+ }
40
+ // TODO make a service or make own compoennt etc.
41
+ /**
42
+ * Prevents input when pasting which is not number
43
+ * @param event
44
+ */
45
+ removeNumbersOnPaste(event) {
46
+ const clipboardData = event.clipboardData;
47
+ if (clipboardData) {
48
+ const pastedText = clipboardData.getData('text');
49
+ if (pastedText) {
50
+ const isnum = /^\d+$/.test(pastedText);
51
+ if (!isnum) {
52
+ event.preventDefault();
53
+ }
54
+ }
55
+ }
56
+ }
57
+ ngOnInit() {
58
+ this.formDataChanged.emit(this.form);
59
+ this.form.valueChanges.subscribe(() => {
60
+ this.formDataChanged.emit(this.form);
61
+ });
62
+ }
63
+ }
64
+ FormParentComponent.decorators = [
65
+ { type: Component, args: [{
66
+ selector: 'kms-form',
67
+ template: ''
68
+ },] }
69
+ ];
70
+ FormParentComponent.ctorParameters = () => [
71
+ { type: FormBuilder }
72
+ ];
73
+ FormParentComponent.propDecorators = {
74
+ formDataChanged: [{ type: Output }],
75
+ disabled: [{ type: Input }]
76
+ };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGFyZW50LWNvbXBvbmVudHMvZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQU14RCxNQUFNLE9BQU8sbUJBQW1CO0lBUzVCLFlBQ1csV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFSNUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDdkIsNEJBQXVCLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRixvQkFBZSxHQUE0QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9ELGFBQVEsR0FBRyxLQUFLLENBQUM7SUFNMUIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsQ0FBZ0IsRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsR0FBRyxJQUFJLEVBQUUsaUJBQWlCLEdBQUcsSUFBSTtRQUNsRyxrR0FBa0c7UUFDbEcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdkQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLENBQUM7SUFDL0ksQ0FBQztJQUVELGlEQUFpRDtJQUNqRDs7O09BR0c7SUFDSCxtQkFBbUIsQ0FBQyxLQUFvQjtRQUNwQyxpR0FBaUc7UUFDakcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxpREFBaUQ7SUFDakQ7OztPQUdHO0lBQ0gsb0JBQW9CLENBQUMsS0FBcUI7UUFDdEMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFHLGFBQWEsRUFBQztZQUNiLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsSUFBRyxVQUFVLEVBQUM7Z0JBQ1YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkMsSUFBRyxDQUFDLEtBQUssRUFBRTtvQkFDUCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQzFCO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBdEVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFLEVBQUU7YUFDZjs7O1lBTFEsV0FBVzs7OzhCQVdmLE1BQU07dUJBRU4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna21zLWZvcm0nLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVBhcmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHVibGljIGZvcm0hOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGZvcm1Jbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgYWxsb3dlZENoYXJzT25seU51bWJlcnMgPSBuZXcgU2V0KCcwMTIzNDU2Nzg5Jy5zcGxpdCgnJykubWFwKGMgPT4gYy5jaGFyQ29kZUF0KDApKSk7XG5cbiAgICBAT3V0cHV0KCkgZm9ybURhdGFDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlclxuICAgICkge1xuXG4gICAgfVxuXG4gICAgLy8gVE9ETyBtYWtlIGEgc2VydmljZSBvciBtYWtlIG93biBjb21wb2VubnQgZXRjLlxuICAgIC8qKlxuICAgICAqIFJldHVybnMgaWYgYSBudW1iZXIgd2FzIHByZXNzZWRcbiAgICAgKiBAcGFyYW0gZSBcbiAgICAgKiBAcmV0dXJucyBcbiAgICAgKi9cbiAgICBjaGVja0lmS2V5V2FzTnVtYmVyKGU6IEtleWJvYXJkRXZlbnQsIGFsbG93RGVsZXRlID0gdHJ1ZSwgYWxsb3dBcnJvd3MgPSB0cnVlLCBhbGxvd0N1dENvcHlQYXN0ZSA9IHRydWUpe1xuICAgICAgICAvLyByZXR1cm5zIGlmIGtleWNvZGUgb2YgbnVtYmVycy1yb3cgb3IgbnVtYmVycGFkLiBPciBpZiBwYXJhbWV0ZXIgc2V0LCBhbGxvdyBkZWxldGUvYmFja3NwYWNlIGtleVxuICAgICAgICBjb25zdCBpc051bWJlclJvdyA9IGUua2V5Q29kZSA+PSA0OCAmJiBlLmtleUNvZGUgPD0gNTc7XG4gICAgICAgIGNvbnN0IGlzTnVtYmVyUGFkID0gZS5rZXlDb2RlID49IDk2ICYmIGUua2V5Q29kZSA8PSAxMDU7XG4gICAgICAgIGNvbnN0IGlzQXJyb3dzID0gZS5rZXlDb2RlID49IDM3ICYmIGUua2V5Q29kZSA8PSA0MDtcbiAgICAgICAgY29uc3QgaXNEZWxldGUgPSBlLmtleUNvZGUgPT0gOCB8fCBlLmtleUNvZGUgPT0gNDY7XG4gICAgICAgIGNvbnN0IGlzQ3V0Q29weU9yUGFzdGUgPSAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkgJiYgKGUua2V5Q29kZSA9PSA4NiB8fCBlLmtleUNvZGUgPT0gODggfHwgZS5rZXlDb2RlID09IDY3KTtcbiAgICAgICAgcmV0dXJuIChpc051bWJlclJvdykgfHwgKGlzTnVtYmVyUGFkKSB8fCAoYWxsb3dEZWxldGUgJiYgaXNEZWxldGUpIHx8IChhbGxvd0Fycm93cyAmJiBpc0Fycm93cykgfHwgKGFsbG93Q3V0Q29weVBhc3RlICYmIGlzQ3V0Q29weU9yUGFzdGUpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gbWFrZSBhIHNlcnZpY2Ugb3IgbWFrZSBvd24gY29tcG9lbm50IGV0Yy5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50cyB0byBpbnB1dCBvdGhlciBjaGFycyB0aGFuIG51bWJlcnMgaW4gaW5wdXRcbiAgICAgKiBAcGFyYW0gZXZlbnQgXG4gICAgICovXG4gICAgcmVtb3ZlTnVtYmVyc09uVHlwZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyBvbmx5IGFsbG93IGtleWRvd24gZnJvbSBudW1iZXJzLXJvdyBvciBudW1iZXJwYWQgb2Yga2V5YmFyZCBhbmQgYmxvY2sgb3RoZXIgY2hhcnMgdGhhbiBudW1iZXJzXG4gICAgICAgIGlmICghdGhpcy5jaGVja0lmS2V5V2FzTnVtYmVyKGV2ZW50KSAmJiAhdGhpcy5hbGxvd2VkQ2hhcnNPbmx5TnVtYmVycy5oYXMoZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPIG1ha2UgYSBzZXJ2aWNlIG9yIG1ha2Ugb3duIGNvbXBvZW5udCBldGMuXG4gICAgLyoqXG4gICAgICogUHJldmVudHMgaW5wdXQgd2hlbiBwYXN0aW5nIHdoaWNoIGlzIG5vdCBudW1iZXJcbiAgICAgKiBAcGFyYW0gZXZlbnRcbiAgICAgKi9cbiAgICByZW1vdmVOdW1iZXJzT25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpe1xuICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gZXZlbnQuY2xpcGJvYXJkRGF0YTtcbiAgICAgICAgaWYoY2xpcGJvYXJkRGF0YSl7XG4gICAgICAgICAgICBjb25zdCBwYXN0ZWRUZXh0ID0gY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgICAgICBpZihwYXN0ZWRUZXh0KXtcbiAgICAgICAgICAgICAgICBjb25zdCBpc251bSA9IC9eXFxkKyQvLnRlc3QocGFzdGVkVGV4dCk7XG4gICAgICAgICAgICAgICAgaWYoIWlzbnVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybURhdGFDaGFuZ2VkLmVtaXQodGhpcy5mb3JtKTtcbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtRGF0YUNoYW5nZWQuZW1pdCh0aGlzLmZvcm0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { CommonModule, CurrencyPipe } from '@angular/common';
5
+ import { NgModule } from '@angular/core';
6
+ import { IntegerCurrency } from './integer-currency.pipe';
7
+ import { DecodeUriPipe } from './decode-uri.pipe';
8
+ import { EncodeUriPipe } from './encode-uri.pipe';
9
+ import { SafeHtmlPipe } from './safe-html.pipe';
10
+ import { SafeStylePipe } from './safe-style.pipe';
11
+ import { SafeUrlPipe } from './safe-url.pipe';
12
+ import { TypeofPipe } from './typeof.pipe';
13
+ import { TrimPipe } from './trim.pipe';
14
+ import { ToNumberPipe } from './to-number.pipe';
15
+ export class CustomPipesModule {
16
+ }
17
+ CustomPipesModule.decorators = [
18
+ { type: NgModule, args: [{
19
+ declarations: [
20
+ IntegerCurrency,
21
+ SafeHtmlPipe,
22
+ SafeStylePipe,
23
+ SafeUrlPipe,
24
+ EncodeUriPipe,
25
+ DecodeUriPipe,
26
+ TypeofPipe,
27
+ TrimPipe,
28
+ ToNumberPipe,
29
+ ],
30
+ imports: [CommonModule],
31
+ exports: [
32
+ IntegerCurrency,
33
+ SafeHtmlPipe,
34
+ SafeStylePipe,
35
+ SafeUrlPipe,
36
+ EncodeUriPipe,
37
+ DecodeUriPipe,
38
+ TypeofPipe,
39
+ TrimPipe,
40
+ ToNumberPipe,
41
+ ],
42
+ providers: [CurrencyPipe],
43
+ },] }
44
+ ];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBpcGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9waXBlcy9jdXN0b20tcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUYsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUE0QmhELE1BQU0sT0FBTyxpQkFBaUI7OztZQTFCN0IsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVixlQUFlO29CQUNmLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixVQUFVO29CQUNWLFFBQVE7b0JBQ1IsWUFBWTtpQkFDZjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCxlQUFlO29CQUNmLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixVQUFVO29CQUNWLFFBQVE7b0JBQ1IsWUFBWTtpQkFDZjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcbiAqL1xuXG4gaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuIGltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gXG4gaW1wb3J0IHsgSW50ZWdlckN1cnJlbmN5IH0gZnJvbSAnLi9pbnRlZ2VyLWN1cnJlbmN5LnBpcGUnO1xuIGltcG9ydCB7IERlY29kZVVyaVBpcGUgfSBmcm9tICcuL2RlY29kZS11cmkucGlwZSc7XG4gaW1wb3J0IHsgRW5jb2RlVXJpUGlwZSB9IGZyb20gJy4vZW5jb2RlLXVyaS5waXBlJztcbiBpbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3NhZmUtaHRtbC5waXBlJztcbiBpbXBvcnQgeyBTYWZlU3R5bGVQaXBlIH0gZnJvbSAnLi9zYWZlLXN0eWxlLnBpcGUnO1xuIGltcG9ydCB7IFNhZmVVcmxQaXBlIH0gZnJvbSAnLi9zYWZlLXVybC5waXBlJztcbiBpbXBvcnQgeyBUeXBlb2ZQaXBlIH0gZnJvbSAnLi90eXBlb2YucGlwZSc7XG4gaW1wb3J0IHsgVHJpbVBpcGUgfSBmcm9tICcuL3RyaW0ucGlwZSc7XG4gaW1wb3J0IHsgVG9OdW1iZXJQaXBlIH0gZnJvbSAnLi90by1udW1iZXIucGlwZSc7XG4gXG4gQE5nTW9kdWxlKHtcbiAgICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgICBJbnRlZ2VyQ3VycmVuY3ksXG4gICAgICAgICBTYWZlSHRtbFBpcGUsXG4gICAgICAgICBTYWZlU3R5bGVQaXBlLFxuICAgICAgICAgU2FmZVVybFBpcGUsXG4gICAgICAgICBFbmNvZGVVcmlQaXBlLFxuICAgICAgICAgRGVjb2RlVXJpUGlwZSxcbiAgICAgICAgIFR5cGVvZlBpcGUsXG4gICAgICAgICBUcmltUGlwZSxcbiAgICAgICAgIFRvTnVtYmVyUGlwZSxcbiAgICAgXSxcbiAgICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgIGV4cG9ydHM6IFtcbiAgICAgICAgIEludGVnZXJDdXJyZW5jeSxcbiAgICAgICAgIFNhZmVIdG1sUGlwZSxcbiAgICAgICAgIFNhZmVTdHlsZVBpcGUsXG4gICAgICAgICBTYWZlVXJsUGlwZSxcbiAgICAgICAgIEVuY29kZVVyaVBpcGUsXG4gICAgICAgICBEZWNvZGVVcmlQaXBlLFxuICAgICAgICAgVHlwZW9mUGlwZSxcbiAgICAgICAgIFRyaW1QaXBlLFxuICAgICAgICAgVG9OdW1iZXJQaXBlLFxuICAgICBdLFxuICAgICBwcm92aWRlcnM6IFtDdXJyZW5jeVBpcGVdLFxuIH0pXG4gZXhwb3J0IGNsYXNzIEN1c3RvbVBpcGVzTW9kdWxlIHt9XG4gIl19
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ export class DecodeUriPipe {
6
+ transform(value, _args) {
7
+ return decodeURI(value);
8
+ }
9
+ }
10
+ DecodeUriPipe.decorators = [
11
+ { type: Pipe, args: [{
12
+ name: 'kmsDecodeUri',
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2RlLXVyaS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3BpcGVzL2RlY29kZS11cmkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBRXRCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsS0FBVztRQUM3QixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFQSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGNBQWM7YUFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBjb3B5cmlnaHQgRkxZQUNUUyBHbWJIIDIwMTlcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAna21zRGVjb2RlVXJpJyxcbn0pXG5leHBvcnQgY2xhc3MgRGVjb2RlVXJpUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIF9hcmdzPzogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZVVSSSh2YWx1ZSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ export class EncodeUriPipe {
6
+ transform(value, _args) {
7
+ return encodeURI(value);
8
+ }
9
+ }
10
+ EncodeUriPipe.decorators = [
11
+ { type: Pipe, args: [{
12
+ name: 'kmsEncodeUri',
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RlLXVyaS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3BpcGVzL2VuY29kZS11cmkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsS0FBVztRQUM3QixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFOSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGNBQWM7YUFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBjb3B5cmlnaHQgRkxZQUNUUyBHbWJIIDIwMTlcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAna21zRW5jb2RlVXJpJyxcbn0pXG5leHBvcnQgY2xhc3MgRW5jb2RlVXJpUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBfYXJncz86IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVVUkkodmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { CurrencyPipe } from '@angular/common';
5
+ import { Pipe } from '@angular/core';
6
+ export class IntegerCurrency {
7
+ constructor(cp) {
8
+ this.cp = cp;
9
+ }
10
+ transform(value, currencyCode, display, digitsInfo) {
11
+ const currencyPipeValue = this.cp.transform(value, currencyCode, display, digitsInfo);
12
+ if (currencyPipeValue) {
13
+ const convertedValue = currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1);
14
+ return convertedValue;
15
+ }
16
+ else {
17
+ throw new Error("No value provided");
18
+ }
19
+ }
20
+ }
21
+ IntegerCurrency.decorators = [
22
+ { type: Pipe, args: [{
23
+ name: 'kmsIntegerCurrency',
24
+ },] }
25
+ ];
26
+ IntegerCurrency.ctorParameters = () => [
27
+ { type: CurrencyPipe }
28
+ ];
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdlci1jdXJyZW5jeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3BpcGVzL2ludGVnZXItY3VycmVuY3kucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUFvQixFQUFnQjtRQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO0lBQUcsQ0FBQztJQUN4QyxTQUFTLENBQUMsS0FBVSxFQUFFLFlBQXFCLEVBQUUsT0FBaUIsRUFBRSxVQUFtQjtRQUMvRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ3JGLElBQUksaUJBQWlCLEVBQUU7WUFDbkIsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxRixPQUFPLGNBQWMsQ0FBQTtTQUN4QjthQUFNO1lBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQzs7O1lBYkosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxvQkFBb0I7YUFDN0I7OztZQUxRLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcbiAqL1xuXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ttc0ludGVnZXJDdXJyZW5jeScsXG59KVxuZXhwb3J0IGNsYXNzIEludGVnZXJDdXJyZW5jeSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3A6IEN1cnJlbmN5UGlwZSkge31cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgY3VycmVuY3lDb2RlPzogc3RyaW5nLCBkaXNwbGF5PzogYm9vbGVhbiwgZGlnaXRzSW5mbz86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBjdXJyZW5jeVBpcGVWYWx1ZSA9IHRoaXMuY3AudHJhbnNmb3JtKHZhbHVlLCBjdXJyZW5jeUNvZGUsIGRpc3BsYXksIGRpZ2l0c0luZm8pXG4gICAgICAgIGlmIChjdXJyZW5jeVBpcGVWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBjdXJyZW5jeVBpcGVWYWx1ZS5zcGxpdCgnLCcpWzBdICsgJyAnICsgY3VycmVuY3lQaXBlVmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICByZXR1cm4gY29udmVydGVkVmFsdWVcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHZhbHVlIHByb3ZpZGVkXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ import { DomSanitizer } from '@angular/platform-browser';
6
+ export class SafeHtmlPipe {
7
+ constructor(sanitizer) {
8
+ this.sanitizer = sanitizer;
9
+ }
10
+ transform(html) {
11
+ return this.sanitizer.bypassSecurityTrustHtml(html);
12
+ }
13
+ }
14
+ SafeHtmlPipe.decorators = [
15
+ { type: Pipe, args: [{
16
+ name: 'kmsSafeHtml',
17
+ },] }
18
+ ];
19
+ SafeHtmlPipe.ctorParameters = () => [
20
+ { type: DomSanitizer }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGlwZXMvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFLbkUsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFFaEQsU0FBUyxDQUFDLElBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7OztZQVJKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsYUFBYTthQUN0Qjs7O1lBSlEsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdrbXNTYWZlSHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNhZmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxuXG4gICAgdHJhbnNmb3JtKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ import { DomSanitizer } from '@angular/platform-browser';
6
+ export class SafeStylePipe {
7
+ constructor(sanitizer) {
8
+ this.sanitizer = sanitizer;
9
+ }
10
+ transform(style) {
11
+ return this.sanitizer.bypassSecurityTrustStyle(style);
12
+ }
13
+ }
14
+ SafeStylePipe.decorators = [
15
+ { type: Pipe, args: [{
16
+ name: 'kmsSafeStyle',
17
+ },] }
18
+ ];
19
+ SafeStylePipe.ctorParameters = () => [
20
+ { type: DomSanitizer }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1zdHlsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3BpcGVzL3NhZmUtc3R5bGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQztBQUtsRSxNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUksQ0FBQztJQUVoRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7O1lBUkosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxjQUFjO2FBQ3ZCOzs7WUFKUSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAY29weXJpZ2h0IEtNUyBHbWJIXG4gKi9cblxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAna21zU2FmZVN0eWxlJyxcbn0pXG5leHBvcnQgY2xhc3MgU2FmZVN0eWxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxuXG4gICAgdHJhbnNmb3JtKHN0eWxlOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShzdHlsZSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ import { DomSanitizer } from '@angular/platform-browser';
6
+ export class SafeUrlPipe {
7
+ constructor(sanitizer) {
8
+ this.sanitizer = sanitizer;
9
+ }
10
+ transform(style) {
11
+ return this.sanitizer.bypassSecurityTrustUrl(style);
12
+ }
13
+ }
14
+ SafeUrlPipe.decorators = [
15
+ { type: Pipe, args: [{
16
+ name: 'kmsSafeSUrl',
17
+ },] }
18
+ ];
19
+ SafeUrlPipe.ctorParameters = () => [
20
+ { type: DomSanitizer }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9waXBlcy9zYWZlLXVybC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBS2xFLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDO0lBRS9DLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDOzs7WUFSSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGFBQWE7YUFDdEI7OztZQUpRLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdrbXNTYWZlU1VybCcsXG59KVxuZXhwb3J0IGNsYXNzIFNhZmVVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIHRyYW5zZm9ybShzdHlsZTogc3RyaW5nKTogU2FmZVVybCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHN0eWxlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ export class ToNumberPipe {
6
+ transform(items) {
7
+ if (!items) {
8
+ return 0;
9
+ }
10
+ return parseInt(items, 10);
11
+ }
12
+ }
13
+ ToNumberPipe.decorators = [
14
+ { type: Pipe, args: [{
15
+ name: 'kmsToNumber',
16
+ pure: false
17
+ },] }
18
+ ];
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tbnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGlwZXMvdG8tbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU9wRCxNQUFNLE9BQU8sWUFBWTtJQUNyQixTQUFTLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7WUFYSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxLQUFLO2FBRWQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAna21zVG9OdW1iZXInLFxuICAgIHB1cmU6IGZhbHNlXG4gICAgXG59KVxuZXhwb3J0IGNsYXNzIFRvTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShpdGVtczogYW55KTogYW55IHtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KGl0ZW1zLCAxMCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { Pipe } from "@angular/core";
5
+ export class TrimPipe {
6
+ transform(value) {
7
+ if (!value) {
8
+ return '';
9
+ }
10
+ return value.trim();
11
+ }
12
+ }
13
+ TrimPipe.decorators = [
14
+ { type: Pipe, args: [{ name: 'kmsTrim' },] }
15
+ ];
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3BpcGVzL3RyaW0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE1BQU0sT0FBTyxRQUFRO0lBQ2pCLFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7O1lBUkosSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBLTVMgR21iSFxuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AUGlwZSh7IG5hbWU6ICdrbXNUcmltJyB9KVxuZXhwb3J0IGNsYXNzIFRyaW1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLnRyaW0oKTtcbiAgICB9XG59Il19
@@ -0,0 +1,12 @@
1
+ import { Pipe } from '@angular/core';
2
+ export class TypeofPipe {
3
+ transform(value) {
4
+ return typeof value;
5
+ }
6
+ }
7
+ TypeofPipe.decorators = [
8
+ { type: Pipe, args: [{
9
+ name: 'kmsTypeOf',
10
+ },] }
11
+ ];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZW9mLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGlwZXMvdHlwZW9mLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLcEQsTUFBTSxPQUFPLFVBQVU7SUFDbkIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxPQUFPLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7WUFOSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLFdBQVc7YUFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAna21zVHlwZU9mJyxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZW9mUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZTtcbiAgICB9XG59XG4iXX0=