@kms-ngx-ui/presentational 0.0.19 → 0.0.21

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 (98) hide show
  1. package/bundles/kms-ngx-ui-presentational.umd.js +1645 -1270
  2. package/bundles/kms-ngx-ui-presentational.umd.js.map +1 -1
  3. package/esm2015/kms-ngx-ui-presentational.js +1 -37
  4. package/esm2015/lib/directives/directives.module.js +29 -18
  5. package/esm2015/lib/directives/mousewheel.directive.js +21 -11
  6. package/esm2015/lib/directives/sum-of-height.directive.js +18 -15
  7. package/esm2015/lib/directives/swipe.directive.js +38 -14
  8. package/esm2015/lib/directives/tooltip.directive.js +44 -24
  9. package/esm2015/lib/kms-ngx-ui-presentational.component.js +17 -9
  10. package/esm2015/lib/kms-ngx-ui-presentational.module.js +169 -80
  11. package/esm2015/lib/kms-ngx-ui-presentational.service.js +9 -8
  12. package/esm2015/lib/parent-components/actions.component.js +23 -15
  13. package/esm2015/lib/parent-components/form-control.component.js +20 -18
  14. package/esm2015/lib/parent-components/form.component.js +16 -15
  15. package/esm2015/lib/pipes/custom-pipes.module.js +54 -31
  16. package/esm2015/lib/pipes/decode-uri.pipe.js +10 -6
  17. package/esm2015/lib/pipes/encode-uri.pipe.js +10 -6
  18. package/esm2015/lib/pipes/integer-currency.pipe.js +11 -13
  19. package/esm2015/lib/pipes/safe-html.pipe.js +11 -10
  20. package/esm2015/lib/pipes/safe-resource-url.pipe.js +11 -10
  21. package/esm2015/lib/pipes/safe-style.pipe.js +11 -10
  22. package/esm2015/lib/pipes/safe-url.pipe.js +11 -10
  23. package/esm2015/lib/pipes/to-number.pipe.js +11 -7
  24. package/esm2015/lib/pipes/trim.pipe.js +8 -4
  25. package/esm2015/lib/pipes/typeof.pipe.js +10 -6
  26. package/esm2015/lib/services/viewport.service.js +10 -7
  27. package/esm2015/lib/ui/back-to-top/back-to-top.component.js +19 -13
  28. package/esm2015/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.js +26 -20
  29. package/esm2015/lib/ui/checkbox/checkbox.component.js +34 -21
  30. package/esm2015/lib/ui/color-input/color-input.component.js +38 -26
  31. package/esm2015/lib/ui/dropdown-from-data/dropdown-from-data.component.js +53 -33
  32. package/esm2015/lib/ui/enum-radiogroup/enum-radiogroup.component.js +36 -25
  33. package/esm2015/lib/ui/file-input/file-input.component.js +61 -39
  34. package/esm2015/lib/ui/flyout/flyout.component.js +83 -43
  35. package/esm2015/lib/ui/generic-dialog/generic-dialog.component.js +19 -15
  36. package/esm2015/lib/ui/icon/icon.component.js +24 -19
  37. package/esm2015/lib/ui/image-slider/image-slider.component.js +37 -22
  38. package/esm2015/lib/ui/kms-accordion-item/kms-accordion-item.component.js +25 -17
  39. package/esm2015/lib/ui/loader/loader.component.js +16 -12
  40. package/esm2015/lib/ui/map/map.component.js +17 -15
  41. package/esm2015/lib/ui/radiobutton/radiobutton.component.js +33 -21
  42. package/esm2015/lib/ui/salutation-dropdown/salutation-dropdown.component.js +33 -23
  43. package/esm2015/lib/ui/salutation-radiogroup/salutation-radiogroup.component.js +29 -20
  44. package/esm2015/lib/ui/time-input/time-input.component.js +27 -19
  45. package/esm2015/lib/ui/tooltip/tooltip.component.js +14 -11
  46. package/esm2015/lib/ui/tooltip-icon/tooltip-icon.component.js +26 -16
  47. package/esm2015/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.js +39 -27
  48. package/esm2015/public-api.js +36 -3
  49. package/fesm2015/kms-ngx-ui-presentational.js +1592 -1222
  50. package/fesm2015/kms-ngx-ui-presentational.js.map +1 -1
  51. package/kms-ngx-ui-presentational.d.ts +1 -37
  52. package/lib/directives/directives.module.d.ts +9 -3
  53. package/lib/directives/mousewheel.directive.d.ts +3 -0
  54. package/lib/directives/sum-of-height.directive.d.ts +3 -0
  55. package/lib/directives/swipe.directive.d.ts +3 -0
  56. package/lib/directives/tooltip.directive.d.ts +3 -0
  57. package/lib/kms-ngx-ui-presentational.component.d.ts +3 -0
  58. package/lib/kms-ngx-ui-presentational.module.d.ts +44 -0
  59. package/lib/kms-ngx-ui-presentational.service.d.ts +3 -0
  60. package/lib/parent-components/actions.component.d.ts +3 -0
  61. package/lib/parent-components/form-control.component.d.ts +3 -0
  62. package/lib/parent-components/form.component.d.ts +3 -0
  63. package/lib/pipes/custom-pipes.module.d.ts +15 -3
  64. package/lib/pipes/decode-uri.pipe.d.ts +3 -0
  65. package/lib/pipes/encode-uri.pipe.d.ts +3 -0
  66. package/lib/pipes/integer-currency.pipe.d.ts +3 -0
  67. package/lib/pipes/safe-html.pipe.d.ts +3 -0
  68. package/lib/pipes/safe-resource-url.pipe.d.ts +3 -0
  69. package/lib/pipes/safe-style.pipe.d.ts +3 -0
  70. package/lib/pipes/safe-url.pipe.d.ts +3 -0
  71. package/lib/pipes/to-number.pipe.d.ts +3 -0
  72. package/lib/pipes/trim.pipe.d.ts +3 -0
  73. package/lib/pipes/typeof.pipe.d.ts +3 -0
  74. package/lib/services/viewport.service.d.ts +3 -3
  75. package/lib/ui/back-to-top/back-to-top.component.d.ts +3 -3
  76. package/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.d.ts +3 -0
  77. package/lib/ui/checkbox/checkbox.component.d.ts +3 -0
  78. package/lib/ui/color-input/color-input.component.d.ts +3 -0
  79. package/lib/ui/dropdown-from-data/dropdown-from-data.component.d.ts +3 -0
  80. package/lib/ui/enum-radiogroup/enum-radiogroup.component.d.ts +3 -0
  81. package/lib/ui/file-input/file-input.component.d.ts +3 -0
  82. package/lib/ui/flyout/flyout.component.d.ts +3 -3
  83. package/lib/ui/generic-dialog/generic-dialog.component.d.ts +3 -0
  84. package/lib/ui/icon/icon.component.d.ts +3 -0
  85. package/lib/ui/image-slider/image-slider.component.d.ts +3 -0
  86. package/lib/ui/kms-accordion-item/kms-accordion-item.component.d.ts +4 -0
  87. package/lib/ui/loader/loader.component.d.ts +3 -0
  88. package/lib/ui/map/map.component.d.ts +3 -0
  89. package/lib/ui/radiobutton/radiobutton.component.d.ts +3 -0
  90. package/lib/ui/salutation-dropdown/salutation-dropdown.component.d.ts +3 -0
  91. package/lib/ui/salutation-radiogroup/salutation-radiogroup.component.d.ts +3 -0
  92. package/lib/ui/time-input/time-input.component.d.ts +3 -0
  93. package/lib/ui/tooltip/tooltip.component.d.ts +3 -0
  94. package/lib/ui/tooltip-icon/tooltip-icon.component.d.ts +3 -0
  95. package/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.d.ts +3 -0
  96. package/package.json +1 -2
  97. package/public-api.d.ts +35 -0
  98. package/kms-ngx-ui-presentational.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"kms-ngx-ui-presentational.umd.js","sources":["../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/actions.component.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form-control.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/is-value.function.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/integer-currency.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/decode-uri.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/encode-uri.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-html.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-style.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-resource-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/typeof.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/trim.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/to-number.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/custom-pipes.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/services/viewport.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/salutation.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip/tooltip.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/attached-file-dto.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/button-with-confirm-dialog/button-response-types.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/generic-dialog/generic-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/mousewheel.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/sum-of-height.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/swipe.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/tooltip.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/directives.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.module.ts","../../../../projects/kms-ngx-ui-presentational/src/public-api.ts","../../../../projects/kms-ngx-ui-presentational/src/kms-ngx-ui-presentational.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class KmsUiPresentationalService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kms-ngx-ui-presentational',\r\n template: `\r\n <p>\r\n kms-ngx-ui-presentational works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class KmsUiPresentationalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kms-actions',\r\n template: '',\r\n})\r\nexport class ActionsParentComponent {\r\n /**\r\n * Defines the disabled property\r\n */\r\n @Input() disabled = false;\r\n\r\n /**\r\n * Set button as selected. F.e. in multiselect component\r\n */\r\n @Input() checked = false;\r\n\r\n /**\r\n * Displayed label.\r\n */\r\n @Input() label = '';\r\n\r\n /**\r\n * Link\r\n */\r\n @Input() link = '';\r\n\r\n /**\r\n * Internal value that will be send if a form is submitted.\r\n */\r\n @Input() initialValue = '';\r\n\r\n @Output() select = new EventEmitter();\r\n\r\n selectAction(id: string) {\r\n this.checked = !this.checked;\r\n this.select.emit(id);\r\n }\r\n}\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\n\r\nimport { ActionsParentComponent } from '../../parent-components/actions.component';\r\n\r\n\r\n@Component({\r\n selector: 'kms-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CheckboxComponent extends ActionsParentComponent implements ControlValueAccessor {\r\n\r\n\r\n /**\r\n * Additional description text that will be shown below the checkbox.\r\n */\r\n @Input() infoText: NullAble<string>;\r\n\r\n /**\r\n * Internal description name. All checkboxes with the same name belong to the same group.\r\n * User can select none, one or all checkboxes with the same name.\r\n */\r\n @Input() name = '';\r\n\r\n @Output() select = new EventEmitter();\r\n selectAction(id: string) {\r\n this.select.emit(id);\r\n this.checked = !this.checked;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n get value(): boolean {\r\n return this.checked;\r\n }\r\n\r\n set value(value: boolean) {\r\n this.checked = value;\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kms-form',\r\n template: '',\r\n})\r\nexport class FormParentComponent implements OnInit {\r\n public form!: FormGroup;\r\n public formInitialized = false;\r\n private allowedCharsOnlyNumbers = new Set('0123456789'.split('').map(c => c.charCodeAt(0)));\r\n\r\n @Output() formDataChanged: EventEmitter<FormGroup> = new EventEmitter();\r\n\r\n @Input() disabled = false;\r\n\r\n constructor(\r\n public formBuilder: FormBuilder\r\n ) {\r\n\r\n }\r\n\r\n // TODO make a service or make own compoennt etc.\r\n /**\r\n * Returns if a number was pressed\r\n * @param e \r\n * @returns \r\n */\r\n checkIfKeyWasNumber(e: KeyboardEvent, allowDelete = true, allowArrows = true, allowCutCopyPaste = true){\r\n // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key\r\n const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;\r\n const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;\r\n const isArrows = e.keyCode >= 37 && e.keyCode <= 40;\r\n const isDelete = e.keyCode == 8 || e.keyCode == 46;\r\n const isCutCopyOrPaste = (e.ctrlKey || e.metaKey) && (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);\r\n return (isNumberRow) || (isNumberPad) || (allowDelete && isDelete) || (allowArrows && isArrows) || (allowCutCopyPaste && isCutCopyOrPaste);\r\n }\r\n\r\n // TODO make a service or make own compoennt etc.\r\n /**\r\n * Prevents to input other chars than numbers in input\r\n * @param event \r\n */\r\n removeNumbersOnType(event: KeyboardEvent) {\r\n // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers\r\n if (!this.checkIfKeyWasNumber(event) && !this.allowedCharsOnlyNumbers.has(event.keyCode)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n // TODO make a service or make own compoennt etc.\r\n /**\r\n * Prevents input when pasting which is not number\r\n * @param event\r\n */\r\n removeNumbersOnPaste(event: ClipboardEvent){\r\n const clipboardData = event.clipboardData;\r\n if(clipboardData){\r\n const pastedText = clipboardData.getData('text');\r\n if(pastedText){\r\n const isnum = /^\\d+$/.test(pastedText);\r\n if(!isnum) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.formDataChanged.emit(this.form);\r\n this.form.valueChanges.subscribe(() => {\r\n this.formDataChanged.emit(this.form);\r\n });\r\n }\r\n}\r\n","import { Component, ElementRef, Input, EventEmitter, Output, ViewChild, Renderer2 } from '@angular/core';\r\nimport { FormBuilder, FormControl } from '@angular/forms';\r\nimport { FormParentComponent } from './form.component';\r\n\r\n@Component({\r\n selector: 'kms-formControlParent',\r\n template: '',\r\n})\r\nexport class FormControlParentComponent extends FormParentComponent {\r\n @Input() defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually\r\n @Output() onSelectItemEmitter = new EventEmitter<string>();\r\n\r\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\r\n\r\n public internalValue = '';\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder);\r\n }\r\n\r\n ngOnInit(){\r\n super.ngOnInit();\r\n }\r\n\r\n change(value: string) {\r\n this.onChange(value);\r\n this.onTouched();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouched: any = () => {};\r\n\r\n get value(): string {\r\n return this.internalValue;\r\n }\r\n\r\n set value(value: string) {\r\n this.internalValue = value;\r\n if (value !== undefined && this.internalValue !== value) {\r\n if (!this.internalValue && this.defaultDataOverride) {\r\n this.internalValue = this.defaultDataOverride;\r\n }\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n }\r\n\r\n writeValue(value: string) {\r\n this.internalValue = value;\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean) {\r\n if (this.child) {\r\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\r\n }\r\n }\r\n\r\n validate(_: FormControl) {\r\n return this.form.valid ? null : false;\r\n }\r\n\r\n}\r\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-color-input',\r\n templateUrl: './color-input.component.html',\r\n styleUrls: ['./color-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ColorInputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ColorInputComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() label = '';\r\n @Input() tooltipText = '';\r\n @Input() placeholder = '';\r\n valid: boolean | null | undefined;\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n color: '',\r\n });\r\n \r\n super.ngOnInit();\r\n \r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.color;\r\n this.onChange(value.color);\r\n });\r\n\r\n }\r\n\r\n validate(_: FormControl) {\r\n // TODO fix to validate complete form\r\n this.valid = this.matchesHex(this.form.value) ? null : false;\r\n return this.valid && {\r\n invalid: !this.valid\r\n };\r\n }\r\n\r\n matchesHex(match?: string){\r\n if(match){\r\n const ret = match.match(/^#[0-9a-f]{6}$/i);\r\n this.valid = ret && ret.length>0;\r\n return ret;\r\n }\r\n return false;\r\n }\r\n\r\n updateSelectedColor(value: any){\r\n const color = value.target.value;\r\n this.value = color;\r\n this.internalValue = color;\r\n this.change(color);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\nimport { Component, forwardRef, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { ActionsParentComponent } from '../../parent-components/actions.component';\r\n\r\n@Component({\r\n selector: 'kms-radiobutton',\r\n templateUrl: './radiobutton.component.html',\r\n styleUrls: ['./radiobutton.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RadioButtonComponent extends ActionsParentComponent implements ControlValueAccessor {\r\n /**\r\n * Internal description name. All radio buttons with the same name belong to the same group.\r\n * User can select exactly one of the radio buttons from the same group.\r\n */\r\n @Input() name = '';\r\n\r\n /**\r\n * Internal description id. Will be send in the output event when the radio button is selected.\r\n */\r\n @Input() id = '';\r\n\r\n @Input() formControl: any;\r\n\r\n selectAction(id: string) {\r\n this.select.emit(id);\r\n this.checked = !this.checked;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n get value(): boolean {\r\n return this.checked;\r\n }\r\n\r\n set value(value: boolean) {\r\n this.checked = value;\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n}\r\n","import { Component, forwardRef, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kms-time-input',\r\n templateUrl: './time-input.component.html',\r\n styleUrls: ['./time-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TimeInputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TimeInputComponent implements OnInit, ControlValueAccessor {\r\n public form!: FormGroup;\r\n h = '';\r\n m = '';\r\n\r\n constructor(public formBuilder: FormBuilder) {\r\n \r\n }\r\n\r\n get value(): string {\r\n return this.value;\r\n }\r\n \r\n set value(value: string) {\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n writeValue(value: string) {\r\n if(value && value.length === 8){\r\n this.h = value.substr(0,2);\r\n this.m = value.substr(3,2);\r\n }else if(value && value.length === 5){\r\n this.h = value.substr(0,2);\r\n this.m = value.substr(-2);\r\n }\r\n \r\n //we need to also update the form value because angular has a problem reading it from first time when valuechanges subscription was fired.\r\n this.form.controls['h'].setValue(this.h);\r\n this.form.controls['m'].setValue(this.m);\r\n\r\n this.form.valueChanges.subscribe(value => {\r\n this.h = value.h;\r\n this.m = value.m;\r\n value = this.getNewOrDefault();\r\n this.value = value;\r\n this.onChange(value);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n h: '',\r\n m: '',\r\n });\r\n }\r\n\r\n getNewOrDefault(){\r\n //reset if user deletes everything\r\n if(this.h === '' && this.m === ''){\r\n return ''; \r\n }\r\n const ret = this.h.padStart(2, '0') + ':' + this.m.padStart(2, '0');\r\n return ret;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouched: any = () => {};\r\n}\r\n","import { Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\n\r\n@Component({\r\n selector: 'kms-yesno-radiogroup',\r\n templateUrl: './yes-no-radiogroup.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YesNoRadiogroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class YesNoRadiogroupComponent implements OnInit, ControlValueAccessor {\r\n \r\n @Input() header: NullAble<String>;\r\n @Input() disabled = false;\r\n @Input() textYes = '';\r\n @Input() textNo = '';\r\n public form!: FormGroup;\r\n \r\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\r\n\r\n public internalValue: NullAble<boolean>;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n get value(): NullAble<boolean> {\r\n return this.internalValue;\r\n }\r\n\r\n set value(value: NullAble<boolean>) {\r\n this.internalValue = value;\r\n if (value !== undefined && this.internalValue !== value) {\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n }\r\n\r\n writeValue(value: any) {\r\n this.internalValue = value;\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean) {\r\n if (this.child) {\r\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\r\n }\r\n }\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n yesno: [],\r\n });\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.yesno;\r\n this.onChange(value.yesno);\r\n });\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nexport enum IconSize {\r\n FULLSIZE = 'size-full',\r\n TINY = 'size-16',\r\n SMALLER = 'size-20',\r\n SMALL = 'size-32',\r\n MEDIUM = 'size-64',\r\n LARGE = 'size-128',\r\n XL = 'size-256',\r\n XXL = 'size-512',\r\n XXXL = 'size-1024',\r\n NONE = 'NONE',\r\n}\r\n\r\n","/**\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { NullAble } from \"./types/nullable.type\";\r\n\r\n\r\n/**\r\n * Check if null or undefined\r\n * @param value value that is being checked\r\n */\r\nexport function isValue<T>(value: NullAble<T>): value is T {\r\n if (value === null) {\r\n return false;\r\n }\r\n if (typeof value === 'undefined') {\r\n return false;\r\n }\r\n return true;\r\n}\r\n","import { Component, Input, forwardRef, OnInit, ViewChild, Renderer2, EventEmitter, Output, ApplicationRef, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport {\r\n ControlValueAccessor,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//import { TranslateService } from '@ngx-translate/core';\r\nimport { IconSize } from '../../models/iconSize.enum';\r\nimport { AttachedFileDTO } from '../../models/types/attached-file-dto.model';\r\nimport { isValue } from '../../models/is-value.function';\r\n\r\n// Max size in bytes of uploaded image\r\nconst MAX_SIZE_BYTES = 2097152;\r\n\r\n@Component({\r\n selector: 'kms-file-input',\r\n templateUrl: './file-input.component.html',\r\n styleUrls: ['./file-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => FileInputComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => FileInputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\n\r\nexport class FileInputComponent implements ControlValueAccessor, OnInit {\r\n \r\n @ViewChild('fileInput') public fileInput: any;\r\n\r\n @Input() label = '';\r\n \r\n @Input() previewImage = true; \r\n @Input() allowRemove = true; \r\n @Input() previewImageText = ''; \r\n @Input() maxSizeBytes = MAX_SIZE_BYTES; \r\n @Input() resizePixels = 0; \r\n @Input() acceptedFileMimetypes = 'image/jpeg, image/jpg, image/png'; \r\n\r\n form= this.formBuilder.group({\r\n ImageIdent: new FormControl(''),\r\n ImageLink: new FormControl(''),\r\n Filename: new FormControl(''),\r\n ImageAsDataURL: new FormControl(''),\r\n Text: new FormControl(''),\r\n });\r\n\r\n subscriptions: Subscription[] = [];\r\n newImageLoading = false\r\n\r\n IconSize = IconSize;\r\n\r\n @Output() formDataChanged: EventEmitter<FormGroup> = new EventEmitter();\r\n\r\n /**\r\n * Constructor\r\n * @param formBuilder \r\n * @param appRef \r\n * @param cd \r\n * @param translateService \r\n * @param renderer \r\n */\r\n constructor(\r\n public formBuilder: FormBuilder, \r\n public appRef: ApplicationRef,\r\n public cd: ChangeDetectorRef,\r\n //private translateService: TranslateService,\r\n public renderer: Renderer2\r\n ) {\r\n \r\n }\r\n\r\n /**\r\n * Click on button triggers file-input to open OS file dialog\r\n */\r\n selectImageOverlay() {\r\n this.fileInput.nativeElement.click();\r\n }\r\n\r\n /**\r\n * Function to manage the input image\r\n * Returns an error if the file exceeds maximum wanted filesize (Mb). \r\n * @param ev\r\n * @returns\r\n */\r\n selectImage(ev: any) {\r\n if (ev.target.files && ev.target.files[0]) {\r\n const file:File = ev.target.files[0];\r\n\r\n if (file.size > this.maxSizeBytes) {\r\n this.clearInputValue(ev);\r\n //alert(this.translateService.instant('errors.fileTooBig'));\r\n return;\r\n } else {\r\n this.newImageLoading = true;\r\n\r\n if(this.resizePixels > 0){\r\n const logoUrl = URL.createObjectURL(file);\r\n const imgEl = document.createElement('img');\r\n imgEl.addEventListener('load', () => {\r\n const resizedLogo = this.resizeImage(imgEl, this.resizePixels);\r\n const newFile = this.generateModel(file.name, resizedLogo, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\r\n this.value=newFile;\r\n this.newImageLoading = false;\r\n this.cd.markForCheck();\r\n });\r\n imgEl.src = logoUrl;\r\n }else{\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = (e: any) => {\r\n const newFile = this.generateModel(file.name, e.target.result, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\r\n this.value=newFile;\r\n this.newImageLoading = false;\r\n this.cd.markForCheck();\r\n };\r\n }\r\n \r\n }\r\n }else{\r\n console.warn(\"No file selected\");\r\n }\r\n }\r\n\r\n /**\r\n * Resize an image\r\n * @param imgEl\r\n * @param wantedWidth as number\r\n * @returns string \r\n */\r\n private resizeImage(imgEl: any, wantedWidth: number) {\r\n const canvas = document.createElement('canvas');\r\n const ctx = canvas.getContext('2d');\r\n const aspect = imgEl.width / imgEl.height;\r\n canvas.width = wantedWidth;\r\n canvas.height = wantedWidth / aspect;\r\n if (isValue(ctx)) ctx.drawImage(imgEl, 0, 0, canvas.width, canvas.height);\r\n return canvas.toDataURL();\r\n }\r\n\r\n /**\r\n * Generate default object\r\n * @param name as string\r\n * @param content as string\r\n * @returns AttachedFileDTO\r\n */\r\n generateModel(name?: string, content?: string, ident?: string, imageLink?: string, text?: string){\r\n return {\r\n ImageIdent: ident ? ident : '',\r\n Filename: name ? name : '',\r\n ImageAsDataURL: content ? content : '',\r\n ImageLink: imageLink ? imageLink : '',\r\n Text: text ? text : ''\r\n } as AttachedFileDTO;\r\n }\r\n\r\n /**\r\n * Remove image \r\n */\r\n removeFromList(){\r\n this.value= this.generateModel('','', '', '');\r\n }\r\n\r\n /**\r\n * get value\r\n */\r\n get value(): AttachedFileDTO {\r\n return this.form.value;\r\n }\r\n\r\n /**\r\n * set value\r\n */\r\n set value(value: AttachedFileDTO) {\r\n this.form.setValue(value);\r\n this.onChange(value);\r\n this.formDataChanged.emit(this.form);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ngOnInit() {}\r\n\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(s => s.unsubscribe());\r\n } \r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n writeValue(value: AttachedFileDTO | null) {\r\n if (value) {\r\n this.value = value;\r\n }\r\n\r\n if (value === null) {\r\n this.form.reset();\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\r\n validate(_: FormControl) {\r\n return this.form.valid ? null : { styles: { valid: false } };\r\n }\r\n\r\n /**\r\n * OnClick event listener of input#fileInput to clear his input value\r\n */\r\n clearInputValue(ev: any) {\r\n const element = ev.target as HTMLInputElement;\r\n element.value = '';\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kms-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input() loading=false;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n constructor() {}\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ngOnInit() {}\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { state, style, trigger } from '@angular/animations';\r\nimport {\r\n Component,\r\n ElementRef,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n \r\n selector: 'kms-flyout',\r\n templateUrl: './flyout.component.html',\r\n styleUrls: ['./flyout.component.scss'],\r\n animations: [\r\n trigger('dropdownAnimation', [\r\n state(\r\n 'true',\r\n style({\r\n height: '{{targetHeight}}',\r\n transition: 'height {{animationTime}}ms ease-in-out',\r\n }),\r\n {\r\n params: {\r\n targetHeight: '300px',\r\n animationTime: 3000,\r\n },\r\n },\r\n ),\r\n state(\r\n 'false',\r\n style({\r\n height: 0,\r\n transition: 'height {{animationTime}}ms ease-in-out',\r\n }),\r\n {\r\n params: {\r\n targetHeight: '300px',\r\n opacity: 0,\r\n animationTime: 3000,\r\n },\r\n },\r\n ),\r\n ]),\r\n ],\r\n})\r\nexport class FlyoutComponent {\r\n\r\n @Input() icon = 'filter';\r\n\r\n isDropdownOpened = false;\r\n targetHeight = '0';\r\n animationTime = 5000;\r\n\r\n @Input() headerCssClass = '';\r\n @Input() bodyCssClass = '';\r\n\r\n @Input() headerTitle = '';\r\n @Input() headerText = '';\r\n @Input() hasButtonForMore = false;\r\n @Input() moreText = '';\r\n @Input() lessText = '';\r\n\r\n \r\n @ViewChild('content') content: ElementRef | undefined;\r\n \r\n @ViewChild('flyoutHeader') flyoutHeader: ElementRef | undefined;\r\n\r\n /**\r\n * Open/close dropdown if click on header.\r\n * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close\r\n */\r\n toggleDropdownHeader() {\r\n if (!this.hasButtonForMore) {\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n /**\r\n * Open or close the dropdown\r\n */\r\n toggleDropdown() {\r\n this.isDropdownOpened = !this.isDropdownOpened;\r\n }\r\n\r\n /**\r\n * Set the height of the dropdown list items dynamic - needed for the animation\r\n */\r\n setDropdownListHeight(contentHeight: number) {\r\n this.targetHeight = `${contentHeight}px`;\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsIntegerCurrency',\r\n})\r\nexport class IntegerCurrency implements PipeTransform {\r\n constructor(private cp: CurrencyPipe) {}\r\n transform(value: any, currencyCode?: string, display?: boolean, digitsInfo?: string): string | null {\r\n const currencyPipeValue = this.cp.transform(value, currencyCode, display, digitsInfo)\r\n if (currencyPipeValue) {\r\n const convertedValue = currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1)\r\n return convertedValue\r\n } else {\r\n throw new Error(\"No value provided\");\r\n }\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsDecodeUri',\r\n})\r\nexport class DecodeUriPipe implements PipeTransform {\r\n\r\n transform(value: any, _args?: any): any {\r\n return decodeURI(value);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsEncodeUri',\r\n})\r\nexport class EncodeUriPipe implements PipeTransform {\r\n transform(value: any, _args?: any): any {\r\n return encodeURI(value);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeStyle',\r\n})\r\nexport class SafeStylePipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(style: string): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustStyle(style);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeSUrl',\r\n})\r\nexport class SafeUrlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(url: string): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeResourceSUrl',\r\n})\r\nexport class SafeResourceUrlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(url: string): SafeResourceUrl {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsTypeOf',\r\n})\r\nexport class TypeofPipe implements PipeTransform {\r\n transform(value: any): any {\r\n return typeof value;\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'kmsTrim' })\r\nexport class TrimPipe implements PipeTransform {\r\n transform(value: any) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n return value.trim();\r\n }\r\n}","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsToNumber',\r\n pure: false\r\n \r\n})\r\nexport class ToNumberPipe implements PipeTransform {\r\n transform(items: any): any {\r\n if (!items) {\r\n return 0;\r\n }\r\n return parseInt(items, 10);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\n import { CommonModule, CurrencyPipe } from '@angular/common';\r\n import { NgModule } from '@angular/core';\r\n \r\n import { IntegerCurrency } from './integer-currency.pipe';\r\n import { DecodeUriPipe } from './decode-uri.pipe';\r\n import { EncodeUriPipe } from './encode-uri.pipe';\r\n import { SafeHtmlPipe } from './safe-html.pipe';\r\n import { SafeStylePipe } from './safe-style.pipe';\r\n import { SafeUrlPipe } from './safe-url.pipe';\r\n import { SafeResourceUrlPipe } from './safe-resource-url.pipe';\r\n import { TypeofPipe } from './typeof.pipe';\r\n import { TrimPipe } from './trim.pipe';\r\n import { ToNumberPipe } from './to-number.pipe';\r\n \r\n @NgModule({\r\n declarations: [\r\n IntegerCurrency,\r\n SafeHtmlPipe,\r\n SafeStylePipe,\r\n SafeResourceUrlPipe,\r\n SafeUrlPipe,\r\n EncodeUriPipe,\r\n DecodeUriPipe,\r\n TypeofPipe,\r\n TrimPipe,\r\n ToNumberPipe,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n IntegerCurrency,\r\n SafeHtmlPipe,\r\n SafeStylePipe,\r\n SafeResourceUrlPipe,\r\n SafeUrlPipe,\r\n EncodeUriPipe,\r\n DecodeUriPipe,\r\n TypeofPipe,\r\n TrimPipe,\r\n ToNumberPipe,\r\n ],\r\n providers: [CurrencyPipe],\r\n })\r\n export class CustomPipesModule {}\r\n ","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nexport enum IconSize {\r\n FULLSIZE = 'size-full',\r\n TINY = 'size-16',\r\n SMALLER = 'size-20',\r\n SMALL = 'size-32',\r\n MEDIUM = 'size-64',\r\n LARGE = 'size-128',\r\n XL = 'size-256',\r\n XXL = 'size-512',\r\n XXXL = 'size-1024',\r\n NONE = 'NONE',\r\n}\r\n\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Component, Input, OnInit, VERSION } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { IconSize } from './iconSize.enum';\r\n\r\n@Component({\r\n \r\n selector: 'kms-icon',\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./icon.component.scss'],\r\n})\r\nexport class IconComponent implements OnInit {\r\n\r\n /**\r\n * Required: Name of the SVG icon inside your sprite sheet file with name 'icons.svg'.\r\n * Pass 'none' if no icon should be rendered.\r\n */\r\n @Input() icon!: string | '';\r\n\r\n /**\r\n * Optional: Different appearance via CSS class defined in this component´s style sheet.\r\n */\r\n @Input() iconClass!: string | '';\r\n\r\n /**\r\n * Optional: Different appearance via CSS inline style.\r\n */\r\n \r\n @Input() iconStyle: any;\r\n\r\n /**\r\n * Optional: Different size via CSS inline style.\r\n */\r\n @Input() iconSize: IconSize = IconSize.FULLSIZE;\r\n\r\n /**\r\n * Dont use icon sprite\r\n */\r\n \r\n @Input() dontUseSprite = false;\r\n\r\n IconSize = IconSize;\r\n Version = VERSION.full;\r\n\r\n public timestamp = 0;\r\n\r\n /**\r\n * Renders this icon from SVG sprite sheet\r\n */\r\n public iconToShow!: string | '';\r\n\r\n constructor(public sanitizer: DomSanitizer) {\r\n this.iconToShow = this.icon;\r\n }\r\n\r\n ngOnInit() {\r\n this.iconToShow = this.icon;\r\n const d = new Date();\r\n const n = d.getTime();\r\n this.timestamp = n;\r\n }\r\n\r\n}\r\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\n\r\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-enum-radiogroup',\r\n templateUrl: './enum-radiogroup.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EnumRadiogroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EnumRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n @Input() header: NullAble<String>;\r\n @Input() optionsEnum: any;\r\n @Input() translationPrefix = '';\r\n\r\n public optionValues: any;\r\n \r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit(){\r\n this.optionValues = Object.keys(this.optionsEnum).filter(x => !(parseInt(x) >= 0));\r\n this.form = this.formBuilder.group({\r\n enumData: [],\r\n });\r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.enumData;\r\n this.onChange(value.enumData);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n/**\r\n * A generic dialog component\r\n */\r\n@Component({\r\n \r\n selector: 'kms-accordion-item',\r\n templateUrl: './kms-accordion-item.component.html',\r\n styleUrls: ['./kms-accordion-item.component.scss'],\r\n})\r\nexport class KMSAccordionItemComponent implements OnInit {\r\n @Input() public itemTitle = '';\r\n \r\n public itemTitleTrustHtml: SafeHtml | undefined;\r\n @Input() public showAsCard = false;\r\n @Input() public isSmall = false;\r\n panelOpenState = false;\r\n\r\n constructor(public sanitizer: DomSanitizer) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(this.itemTitle);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { Inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { NullAble } from '../models';\r\n\r\n// needed for scrollToElement functionality\r\n\r\ndeclare const window: any;\r\n\r\ndeclare const document: any;\r\n\r\n/**\r\n * Service to get viewport\r\n */\r\n@Injectable()\r\nexport class ViewportService implements OnDestroy {\r\n public readonly viewports = [\r\n {\r\n name: 'xs',\r\n low: 420,\r\n high: 990,\r\n },\r\n {\r\n name: 's',\r\n low: 991,\r\n high: 1024,\r\n },\r\n {\r\n name: 'm',\r\n low: 1025,\r\n high: 1200,\r\n },\r\n {\r\n name: 'l',\r\n low: 12001,\r\n high: 1400,\r\n },\r\n {\r\n name: 'xl',\r\n low: 1401,\r\n high: 1600,\r\n },\r\n {\r\n name: 'xxl',\r\n low: 1601,\r\n high: 1920,\r\n },\r\n {\r\n name: 'xxxl',\r\n low: 1921,\r\n high: 99999,\r\n },\r\n ];\r\n\r\n private viewportChangedSubscriber: Subject<string> = new Subject<string>();\r\n private viewportResizedSubscriber: Subject<number> = new Subject<number>();\r\n private currentViewport!: string;\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n window.addEventListener('resize', this.documentSizeChanged.bind(this), { passive: true });\r\n }\r\n }\r\n\r\n /**\r\n * Get window height\r\n */\r\n public getDocumentHeight(): number {\r\n return isPlatformBrowser(this.platformId) ? document.body.clientHeight : 1200;\r\n }\r\n\r\n /**\r\n * Get window width\r\n */\r\n public getDocumentWidth(): number {\r\n return isPlatformBrowser(this.platformId) ? document.body.clientWidth : 1200;\r\n }\r\n\r\n /**\r\n * Get window height\r\n */\r\n public getWindowHeight(): number {\r\n return isPlatformBrowser(this.platformId) ? window.innerHeight : 1200;\r\n }\r\n\r\n /**\r\n * Get window width\r\n */\r\n public getWindowWidth(): number {\r\n return isPlatformBrowser(this.platformId) ? window.innerWidth : 1200;\r\n }\r\n\r\n /**\r\n * Returns the current viewport MQ as string\r\n * @returns string\r\n */\r\n getCurrentViewPort(): string {\r\n if (!this.currentViewport) {\r\n const currentWidth: number = isPlatformBrowser(this.platformId) ? document.body.clientWidth : 1200;\r\n this.currentViewport = this.convertWidthToMediaQuery(currentWidth);\r\n }\r\n\r\n return this.currentViewport;\r\n }\r\n\r\n /**\r\n * Provides mq´s as string\r\n */\r\n public getViewportChangedObserver(): Observable<string> {\r\n return this.viewportChangedSubscriber.asObservable();\r\n }\r\n\r\n /**\r\n * Provides the current window width as number\r\n */\r\n public getViewportResizedObserver(): Observable<number> {\r\n return this.viewportResizedSubscriber.asObservable();\r\n }\r\n\r\n public scrollToElementId(el: string, alignCenter = false) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.scrollToElement(document.querySelector('#' + el), alignCenter);\r\n }\r\n }\r\n\r\n /**\r\n * Helper function that scrolls to the given markup element.\r\n * @param el - nativeElement from markup\r\n * @param alignCenter - defines if the element needs to be centered on window\r\n */\r\n\r\n public scrollToElement(el: HTMLElement, alignCenter = false) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n let extraScrollTop = 0;\r\n\r\n if (alignCenter) {\r\n extraScrollTop = (window.innerHeight - el.clientHeight) / 2;\r\n }\r\n\r\n /*\r\n const elementPos: DOMRect = el.getBoundingClientRect();\r\n const scrollTopPosition = elementPos.x - extraScrollTop;\r\n */\r\n\r\n //let offsetLeft = 0;\r\n let offsetTop = 0;\r\n\r\n let elTemp: NullAble<HTMLElement> = el;\r\n\r\n while (elTemp) {\r\n //offsetLeft += elTemp.offsetLeft;\r\n offsetTop += elTemp.offsetTop;\r\n elTemp = elTemp.parentElement ? elTemp.parentElement : null;\r\n }\r\n\r\n window.scrollTo({ left: 0, top: offsetTop - extraScrollTop, behavior: 'smooth' });\r\n }\r\n }\r\n\r\n /**\r\n * Scroll to the top position\r\n * @param top - top position value\r\n */\r\n public scrollTop(top: number) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n window.scrollTo({ left: 0, top: top, behavior: 'smooth' });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n window.removeEventListener('resize', this.documentSizeChanged);\r\n }\r\n }\r\n\r\n /**\r\n * If viewport changed\r\n * @event\r\n */\r\n\r\n private documentSizeChanged(event: any) {\r\n const currentWindowWidth: number = event.target.innerWidth;\r\n // inform who´s interested\r\n this.viewportResizedSubscriber.next(currentWindowWidth);\r\n\r\n if (currentWindowWidth > 0) {\r\n for (const mqs of this.viewports) {\r\n if (currentWindowWidth > mqs.high) {\r\n continue;\r\n } else if (\r\n (currentWindowWidth >= mqs.low || currentWindowWidth <= mqs.high) &&\r\n this.currentViewport !== mqs.name\r\n ) {\r\n this.currentViewport = mqs.name;\r\n // inform who´s interested\r\n this.viewportChangedSubscriber.next(mqs.name);\r\n break;\r\n } else if (this.currentViewport === mqs.name) {\r\n break;\r\n } else {\r\n console.error('ERROR');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the Media Query for the given width\r\n * @param width Width to get the according MQ for\r\n */\r\n private convertWidthToMediaQuery(width: number) {\r\n let currentViewport = '';\r\n\r\n for (const mqs of this.viewports) {\r\n if (width <= mqs.high && width >= mqs.low) {\r\n currentViewport = mqs.name;\r\n break;\r\n }\r\n }\r\n\r\n return currentViewport;\r\n }\r\n\r\n isPortrait() {\r\n if (isPlatformBrowser(this.platformId)) return window.innerHeight > window.innerWidth;\r\n else return;\r\n }\r\n\r\n isLandscape() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const isLandscape = window.orientation === 90 || window.orientation === -90;\r\n return isLandscape;\r\n } else {\r\n return;\r\n }\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Address } from '../../models/address.model';\r\nimport { ViewportService } from '../../services/viewport.service';\r\n\r\n/**\r\n * MarkerOptions class for Marker\r\n */\r\nexport class MarkerOptions {\r\n animation!: number;\r\n}\r\n\r\n/**\r\n * MarkerLabel class for Marker\r\n */\r\nexport class MarkerLabel {\r\n color!: string;\r\n text!: string;\r\n}\r\n\r\n/**\r\n * Marker class\r\n */\r\nexport class Marker {\r\n position!: google.maps.LatLngLiteral;\r\n label!: MarkerLabel;\r\n title!: string;\r\n options!: MarkerOptions;\r\n}\r\n\r\n/**\r\n * Component to show marker on google map for specific address\r\n */\r\n@Component({\r\n selector: 'kms-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.scss']\r\n})\r\nexport class MapComponent implements OnInit {\r\n\r\n @Input() data!: Address;\r\n\r\n public markers: Marker[] = [];\r\n public geoDataFoundForAddress = false;\r\n public widthSet = false;\r\n\r\n public width = '100%';\r\n public zoom = 15;\r\n public center: google.maps.LatLngLiteral = {\r\n \r\n lat: 52.097449,\r\n lng: 12.7436911,\r\n };\r\n\r\n public options: google.maps.MapOptions = {\r\n mapTypeId: 'roadmap',\r\n zoomControl: false,\r\n scrollwheel: false,\r\n disableDoubleClickZoom: true,\r\n maxZoom: 15,\r\n minZoom: 8,\r\n };\r\n\r\n \r\n public google: any;\r\n\r\n public geocoder: any;\r\n\r\n public viewportSubscription?: Subscription;\r\n\r\n //\r\n constructor(private viewPortService: ViewportService) { }\r\n\r\n ngOnInit() {\r\n this.findLocation(this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City);\r\n\r\n\r\n }\r\n\r\n /**\r\n * Asks google for geocoordinates of a given address string\r\n * @input address as string\r\n */\r\n findLocation(address: string) {\r\n if (!this.geocoder) { this.geocoder = new google.maps.Geocoder(); }\r\n this.geocoder.geocode({\r\n 'address': address,\r\n \r\n }, (results: any, status: google.maps.GeocoderStatus) => {\r\n if (status === google.maps.GeocoderStatus.OK) {\r\n\r\n this.center.lat = results[0].geometry.location.lat();\r\n this.center.lng = results[0].geometry.location.lng();\r\n\r\n this.addMarker();\r\n this.geoDataFoundForAddress = true;\r\n\r\n // react to browser resize\r\n this.setMapWidth(this.viewPortService.getDocumentWidth());\r\n this.viewportSubscription = this.viewPortService.getViewportResizedObserver().subscribe(\r\n (val) => {\r\n this.setMapWidth(val);\r\n },\r\n (error) => {\r\n console.error('Get updated ViewPort failed', error);\r\n },\r\n );\r\n\r\n } else {\r\n console.error('Sorry, this search of map address produced no results.');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Adds a marker to the map\r\n */\r\n addMarker() {\r\n this.markers.push({\r\n position: {\r\n lat: this.center.lat,\r\n lng: this.center.lng,\r\n },\r\n label: {\r\n color: 'blue',\r\n \r\n text: this.data.Name1 || '',\r\n },\r\n title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,\r\n options: { animation: google.maps.Animation.DROP },\r\n });\r\n }\r\n\r\n /**\r\n * sets the width of map accodring to viewport\r\n */\r\n setMapWidth(val: number) {\r\n if (val < 991) {\r\n this.width = (val - 84) + 'px';\r\n }else{\r\n this.width = '100%';\r\n }\r\n this.widthSet = true;\r\n }\r\n\r\n /**\r\n * Zooms in into map\r\n */\r\n zoomIn() {\r\n if (this.options.maxZoom && this.zoom < this.options.maxZoom) { this.zoom++; }\r\n }\r\n\r\n /**\r\n * Zooms out from map\r\n */\r\n zoomOut() {\r\n if (this.options.minZoom && this.zoom > this.options.minZoom) { this.zoom--; }\r\n }\r\n}\r\n","// TODO change values after cleaned up database\r\nexport enum SalutationEnum {\r\n NOT_SPECIFIED = 'Keine Anrede',\r\n MALE = 'Herr',\r\n FEMALE = 'Frau',\r\n}\r\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\nimport { SalutationEnum } from '../../models/salutation.enum';\r\n\r\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-salutation-dropdown',\r\n templateUrl: './salutation-dropdown.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SalutationDropdownComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SalutationDropdownComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n @Input() placeholder: NullAble<String>;\r\n\r\n //For view\r\n SalutationEnum = SalutationEnum;\r\n Object = Object;\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n salut: [],\r\n });\r\n this.formInitialized = true;\r\n \r\n //somehow for dropowns we have to set value manually with timeout for default value\r\n setTimeout(() => {\r\n this.form.controls['salut'].setValue(this.value ? this.value : '');\r\n }, 1000);\r\n\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.onChange(value.salut);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kms-tooltip-element',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss']\r\n})\r\nexport class TooltipComponent {\r\n @Input() tooltipTitle = \"\";\r\n}\r\n","/**\r\n * Attached File DTO\r\n */\r\nexport class AttachedFileDTO {\r\n ImageIdent?: string;\r\n ImageLink?: string;\r\n Filename?: string;\r\n ImageAsDataURL?: string;\r\n CreateSmallImage?: boolean;\r\n Text?: string;\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { IconSize } from '../../models';\r\n\r\n@Component({\r\n selector: 'kms-tooltip-icon',\r\n templateUrl: './tooltip-icon.component.html',\r\n styleUrls: ['./tooltip-icon.component.scss']\r\n})\r\nexport class TooltipIconComponent {\r\n @Input() tooltipTitle = \"\";\r\n @Input() tooltipText = \"\";\r\n @Input() tooltipLinkText = \"\";\r\n @Input() tooltipLinkUrl = \"\";\r\n\r\n @Input() placement = \"\";\r\n @Input() delay = 1000;\r\n\r\n IconSize = IconSize;\r\n}\r\n","import { Component, forwardRef, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { isValue } from '../../models';\r\nimport { SalutationEnum } from '../../models/salutation.enum';\r\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-salutation-radiogroup',\r\n templateUrl: './salutation-radiogroup.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SalutationRadiogroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SalutationRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n \r\n //For view\r\n SalutationEnum = SalutationEnum;\r\n Object = Object;\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n salut: [isValue(this.value) ? this.value : '', null],\r\n });\r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.salut;\r\n this.onChange(value.salut);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Component, HostListener, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'kms-back-to-top',\r\n templateUrl: './back-to-top.component.html',\r\n})\r\nexport class BackToTopComponent {\r\n windowScrolled?: boolean;\r\n\r\n constructor(@Inject(PLATFORM_ID) public platformId: Object) {}\r\n\r\n @HostListener('window:scroll', [])\r\n onWindowScroll() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop > 100) {\r\n this.windowScrolled = true;\r\n } else if (\r\n (this.windowScrolled && window.pageYOffset) ||\r\n document.documentElement.scrollTop ||\r\n document.body.scrollTop < 10\r\n ) {\r\n this.windowScrolled = false;\r\n }\r\n }\r\n }\r\n\r\n scrollToTop() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n (function smoothscroll() {\r\n const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\r\n if (currentScroll > 0) {\r\n window.requestAnimationFrame(smoothscroll);\r\n window.scrollTo(0, currentScroll - currentScroll / 8);\r\n }\r\n })();\r\n }\r\n }\r\n}\r\n","export enum ButtonResponseType{\r\n primary = 'primary',\r\n secondary = 'secondary'\r\n}","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Component, Inject, NgZone } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { isValue } from '../../models';\r\nimport { ButtonResponseType } from '../button-with-confirm-dialog/button-response-types.enum';\r\nimport { DialogData, DialogDataButtons } from '../button-with-confirm-dialog/dialog-data.model';\r\n\r\n/**\r\n * A generic dialog component\r\n */\r\n@Component({\r\n selector: 'kms-generic-dialog',\r\n templateUrl: './generic-dialog.component.html',\r\n styleUrls: ['./generic-dialog.component.scss'],\r\n})\r\nexport class GenericDialogComponent {\r\n\r\n ButtonResponseType = ButtonResponseType;\r\n\r\n public buttons: DialogDataButtons\r\n\r\n public constructor(\r\n public dialogRef: MatDialogRef<GenericDialogComponent>,\r\n public zone: NgZone,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData\r\n ) {\r\n if (isValue(data.buttons)) {\r\n this.buttons = data.buttons;\r\n } else {\r\n this.buttons = { primary: 'Yes', secondary: 'No' } as DialogDataButtons;\r\n }\r\n }\r\n\r\n /**\r\n * Action called when clicked\r\n * @param clickedButton Whether the primary or secondary button was clicked\r\n */\r\n public onClickAction(clickedButton: ButtonResponseType): void {\r\n this.zone.run(() => {\r\n this.dialogRef.close(clickedButton);\r\n this.dialogRef.afterClosed().subscribe(() => {\r\n const buttonList = document.querySelectorAll('.mat-flat-button, .mat-button');\r\n let i = 0;\r\n for (i; i < buttonList.length; i++) {\r\n buttonList[i].classList.remove('cdk-focused');\r\n buttonList[i].classList.remove('cdk-program-focused');\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SubSink } from 'subsink';\r\nimport { NullAble } from '../../models';\r\nimport { GenericDialogComponent } from '../generic-dialog/generic-dialog.component';\r\nimport { ButtonResponseType } from './button-response-types.enum';\r\nimport { DialogData } from './dialog-data.model';\r\n\r\n@Component({\r\n selector: 'kms-button-with-confirm-dialog',\r\n templateUrl: './button-with-confirm-dialog.component.html',\r\n styleUrls: ['./button-with-confirm-dialog.component.scss'],\r\n})\r\nexport class ButtonWithConfirmDialogComponent implements OnInit {\r\n @Input() disabled: NullAble<boolean>;\r\n @Input() buttonText: NullAble<string>;\r\n @Input() confirmTitle: NullAble<string>;\r\n @Input() confirmTextYes: NullAble<string>;\r\n @Input() confirmTextNo: NullAble<string>;\r\n\r\n // Outputs when dialogue was closed. Returns true, if yes was clicked, false otherwise\r\n @Output() onConfirmClosed: EventEmitter<boolean> = new EventEmitter();\r\n\r\n private subs = new SubSink();\r\n \r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n constructor(\r\n public dialog: MatDialog,\r\n ) {}\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ngOnInit() {}\r\n\r\n start(){\r\n const data: DialogData = {\r\n title: this.confirmTitle,\r\n buttons:{\r\n primary: this.confirmTextYes,\r\n secondary: this.confirmTextNo,\r\n }\r\n };\r\n const dialogRef = this.dialog.open(GenericDialogComponent, {\r\n data: data,\r\n });\r\n\r\n this.subs.sink = dialogRef.afterClosed().subscribe(result => {\r\n if (result === ButtonResponseType.primary) {\r\n this.onConfirmClosed.emit(true);\r\n }else{\r\n this.onConfirmClosed.emit(false);\r\n }\r\n dialogRef.close();\r\n });\r\n }\r\n}\r\n","import { Component, forwardRef, Input, OnInit, OnChanges, SimpleChanges, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { EnumValues } from 'enum-values/src/enumValues';\r\n//import { EnumValues } from 'enum-values';\r\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\r\n\r\n/**\r\n * Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}\r\n */\r\n@Component({\r\n selector: 'kms-dropdown-from-data',\r\n templateUrl: './dropdown-from-data.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownFromDataComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class DropdownFromDataComponent extends FormControlParentComponent\r\n implements OnInit, ControlValueAccessor, OnChanges {\r\n // structured data as a enum set. Can be used in combination with 'optionsPlainArray' to set diferent values by index\r\n @Input() optionsEnum: any;\r\n\r\n // structured data as a simple array of elements\r\n @Input() optionsPlainArray: any;\r\n\r\n // structured data as an array of objects used in combination with the input 'mapKey' and 'mapValue'\r\n @Input() optionsObjArray: any;\r\n // key identifier of the obj. If mapValue doesnt exist, mapKey is also the value\r\n @Input() mapKey?: any;\r\n // value identifier of the obj\r\n @Input() mapValue?: any;\r\n\r\n // options for the dropdown have a null value at the beginning of the array\r\n @Input() hasNullOption = false;\r\n\r\n @Input() translation?: ITranslation;\r\n @Input() placeholder = '';\r\n @Input() label = '';\r\n @Input() required = false;\r\n @Input() useEnumIndexAsValue = false;\r\n\r\n public keys: any[] = [];\r\n public values: any[] = [];\r\n\r\n Object = Object;\r\n\r\n constructor(\r\n public formBuilder: FormBuilder,\r\n public renderer: Renderer2,\r\n ) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n /**\r\n * Hook used to sync changes on set Label and Type\r\n * @param changes\r\n */\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.optionsPlainArray) {\r\n this.keys = this.optionsPlainArray;\r\n this.values = this.optionsPlainArray;\r\n }\r\n this.setKeyValues();\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n dropdownData: [],\r\n });\r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe(value => {\r\n this.internalValue = value.dropdownData;\r\n this.onChange(value.dropdownData);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n /**\r\n * transofrms the data values to the correct format for be used by the template\r\n * @param value\r\n */\r\n private setKeyValues(): void {\r\n if (this.optionsObjArray && this.mapKey && this.mapValue) {\r\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\r\n this.values = this.optionsObjArray.map((obj: any) => obj[`${this.mapValue}`]);\r\n } else if (this.optionsObjArray && this.mapKey) {\r\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\r\n this.values = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\r\n }\r\n if (this.optionsEnum) {\r\n this.keys = EnumValues.getNames(this.optionsEnum);\r\n if (this.optionsPlainArray) {\r\n this.values = this.optionsPlainArray;\r\n } else {\r\n const values = EnumValues.getValues(this.optionsEnum);\r\n\r\n // var who defines if enum is componed just with keys or keyValues. E.g enum KeyEnum { VALUE1, VALUE2 } or enum KeyValueEnum { VALUE4 = 'V4', VALUE5 = 'V5' }\r\n let keyValueEnum = false;\r\n\r\n for (let i = 0; i < this.keys.length; i++) {\r\n if (i !== values[i]) {\r\n keyValueEnum = true;\r\n }\r\n }\r\n if (keyValueEnum || this.useEnumIndexAsValue) {\r\n this.values = values;\r\n } else {\r\n this.values = EnumValues.getNames(this.optionsEnum);\r\n }\r\n }\r\n }\r\n if (this.hasNullOption === true) this.keys.unshift(null);\r\n if (this.hasNullOption === true) this.values.unshift(null);\r\n }\r\n\r\n /**\r\n * set the value of the dropdown based if translation is set\r\n * @param key \r\n */\r\n public setDisplayKey(key: any) {\r\n /*\r\n if (this.translation && key !== null) {\r\n if (this.translation.isPrefix) {\r\n return this.translationService.instant(this.translation.path + '.' + key);\r\n } else if (this.translation.useKey) {\r\n return this.translationService.instant(this.translation.path, { key: key });\r\n } else if (!this.translation?.useKey && !this.translation?.isPrefix) {\r\n return this.translationService.instant(this.translation.path);\r\n }\r\n } else if (key == null) {\r\n return '';\r\n } else if (!this.translation) {\r\n return key;\r\n }\r\n */\r\n return key;\r\n }\r\n\r\n valueChanged(value: any) {\r\n this.form.patchValue({\r\n dropdownData: value,\r\n });\r\n this.onSelectItemEmitter.emit(value);\r\n }\r\n}\r\n\r\n/**\r\n * Interface that defines the translation object in template\r\n */\r\ninterface ITranslation {\r\n path: string;\r\n useKey?: boolean;\r\n isPrefix?: boolean;\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport {\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\nimport { SwiperComponent } from 'ngx-useful-swiper';\r\nimport { SwiperOptions } from 'swiper';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { ImageSnippet } from '../../models/image-snippet.model';\r\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from '../../directives/swipe.model';\r\n\r\n\r\n@Component({\r\n selector: 'kms-image-slider',\r\n templateUrl: './image-slider.component.html',\r\n styleUrls: ['./image-slider.component.scss'],\r\n})\r\nexport class ImageSliderComponent implements OnInit, OnChanges {\r\n @Input() slides: string[] | undefined;\r\n @Input() editMode = false;\r\n @Input() imagesTOSave: ImageSnippet[] | undefined;\r\n @Output() orderChanged: EventEmitter<ImageSnippet[]> = new EventEmitter();\r\n @Output() deleteImageEvent: EventEmitter<number> = new EventEmitter();\r\n\r\n /**\r\n * Optional: Define Swipe behaviour configuration.\r\n * Default is 10% for the threshold definition until a swipe triggers next/previous slide.\r\n */\r\n @Input() swipeConfig: SwipeOptions = {\r\n swipeThreshold: 5,\r\n swipeThresholdType: '%',\r\n swipeLocalPosition: true,\r\n };\r\n\r\n public selectedSlide = 0;\r\n public checkedImageIndex?: number;\r\n\r\n public selectedSlideImage: SafeStyle | undefined;\r\n public isLastClickedInSliderImage = false;\r\n\r\n @ViewChild('usefulSwiper') usefulSwiper: SwiperComponent | undefined;\r\n\r\n config: SwiperOptions = {\r\n initialSlide: 0,\r\n slidesPerView: 3,\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev',\r\n },\r\n watchOverflow: true,\r\n autoHeight: true,\r\n allowTouchMove: false,\r\n spaceBetween: 30,\r\n on: {\r\n slideChange: () => {\r\n // do something\r\n },\r\n slideChangeTransitionEnd: () => {\r\n // do something\r\n },\r\n },\r\n };\r\n\r\n constructor(public sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n if (this.slides) {\r\n // TODO use Pipe safeStyle\r\n\r\n this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[0] + ')');\r\n }\r\n }\r\n\r\n // !TODO\r\n @HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n if (event.key === 'ArrowRight') {\r\n this.nextSlide();\r\n }\r\n if (event.key === 'ArrowLeft') {\r\n this.previousSlide();\r\n }\r\n }\r\n\r\n /**\r\n * Slide follows the finger or mouse according to it´s move delta.\r\n * @param event SwipeMoveEvent\r\n */\r\n handleMoveEvent(event: SwipeMoveEvent) {\r\n // certain move threshold needs to be reached\r\n if (!event.thresholdWasReached) {\r\n return;\r\n }\r\n this.config.direction = event.direction === 1 ? 'horizontal' : 'vertical';\r\n }\r\n\r\n /**\r\n * Mouse up or slide container was left.\r\n * @param event SwipeReleaseEvent\r\n */\r\n handleReleaseEvent(event: SwipeReleaseEvent) {\r\n if (!event.thresholdWasReached) {\r\n return;\r\n }\r\n // Just do if user clicked to slide on image and not on arrow or other element\r\n if (!this.isLastClickedInSliderImage) {\r\n return;\r\n }\r\n if (event.direction === 1) {\r\n this.previousSlide();\r\n } else {\r\n this.nextSlide();\r\n }\r\n }\r\n\r\n lastClicked() {\r\n this.isLastClickedInSliderImage = true;\r\n }\r\n\r\n noLastClicked() {\r\n this.isLastClickedInSliderImage = false;\r\n }\r\n\r\n scrollLeft() {\r\n this.previousSlide();\r\n }\r\n\r\n scrollRight() {\r\n this.nextSlide();\r\n }\r\n\r\n nextSlide() {\r\n if (this.slides && this.selectedSlide < this.slides.length - 1) {\r\n if (this.usefulSwiper) {\r\n this.usefulSwiper.swiper.slideNext();\r\n }\r\n this.openSlide(this.selectedSlide + 1);\r\n }\r\n this.isLastClickedInSliderImage = false;\r\n }\r\n\r\n previousSlide() {\r\n if (this.selectedSlide > 0) {\r\n if (this.usefulSwiper) {\r\n this.usefulSwiper.swiper.slidePrev();\r\n }\r\n this.openSlide(this.selectedSlide - 1);\r\n }\r\n this.isLastClickedInSliderImage = false;\r\n }\r\n\r\n slideTo(index: number) {\r\n if (this.usefulSwiper) {\r\n this.usefulSwiper.swiper.slideTo(index);\r\n }\r\n }\r\n\r\n openSlide(number: number) {\r\n if (this.slides && number < this.slides.length && number >= 0) {\r\n this.selectedSlide = number;\r\n // TODO use Pipe safeStyle\r\n\r\n this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[number] || ')');\r\n }\r\n }\r\n\r\n ngOnChanges(_changes: SimpleChanges) {\r\n if (_changes.slides) {\r\n if (this.slides) {\r\n // TODO use Pipe safeStyle\r\n\r\n this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[0] + ')');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Re-order slides and notify parent component\r\n */\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (this.slides && this.imagesTOSave) {\r\n moveItemInArray(this.slides, event.previousIndex, event.currentIndex);\r\n moveItemInArray(this.imagesTOSave, event.previousIndex, event.currentIndex);\r\n this.orderChanged.emit(this.imagesTOSave);\r\n }\r\n }\r\n\r\n /**\r\n * Send image index to parent to perform delete\r\n */\r\n deleteImage(index: number) {\r\n this.deleteImageEvent.emit(index);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({ selector: '[mouseWheel]' })\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n \r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n \r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n \r\n mouseWheelFunc(event: any) {\r\n event = window.event || event; // old IE support\r\n \r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if (delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if (delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n // for IE\r\n event.returnValue = false;\r\n // for Chrome and Firefox\r\n if (event.preventDefault) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\n// ng\r\nimport { AfterContentChecked, Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n/**\r\n * Directive to calc the height of all inner elements\r\n */\r\n@Directive({\r\n \r\n selector: '[getMaxHeight]',\r\n})\r\nexport class GetMaxHeightDirective implements AfterContentChecked {\r\n /**\r\n * CSS class name of the child items (markup elements) that should be checked for their height.\r\n * This is mandatory.\r\n */\r\n @Input('getMaxHeight') cssClassName = '';\r\n\r\n /**\r\n * Event that will pass the height of the tallest child inside the container.\r\n * Useful to calculate the target height of containers with different content (like accordion) for animations.\r\n */\r\n @Output() public maxHeightChanged: EventEmitter<number> = new EventEmitter();\r\n\r\n /**\r\n * Event that will pass the complete sum of all height values from each child.\r\n * Useful to calculate the full target height of a container (like dropdown) for animations.\r\n */\r\n @Output() public sumOfHeight: EventEmitter<number> = new EventEmitter();\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngAfterContentChecked(): void {\r\n this.checkHeightOfChildren(this.el.nativeElement, this.cssClassName);\r\n }\r\n\r\n private checkHeightOfChildren(parent: HTMLElement, cssClassName: string) {\r\n if (!parent) {\r\n return;\r\n }\r\n\r\n // find all the child elements with the selected class name\r\n const children = parent.getElementsByClassName(cssClassName);\r\n\r\n // failsafe\r\n if (!children) {\r\n return;\r\n }\r\n\r\n // get all the child elements heights\r\n const itemHeights = Array.from(children).map((x) => x.getBoundingClientRect().height);\r\n\r\n // failsafe\r\n if (itemHeights.length === 0) {\r\n return;\r\n }\r\n\r\n // find out the tallest element\r\n const maxHeight = itemHeights.reduce((prev, curr) => {\r\n return curr > prev ? curr : prev;\r\n }, 0);\r\n\r\n // get sum of heights\r\n const sumOfHeight = itemHeights.reduce((pv, cv) => pv + cv, 0);\r\n\r\n // inform\r\n this.maxHeightChanged.emit(maxHeight);\r\n this.sumOfHeight.emit(sumOfHeight);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from './swipe.model';\r\n\r\n@Directive({\r\n selector: '[swipeDirective]',\r\n})\r\nexport class SwipeDirective {\r\n /**\r\n * Output Event that is emitted during swipe process (mouse move or touch move event).\r\n * Can be used for calculation purposes.\r\n */\r\n @Output() public moveEvent = new EventEmitter<SwipeMoveEvent>();\r\n\r\n /**\r\n * Output Event that is emitted when swipe process end (mouse up or touch end event).\r\n * Can be used for calculation purposes.\r\n */\r\n @Output() public releaseEvent = new EventEmitter<SwipeReleaseEvent>();\r\n\r\n private _swipeOptions: SwipeOptions | undefined;\r\n\r\n private _moveEventData: SwipeMoveEvent | undefined;\r\n private _startPosition = -1;\r\n\r\n private _lastPosX = 0;\r\n\r\n private _thresholdWasReached = false;\r\n\r\n private _isMobile: boolean | undefined;\r\n\r\n private _timeStart = 0;\r\n\r\n /**\r\n * Needed config that defines swipe behaviour.\r\n * @param options SwipeOptions\r\n */\r\n @Input('swipeDirective')\r\n set config(options: SwipeOptions) {\r\n if (options) {\r\n this._swipeOptions = options;\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n @HostListener('touchstart', ['$event'])\r\n onMouseDown(event: any) {\r\n this.calculateStartPosition(event);\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n @HostListener('touchmove', ['$event'])\r\n onMove(event: any) {\r\n this.move(event);\r\n }\r\n\r\n @HostListener('mouseup', ['$event'])\r\n @HostListener('mouseleave', ['$event'])\r\n @HostListener('touchend', ['$event'])\r\n onRelease(event: any) {\r\n this.release(event);\r\n this.reset();\r\n }\r\n\r\n // ** PRIVATE ** //\r\n\r\n /**\r\n * Function checks if the current moving delta is inside the defined threshold.\r\n * Sets the flag to true if the threshold was reached once.\r\n */\r\n private checkThreshold(moveEvent: SwipeMoveEvent) {\r\n const percentage = this._swipeOptions && this._swipeOptions.swipeThresholdType === '%';\r\n\r\n if (!percentage && this._swipeOptions && moveEvent.swipeDistanceTotal < this._swipeOptions.swipeThreshold) {\r\n return;\r\n } else if (\r\n percentage &&\r\n this._swipeOptions &&\r\n moveEvent.swipeDistancePercentage < this._swipeOptions.swipeThreshold / 100\r\n ) {\r\n return;\r\n } else {\r\n this._thresholdWasReached = true;\r\n }\r\n }\r\n\r\n private calculateStartPosition(event?: any) {\r\n // detect if touch or click\r\n this._isMobile = event.type === 'touchstart';\r\n\r\n // save start position\r\n\r\n if (this._swipeOptions && this._swipeOptions.swipeLocalPosition) {\r\n if (this._isMobile) {\r\n const touch: Touch = event.touches[0];\r\n this._startPosition = this._swipeOptions.swipeLocalPosition ? touch.clientX : touch.pageX;\r\n } else {\r\n this._startPosition = this._swipeOptions.swipeLocalPosition ? event.offsetX : event.pageX;\r\n }\r\n }\r\n\r\n this._lastPosX = this._startPosition;\r\n this._timeStart = event.timeStamp;\r\n this._thresholdWasReached = false;\r\n }\r\n\r\n private move(event: any) {\r\n // failsafe\r\n if (typeof event === 'undefined') {\r\n return;\r\n }\r\n\r\n let posX = 0;\r\n\r\n if (this._swipeOptions) {\r\n if (this._isMobile && event.type === 'touchmove') {\r\n const touch: Touch = event.touches[0];\r\n posX = this._swipeOptions.swipeLocalPosition ? touch.clientX : touch.pageX;\r\n } else {\r\n posX = this._swipeOptions.swipeLocalPosition ? event.offsetX : event.pageX;\r\n }\r\n }\r\n\r\n const offsetPerFrame: number = posX - this._lastPosX;\r\n const swipeDistanceTotal: number = Math.abs(posX - this._startPosition);\r\n const swipeDistancePercentage: number = Math.abs(swipeDistanceTotal / event.target.clientWidth);\r\n const timeDuration: number = Math.abs(event.timeStamp - this._timeStart);\r\n\r\n let direction: number;\r\n let speed: number = 1 - swipeDistanceTotal / timeDuration;\r\n speed = Math.max(0.1, speed);\r\n\r\n if (posX - this._startPosition > 0) {\r\n direction = 1; // a.k.a LTR\r\n } else {\r\n direction = -1; // a.k.a RTL\r\n }\r\n\r\n this._moveEventData = {\r\n position: posX,\r\n offsetPerFrame: offsetPerFrame,\r\n swipeDistanceTotal: swipeDistanceTotal,\r\n swipeDistancePercentage: swipeDistancePercentage,\r\n direction: direction,\r\n speed: speed,\r\n thresholdWasReached: this._thresholdWasReached,\r\n };\r\n\r\n this.checkThreshold(this._moveEventData);\r\n\r\n // update move delta\r\n this._lastPosX = posX;\r\n\r\n // inform\r\n this.moveEvent.emit(this._moveEventData);\r\n }\r\n\r\n private release(event: any) {\r\n // case: just a click/touch\r\n\r\n if (!this._moveEventData) {\r\n return;\r\n }\r\n\r\n const releaseEventData: SwipeReleaseEvent = {\r\n thresholdWasReached: this._thresholdWasReached,\r\n direction: this._moveEventData.direction,\r\n speed: this._moveEventData.speed,\r\n easingType: this.getEasingCurve(this._moveEventData.speed),\r\n target: event.currentTarget,\r\n };\r\n\r\n // inform\r\n this.releaseEvent.emit(releaseEventData);\r\n }\r\n\r\n private getEasingCurve(speed: number): string {\r\n return speed > 0.5 ? 'ease-in' : 'ease-out';\r\n }\r\n\r\n private reset() {\r\n this._startPosition = -1;\r\n this._thresholdWasReached = false;\r\n\r\n if (this._moveEventData) {\r\n this._moveEventData = undefined;\r\n }\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[kmsTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n @Input('tooltipTitle') tooltipTitle = \"\";\r\n @Input('tooltipText') tooltipText = \"\";\r\n @Input('tooltipLinkText') tooltipLinkText = \"\";\r\n @Input('tooltipLinkUrl') tooltipLinkUrl = \"\";\r\n @Input('tooltipPlacement') tooltipPlacement = \"bottom\";\r\n @Input('tooltipDelay') tooltipDelay = 1000;\r\n @Input('tooltipPlaceIntoHost') tooltipPlaceIntoHost = false;\r\n @Input('tooltipOnlyonclick') tooltipOnlyonclick = false;\r\n\r\n tooltipElem?: HTMLElement | undefined;\r\n tooltipLinkElem?: HTMLElement | undefined;\r\n tooltipTitleElem?: HTMLElement | undefined;\r\n tooltipTextElem?: HTMLElement | undefined;\r\n offset = 0;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n if (!this.tooltipOnlyonclick) { this.show(); }\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n if (this.tooltipOnlyonclick) { this.show(); }\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n if (this.tooltipElem) { this.hide(); }\r\n }\r\n\r\n show() {\r\n if (!this.tooltipElem){\r\n this.create();\r\n this.setPosition();\r\n }\r\n this.renderer.addClass(this.tooltipElem, 'tooltip-show');\r\n }\r\n\r\n hide() {\r\n this.renderer.removeClass(this.tooltipElem, 'tooltip-show');\r\n window.setTimeout(() => {\r\n }, this.tooltipDelay);\r\n }\r\n\r\n create() {\r\n this.tooltipElem = this.renderer.createElement('kms-tooltip-element');\r\n\r\n this.tooltipTitleElem = this.renderer.createElement('b');\r\n this.renderer.appendChild(this.tooltipTitleElem, this.renderer.createText(this.tooltipTitle));\r\n this.renderer.appendChild(this.tooltipElem, this.tooltipTitleElem);\r\n \r\n this.tooltipTextElem = this.renderer.createElement('div');\r\n this.renderer.appendChild(this.tooltipTextElem, this.renderer.createText(this.tooltipText));\r\n this.renderer.appendChild(this.tooltipElem, this.tooltipTextElem);\r\n \r\n this.tooltipLinkElem = this.renderer.createElement('a');\r\n this.renderer.setAttribute(this.tooltipLinkElem, 'href', this.tooltipLinkUrl);\r\n this.renderer.appendChild(this.tooltipLinkElem, this.renderer.createText(this.tooltipLinkText));\r\n this.renderer.appendChild(this.tooltipElem, this.tooltipLinkElem);\r\n\r\n if(this.tooltipPlaceIntoHost){\r\n this.renderer.appendChild(this.el.nativeElement, this.tooltipElem);\r\n }else{\r\n this.renderer.appendChild(document.body, this.tooltipElem);\r\n }\r\n\r\n this.renderer.addClass(this.tooltipElem, 'tooltip');\r\n this.renderer.addClass(this.tooltipElem, `tooltip-${this.tooltipPlacement}`);\r\n this.renderer.setStyle(this.tooltipElem, '-webkit-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltipElem, '-moz-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltipElem, '-o-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltipElem, 'transition', `opacity ${this.tooltipDelay}ms`);\r\n }\r\n\r\n setPosition() {\r\n if(this.tooltipElem){\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltipElem.getBoundingClientRect();\r\n\r\n let top, left;\r\n\r\n if(this.tooltipPlaceIntoHost){\r\n left = 0;\r\n top = hostPos.height; \r\n } else {\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\r\n if (this.tooltipPlacement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (!this.tooltipPlacement || this.tooltipPlacement === 'bottom') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.tooltipPlacement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.tooltipPlacement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n top += scrollPos;\r\n }\r\n\r\n this.renderer.setStyle(this.tooltipElem, 'top', `${top}px`);\r\n this.renderer.setStyle(this.tooltipElem, 'left', `${left}px`);\r\n }\r\n }\r\n}","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { MouseWheelDirective } from './mousewheel.directive';\r\nimport { GetMaxHeightDirective } from './sum-of-height.directive';\r\nimport { SwipeDirective } from './swipe.directive';\r\nimport { TooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n SwipeDirective,\r\n MouseWheelDirective,\r\n GetMaxHeightDirective,\r\n TooltipDirective,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n SwipeDirective,\r\n MouseWheelDirective,\r\n GetMaxHeightDirective,\r\n TooltipDirective,\r\n ],\r\n})\r\nexport class DirectivesModule {}\r\n","import { NgModule, } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { KmsUiPresentationalComponent } from './kms-ngx-ui-presentational.component';\r\nimport { ActionsParentComponent } from './parent-components/actions.component';\r\nimport { CheckboxComponent } from './ui/checkbox/checkbox.component';\r\n\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { ColorInputComponent } from './ui/color-input/color-input.component';\r\nimport { RadioButtonComponent } from './ui/radiobutton/radiobutton.component';\r\nimport { TimeInputComponent } from './ui/time-input/time-input.component';\r\nimport { YesNoRadiogroupComponent } from './ui/yes-no-radiogroup/yes-no-radiogroup.component';\r\nimport { FileInputComponent } from './ui/file-input/file-input.component';\r\nimport { LoaderComponent } from './ui/loader/loader.component';\r\nimport { FlyoutComponent } from './ui/flyout/flyout.component';\r\nimport { CustomPipesModule } from './pipes/custom-pipes.module';\r\nimport { IconComponent } from './ui/icon/icon.component';\r\nimport { EnumRadiogroupComponent } from './ui/enum-radiogroup/enum-radiogroup.component';\r\nimport { KMSAccordionItemComponent } from './ui/kms-accordion-item/kms-accordion-item.component';\r\nimport { MapComponent } from './ui/map/map.component';\r\nimport { SalutationDropdownComponent } from './ui/salutation-dropdown/salutation-dropdown.component';\r\nimport { TooltipComponent } from './ui/tooltip/tooltip.component';\r\nimport { TooltipIconComponent } from './ui/tooltip-icon/tooltip-icon.component';\r\n\r\nimport { SalutationRadiogroupComponent } from './ui/salutation-radiogroup/salutation-radiogroup.component';\r\nimport { BackToTopComponent } from './ui/back-to-top/back-to-top.component';\r\nimport { ButtonWithConfirmDialogComponent } from './ui/button-with-confirm-dialog/button-with-confirm-dialog.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { GenericDialogComponent } from './ui/generic-dialog/generic-dialog.component';\r\nimport { MatExpansionModule} from '@angular/material/expansion';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { DropdownFromDataComponent } from './ui/dropdown-from-data/dropdown-from-data.component';\r\nimport { ImageSliderComponent } from './ui/image-slider/image-slider.component';\r\nimport { DirectivesModule } from './directives/directives.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ViewportService } from './services/viewport.service';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { NgxUsefulSwiperModule } from 'ngx-useful-swiper';\r\n\r\n@NgModule({\r\n declarations: [\r\n ActionsParentComponent,\r\n BackToTopComponent,\r\n ButtonWithConfirmDialogComponent,\r\n CheckboxComponent,\r\n ColorInputComponent,\r\n DropdownFromDataComponent,\r\n EnumRadiogroupComponent,\r\n EnumRadiogroupComponent,\r\n FileInputComponent,\r\n FlyoutComponent,\r\n GenericDialogComponent,\r\n IconComponent,\r\n ImageSliderComponent,\r\n KMSAccordionItemComponent,\r\n KmsUiPresentationalComponent,\r\n LoaderComponent,\r\n MapComponent,\r\n RadioButtonComponent,\r\n SalutationDropdownComponent,\r\n SalutationRadiogroupComponent,\r\n TimeInputComponent,\r\n TooltipComponent,\r\n TooltipIconComponent,\r\n YesNoRadiogroupComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatRadioModule,\r\n MatDialogModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatMenuModule,\r\n CustomPipesModule,\r\n GoogleMapsModule,\r\n MatExpansionModule,\r\n MatSelectModule,\r\n MatProgressSpinnerModule,\r\n DirectivesModule,\r\n TranslateModule,\r\n NgxUsefulSwiperModule,\r\n ],\r\n exports: [\r\n ActionsParentComponent,\r\n BackToTopComponent,\r\n ButtonWithConfirmDialogComponent,\r\n CheckboxComponent,\r\n ColorInputComponent,\r\n DropdownFromDataComponent,\r\n EnumRadiogroupComponent,\r\n EnumRadiogroupComponent,\r\n FileInputComponent,\r\n FlyoutComponent,\r\n GenericDialogComponent,\r\n IconComponent,\r\n ImageSliderComponent,\r\n KMSAccordionItemComponent,\r\n KmsUiPresentationalComponent,\r\n LoaderComponent,\r\n MapComponent,\r\n RadioButtonComponent,\r\n SalutationDropdownComponent,\r\n SalutationRadiogroupComponent,\r\n TimeInputComponent,\r\n TooltipComponent,\r\n TooltipIconComponent,\r\n YesNoRadiogroupComponent,\r\n ],\r\n providers: [\r\n ViewportService\r\n ]\r\n})\r\nexport class KmsUiPresentationalModule { }\r\n","/*\r\n * Public API Surface of kms-ngx-ui-presentational\r\n */\r\n\r\nexport * from './lib/kms-ngx-ui-presentational.service';\r\nexport * from './lib/kms-ngx-ui-presentational.component';\r\nexport * from './lib/kms-ngx-ui-presentational.module';\r\nexport * from './lib/pipes/custom-pipes.module';\r\nexport * from './lib/directives/directives.module';\r\n\r\nexport * from './lib/models/iconSize.enum';\r\nexport * from './lib/models/salutation.enum';\r\n//export * from './lib/ui/checkbox/checkbox.component';\r\n//export * from './lib/parent-components/actions.component';\r\nexport * from './lib/ui/generic-dialog/generic-dialog.component';\r\nexport * from './lib/services/viewport.service';\r\nexport * from './lib/parent-components/form.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MouseWheelDirective as ɵbi} from './lib/directives/mousewheel.directive';\nexport {GetMaxHeightDirective as ɵbj} from './lib/directives/sum-of-height.directive';\nexport {SwipeDirective as ɵbh} from './lib/directives/swipe.directive';\nexport {TooltipDirective as ɵbk} from './lib/directives/tooltip.directive';\nexport {ActionsParentComponent as ɵa} from './lib/parent-components/actions.component';\nexport {FormControlParentComponent as ɵf} from './lib/parent-components/form-control.component';\nexport {DecodeUriPipe as ɵbd} from './lib/pipes/decode-uri.pipe';\nexport {EncodeUriPipe as ɵbc} from './lib/pipes/encode-uri.pipe';\nexport {IntegerCurrency as ɵx} from './lib/pipes/integer-currency.pipe';\nexport {SafeHtmlPipe as ɵy} from './lib/pipes/safe-html.pipe';\nexport {SafeResourceUrlPipe as ɵba} from './lib/pipes/safe-resource-url.pipe';\nexport {SafeStylePipe as ɵz} from './lib/pipes/safe-style.pipe';\nexport {SafeUrlPipe as ɵbb} from './lib/pipes/safe-url.pipe';\nexport {ToNumberPipe as ɵbg} from './lib/pipes/to-number.pipe';\nexport {TrimPipe as ɵbf} from './lib/pipes/trim.pipe';\nexport {TypeofPipe as ɵbe} from './lib/pipes/typeof.pipe';\nexport {BackToTopComponent as ɵb} from './lib/ui/back-to-top/back-to-top.component';\nexport {ButtonWithConfirmDialogComponent as ɵc} from './lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component';\nexport {DialogData as ɵk} from './lib/ui/button-with-confirm-dialog/dialog-data.model';\nexport {CheckboxComponent as ɵd} from './lib/ui/checkbox/checkbox.component';\nexport {ColorInputComponent as ɵe} from './lib/ui/color-input/color-input.component';\nexport {DropdownFromDataComponent as ɵg} from './lib/ui/dropdown-from-data/dropdown-from-data.component';\nexport {EnumRadiogroupComponent as ɵh} from './lib/ui/enum-radiogroup/enum-radiogroup.component';\nexport {FileInputComponent as ɵi} from './lib/ui/file-input/file-input.component';\nexport {FlyoutComponent as ɵj} from './lib/ui/flyout/flyout.component';\nexport {IconComponent as ɵl} from './lib/ui/icon/icon.component';\nexport {ImageSliderComponent as ɵm} from './lib/ui/image-slider/image-slider.component';\nexport {KMSAccordionItemComponent as ɵn} from './lib/ui/kms-accordion-item/kms-accordion-item.component';\nexport {LoaderComponent as ɵo} from './lib/ui/loader/loader.component';\nexport {MapComponent as ɵp} from './lib/ui/map/map.component';\nexport {RadioButtonComponent as ɵq} from './lib/ui/radiobutton/radiobutton.component';\nexport {SalutationDropdownComponent as ɵr} from './lib/ui/salutation-dropdown/salutation-dropdown.component';\nexport {SalutationRadiogroupComponent as ɵs} from './lib/ui/salutation-radiogroup/salutation-radiogroup.component';\nexport {TimeInputComponent as ɵt} from './lib/ui/time-input/time-input.component';\nexport {TooltipIconComponent as ɵv} from './lib/ui/tooltip-icon/tooltip-icon.component';\nexport {TooltipComponent as ɵu} from './lib/ui/tooltip/tooltip.component';\nexport {YesNoRadiogroupComponent as ɵw} from './lib/ui/yes-no-radiogroup/yes-no-radiogroup.component';"],"names":["Injectable","Component","EventEmitter","Input","Output","NG_VALUE_ACCESSOR","forwardRef","FormBuilder","Renderer2","ViewChild","IconSize","FormControl","NG_VALIDATORS","ApplicationRef","ChangeDetectorRef","trigger","state","style","Pipe","CurrencyPipe","DomSanitizer","NgModule","CommonModule","VERSION","Subject","isPlatformBrowser","Inject","PLATFORM_ID","SalutationEnum","HostListener","MatDialogRef","NgZone","MAT_DIALOG_DATA","SubSink","MatDialog","EnumValues","moveItemInArray","Directive","ElementRef","MatCheckboxModule","MatButtonModule","MatRadioModule","MatDialogModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatMenuModule","GoogleMapsModule","MatExpansionModule","MatSelectModule","MatProgressSpinnerModule","TranslateModule","NgxUsefulSwiperModule"],"mappings":"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"}
1
+ {"version":3,"file":"kms-ngx-ui-presentational.umd.js","sources":["../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/actions.component.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form-control.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/attached-file-dto.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/is-value.function.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/tooltip.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/sum-of-height.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-html.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/integer-currency.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/decode-uri.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/encode-uri.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-style.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-resource-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/typeof.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/trim.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/to-number.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/custom-pipes.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/services/viewport.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/salutation.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip/tooltip.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip/tooltip.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/button-with-confirm-dialog/button-response-types.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/generic-dialog/generic-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/generic-dialog/generic-dialog.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/swipe.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/mousewheel.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/directives.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.module.ts","../../../../projects/kms-ngx-ui-presentational/src/public-api.ts","../../../../projects/kms-ngx-ui-presentational/src/kms-ngx-ui-presentational.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class KmsUiPresentationalService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kms-ngx-ui-presentational',\r\n template: `\r\n <p>\r\n kms-ngx-ui-presentational works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class KmsUiPresentationalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kms-actions',\r\n template: '',\r\n})\r\nexport class ActionsParentComponent {\r\n /**\r\n * Defines the disabled property\r\n */\r\n @Input() disabled = false;\r\n\r\n /**\r\n * Set button as selected. F.e. in multiselect component\r\n */\r\n @Input() checked = false;\r\n\r\n /**\r\n * Displayed label.\r\n */\r\n @Input() label = '';\r\n\r\n /**\r\n * Link\r\n */\r\n @Input() link = '';\r\n\r\n /**\r\n * Internal value that will be send if a form is submitted.\r\n */\r\n @Input() initialValue = '';\r\n\r\n @Output() select = new EventEmitter();\r\n\r\n selectAction(id: string) {\r\n this.checked = !this.checked;\r\n this.select.emit(id);\r\n }\r\n}\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\n\r\nimport { ActionsParentComponent } from '../../parent-components/actions.component';\r\n\r\n\r\n@Component({\r\n selector: 'kms-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CheckboxComponent extends ActionsParentComponent implements ControlValueAccessor {\r\n\r\n\r\n /**\r\n * Additional description text that will be shown below the checkbox.\r\n */\r\n @Input() infoText: NullAble<string>;\r\n\r\n /**\r\n * Internal description name. All checkboxes with the same name belong to the same group.\r\n * User can select none, one or all checkboxes with the same name.\r\n */\r\n @Input() name = '';\r\n\r\n @Output() select = new EventEmitter();\r\n selectAction(id: string) {\r\n this.select.emit(id);\r\n this.checked = !this.checked;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n get value(): boolean {\r\n return this.checked;\r\n }\r\n\r\n set value(value: boolean) {\r\n this.checked = value;\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n}\r\n","<!-- <label class=\"wrapper ui-copy-text\"\r\n [ngClass]=\"{'disabled' : disabled}\">{{label}}\r\n <input type=\"checkbox\" \r\n [checked]=\"checked\"\r\n [value]=\"value\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n (change)=\"selectAction($event)\">\r\n\r\n</label> -->\r\n<mat-checkbox class=\"example-margin\" [disabled]=\"disabled\" [name]=\"name\" [(ngModel)]=\"checked\"></mat-checkbox>\r\n<span *ngIf=\"infoText && infoText.length > 0\" \r\n class=\"\"\r\n [ngClass]=\"{'disabled' : disabled}\">{{infoText}}\r\n</span>","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kms-form',\r\n template: '',\r\n})\r\nexport class FormParentComponent implements OnInit {\r\n public form!: FormGroup;\r\n public formInitialized = false;\r\n private allowedCharsOnlyNumbers = new Set('0123456789'.split('').map(c => c.charCodeAt(0)));\r\n\r\n @Output() formDataChanged: EventEmitter<FormGroup> = new EventEmitter();\r\n\r\n @Input() disabled = false;\r\n\r\n constructor(\r\n public formBuilder: FormBuilder\r\n ) {\r\n\r\n }\r\n\r\n // TODO make a service or make own compoennt etc.\r\n /**\r\n * Returns if a number was pressed\r\n * @param e \r\n * @returns \r\n */\r\n checkIfKeyWasNumber(e: KeyboardEvent, allowDelete = true, allowArrows = true, allowCutCopyPaste = true){\r\n // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key\r\n const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;\r\n const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;\r\n const isArrows = e.keyCode >= 37 && e.keyCode <= 40;\r\n const isDelete = e.keyCode == 8 || e.keyCode == 46;\r\n const isCutCopyOrPaste = (e.ctrlKey || e.metaKey) && (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);\r\n return (isNumberRow) || (isNumberPad) || (allowDelete && isDelete) || (allowArrows && isArrows) || (allowCutCopyPaste && isCutCopyOrPaste);\r\n }\r\n\r\n // TODO make a service or make own compoennt etc.\r\n /**\r\n * Prevents to input other chars than numbers in input\r\n * @param event \r\n */\r\n removeNumbersOnType(event: KeyboardEvent) {\r\n // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers\r\n if (!this.checkIfKeyWasNumber(event) && !this.allowedCharsOnlyNumbers.has(event.keyCode)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n // TODO make a service or make own compoennt etc.\r\n /**\r\n * Prevents input when pasting which is not number\r\n * @param event\r\n */\r\n removeNumbersOnPaste(event: ClipboardEvent){\r\n const clipboardData = event.clipboardData;\r\n if(clipboardData){\r\n const pastedText = clipboardData.getData('text');\r\n if(pastedText){\r\n const isnum = /^\\d+$/.test(pastedText);\r\n if(!isnum) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.formDataChanged.emit(this.form);\r\n this.form.valueChanges.subscribe(() => {\r\n this.formDataChanged.emit(this.form);\r\n });\r\n }\r\n}\r\n","import { Component, ElementRef, Input, EventEmitter, Output, ViewChild, Renderer2 } from '@angular/core';\r\nimport { FormBuilder, FormControl } from '@angular/forms';\r\nimport { FormParentComponent } from './form.component';\r\n\r\n@Component({\r\n selector: 'kms-formControlParent',\r\n template: '',\r\n})\r\nexport class FormControlParentComponent extends FormParentComponent {\r\n @Input() defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually\r\n @Output() onSelectItemEmitter = new EventEmitter<string>();\r\n\r\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\r\n\r\n public internalValue = '';\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder);\r\n }\r\n\r\n ngOnInit(){\r\n super.ngOnInit();\r\n }\r\n\r\n change(value: string) {\r\n this.onChange(value);\r\n this.onTouched();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouched: any = () => {};\r\n\r\n get value(): string {\r\n return this.internalValue;\r\n }\r\n\r\n set value(value: string) {\r\n this.internalValue = value;\r\n if (value !== undefined && this.internalValue !== value) {\r\n if (!this.internalValue && this.defaultDataOverride) {\r\n this.internalValue = this.defaultDataOverride;\r\n }\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n }\r\n\r\n writeValue(value: string) {\r\n this.internalValue = value;\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean) {\r\n if (this.child) {\r\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\r\n }\r\n }\r\n\r\n validate(_: FormControl) {\r\n return this.form.valid ? null : false;\r\n }\r\n\r\n}\r\n","/**\r\n * Attached File DTO\r\n */\r\nexport class AttachedFileDTO {\r\n ImageIdent?: string;\r\n ImageLink?: string;\r\n Filename?: string;\r\n ImageAsDataURL?: string;\r\n CreateSmallImage?: boolean;\r\n Text?: string;\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nexport enum IconSize {\r\n FULLSIZE = 'size-full',\r\n TINY = 'size-16',\r\n SMALLER = 'size-20',\r\n SMALL = 'size-32',\r\n MEDIUM = 'size-64',\r\n LARGE = 'size-128',\r\n XL = 'size-256',\r\n XXL = 'size-512',\r\n XXXL = 'size-1024',\r\n NONE = 'NONE',\r\n}\r\n\r\n","/**\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { NullAble } from \"./types/nullable.type\";\r\n\r\n\r\n/**\r\n * Check if null or undefined\r\n * @param value value that is being checked\r\n */\r\nexport function isValue<T>(value: NullAble<T>): value is T {\r\n if (value === null) {\r\n return false;\r\n }\r\n if (typeof value === 'undefined') {\r\n return false;\r\n }\r\n return true;\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nexport enum IconSize {\r\n FULLSIZE = 'size-full',\r\n TINY = 'size-16',\r\n SMALLER = 'size-20',\r\n SMALL = 'size-32',\r\n MEDIUM = 'size-64',\r\n LARGE = 'size-128',\r\n XL = 'size-256',\r\n XXL = 'size-512',\r\n XXXL = 'size-1024',\r\n NONE = 'NONE',\r\n}\r\n\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Component, Input, OnInit, VERSION } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { IconSize } from './iconSize.enum';\r\n\r\n@Component({\r\n \r\n selector: 'kms-icon',\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./icon.component.scss'],\r\n})\r\nexport class IconComponent implements OnInit {\r\n\r\n /**\r\n * Required: Name of the SVG icon inside your sprite sheet file with name 'icons.svg'.\r\n * Pass 'none' if no icon should be rendered.\r\n */\r\n @Input() icon!: string | '';\r\n\r\n /**\r\n * Optional: Different appearance via CSS class defined in this component´s style sheet.\r\n */\r\n @Input() iconClass!: string | '';\r\n\r\n /**\r\n * Optional: Different appearance via CSS inline style.\r\n */\r\n \r\n @Input() iconStyle: any;\r\n\r\n /**\r\n * Optional: Different size via CSS inline style.\r\n */\r\n @Input() iconSize: IconSize = IconSize.FULLSIZE;\r\n\r\n /**\r\n * Dont use icon sprite\r\n */\r\n \r\n @Input() dontUseSprite = false;\r\n\r\n IconSize = IconSize;\r\n Version = VERSION.full;\r\n\r\n public timestamp = 0;\r\n\r\n /**\r\n * Renders this icon from SVG sprite sheet\r\n */\r\n public iconToShow!: string | '';\r\n\r\n constructor(public sanitizer: DomSanitizer) {\r\n this.iconToShow = this.icon;\r\n }\r\n\r\n ngOnInit() {\r\n this.iconToShow = this.icon;\r\n const d = new Date();\r\n const n = d.getTime();\r\n this.timestamp = n;\r\n }\r\n\r\n}\r\n","<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === false\">\r\n <span class=\"icon {{ iconSize }}\" [ngClass]=\"iconClass\" [ngStyle]=\"iconStyle\">\r\n <svg>\r\n <use\r\n [attr.xlink:href]=\"\r\n 'assets/sprite.svg?Version=' + Version + '#' + iconToShow\r\n \"\r\n ></use>\r\n </svg>\r\n </span>\r\n</ng-container>\r\n<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === true\">\r\n <object\r\n [data]=\"\r\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon + '')\r\n \"\r\n type=\"image/svg+xml\"\r\n class=\"icon {{ iconSize }}\"\r\n [ngClass]=\"iconClass\"\r\n [ngStyle]=\"iconStyle\"\r\n ></object>\r\n</ng-container>\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[kmsTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n @Input('tooltipTitle') tooltipTitle = \"\";\r\n @Input('tooltipText') tooltipText = \"\";\r\n @Input('tooltipLinkText') tooltipLinkText = \"\";\r\n @Input('tooltipLinkUrl') tooltipLinkUrl = \"\";\r\n @Input('tooltipPlacement') tooltipPlacement = \"bottom\";\r\n @Input('tooltipDelay') tooltipDelay = 1000;\r\n @Input('tooltipPlaceIntoHost') tooltipPlaceIntoHost = false;\r\n @Input('tooltipOnlyonclick') tooltipOnlyonclick = false;\r\n\r\n tooltipElem?: HTMLElement | undefined;\r\n tooltipLinkElem?: HTMLElement | undefined;\r\n tooltipTitleElem?: HTMLElement | undefined;\r\n tooltipTextElem?: HTMLElement | undefined;\r\n offset = 0;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n if (!this.tooltipOnlyonclick) { this.show(); }\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n if (this.tooltipOnlyonclick) { this.show(); }\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n if (this.tooltipElem) { this.hide(); }\r\n }\r\n\r\n show() {\r\n if (!this.tooltipElem){\r\n this.create();\r\n this.setPosition();\r\n }\r\n this.renderer.addClass(this.tooltipElem, 'tooltip-show');\r\n }\r\n\r\n hide() {\r\n this.renderer.removeClass(this.tooltipElem, 'tooltip-show');\r\n window.setTimeout(() => {\r\n }, this.tooltipDelay);\r\n }\r\n\r\n create() {\r\n this.tooltipElem = this.renderer.createElement('kms-tooltip-element');\r\n\r\n this.tooltipTitleElem = this.renderer.createElement('b');\r\n this.renderer.appendChild(this.tooltipTitleElem, this.renderer.createText(this.tooltipTitle));\r\n this.renderer.appendChild(this.tooltipElem, this.tooltipTitleElem);\r\n \r\n this.tooltipTextElem = this.renderer.createElement('div');\r\n this.renderer.appendChild(this.tooltipTextElem, this.renderer.createText(this.tooltipText));\r\n this.renderer.appendChild(this.tooltipElem, this.tooltipTextElem);\r\n \r\n this.tooltipLinkElem = this.renderer.createElement('a');\r\n this.renderer.setAttribute(this.tooltipLinkElem, 'href', this.tooltipLinkUrl);\r\n this.renderer.appendChild(this.tooltipLinkElem, this.renderer.createText(this.tooltipLinkText));\r\n this.renderer.appendChild(this.tooltipElem, this.tooltipLinkElem);\r\n\r\n if(this.tooltipPlaceIntoHost){\r\n this.renderer.appendChild(this.el.nativeElement, this.tooltipElem);\r\n }else{\r\n this.renderer.appendChild(document.body, this.tooltipElem);\r\n }\r\n\r\n this.renderer.addClass(this.tooltipElem, 'tooltip');\r\n this.renderer.addClass(this.tooltipElem, `tooltip-${this.tooltipPlacement}`);\r\n this.renderer.setStyle(this.tooltipElem, '-webkit-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltipElem, '-moz-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltipElem, '-o-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltipElem, 'transition', `opacity ${this.tooltipDelay}ms`);\r\n }\r\n\r\n setPosition() {\r\n if(this.tooltipElem){\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltipElem.getBoundingClientRect();\r\n\r\n let top, left;\r\n\r\n if(this.tooltipPlaceIntoHost){\r\n left = 0;\r\n top = hostPos.height; \r\n } else {\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\r\n if (this.tooltipPlacement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (!this.tooltipPlacement || this.tooltipPlacement === 'bottom') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.tooltipPlacement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.tooltipPlacement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n top += scrollPos;\r\n }\r\n\r\n this.renderer.setStyle(this.tooltipElem, 'top', `${top}px`);\r\n this.renderer.setStyle(this.tooltipElem, 'left', `${left}px`);\r\n }\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { IconSize } from '../../models';\r\n\r\n@Component({\r\n selector: 'kms-tooltip-icon',\r\n templateUrl: './tooltip-icon.component.html',\r\n styleUrls: ['./tooltip-icon.component.scss']\r\n})\r\nexport class TooltipIconComponent {\r\n @Input() tooltipTitle = \"\";\r\n @Input() tooltipText = \"\";\r\n @Input() tooltipLinkText = \"\";\r\n @Input() tooltipLinkUrl = \"\";\r\n\r\n @Input() placement = \"\";\r\n @Input() delay = 1000;\r\n\r\n IconSize = IconSize;\r\n}\r\n","<span\r\n kmsTooltip\r\n [tooltipTitle]=\"tooltipTitle\"\r\n [tooltipText]=\"tooltipText\"\r\n [tooltipPlacement]=\"placement\"\r\n [tooltipDelay]=\"delay\"\r\n [tooltipLinkText]=\"tooltipLinkText\"\r\n [tooltipLinkUrl]=\"tooltipLinkUrl\"\r\n>\r\n <kms-icon icon=\"ic_info\" [iconSize]=\"IconSize.SMALLER\" [iconClass]=\"'color-primary'\"></kms-icon>\r\n</span>\r\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-color-input',\r\n templateUrl: './color-input.component.html',\r\n styleUrls: ['./color-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ColorInputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ColorInputComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() label = '';\r\n @Input() tooltipText = '';\r\n @Input() placeholder = '';\r\n valid: boolean | null | undefined;\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n color: '',\r\n });\r\n \r\n super.ngOnInit();\r\n \r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.color;\r\n this.onChange(value.color);\r\n });\r\n\r\n }\r\n\r\n validate(_: FormControl) {\r\n // TODO fix to validate complete form\r\n this.valid = this.matchesHex(this.form.value) ? null : false;\r\n return this.valid && {\r\n invalid: !this.valid\r\n };\r\n }\r\n\r\n matchesHex(match?: string){\r\n if(match){\r\n const ret = match.match(/^#[0-9a-f]{6}$/i);\r\n this.valid = ret && ret.length>0;\r\n return ret;\r\n }\r\n return false;\r\n }\r\n\r\n updateSelectedColor(value: any){\r\n const color = value.target.value;\r\n this.value = color;\r\n this.internalValue = color;\r\n this.change(color);\r\n }\r\n}\r\n","\r\n<form [formGroup]=\"form\" *ngIf=\"formInitialized\">\r\n <div>\r\n <mat-form-field class=\"colorInput\">\r\n <kms-tooltip-icon [tooltipText]=\"tooltipText\" *ngIf=\"tooltipText\"></kms-tooltip-icon>\r\n <mat-label>{{ label }}</mat-label>\r\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\r\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\r\n </mat-form-field>\r\n </div>\r\n</form>","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\nimport { Component, forwardRef, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { ActionsParentComponent } from '../../parent-components/actions.component';\r\n\r\n@Component({\r\n selector: 'kms-radiobutton',\r\n templateUrl: './radiobutton.component.html',\r\n styleUrls: ['./radiobutton.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RadioButtonComponent extends ActionsParentComponent implements ControlValueAccessor {\r\n /**\r\n * Internal description name. All radio buttons with the same name belong to the same group.\r\n * User can select exactly one of the radio buttons from the same group.\r\n */\r\n @Input() name = '';\r\n\r\n /**\r\n * Internal description id. Will be send in the output event when the radio button is selected.\r\n */\r\n @Input() id = '';\r\n\r\n @Input() formControl: any;\r\n\r\n selectAction(id: string) {\r\n this.select.emit(id);\r\n this.checked = !this.checked;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n get value(): boolean {\r\n return this.checked;\r\n }\r\n\r\n set value(value: boolean) {\r\n this.checked = value;\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n}\r\n","<label class=\"wrapper ui-small-text\"\r\n [ngClass]=\"{'disabled' : disabled}\">\r\n <input type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n (change)=\"selectAction($event)\">{{label}}\r\n\r\n <kms-icon\r\n class=\"checkmark\" \r\n aria-hidden=\"true\"\r\n *ngIf=\"checked\"\r\n [ngClass]=\"{\r\n 'disabled' : disabled\r\n }\"\r\n [iconClass]=\"{\r\n 'disabled' : disabled, \r\n 'color-primary': true,\r\n 'size-16': true\r\n }\"\r\n [icon]=\"'ic_radiobutton_active'\"\r\n >\r\n </kms-icon>\r\n <kms-icon\r\n class=\"checkmark\" \r\n aria-hidden=\"true\"\r\n *ngIf=\"!checked\"\r\n [ngClass]=\"{\r\n 'disabled' : disabled\r\n }\"\r\n [iconClass]=\"{\r\n 'disabled' : disabled, \r\n 'color-primary': true,\r\n 'size-16': true\r\n }\"\r\n [icon]=\"'ic_radiobutton_inactive'\"\r\n >\r\n </kms-icon>\r\n <ng-content></ng-content>\r\n</label>\r\n","import { Component, forwardRef, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kms-time-input',\r\n templateUrl: './time-input.component.html',\r\n styleUrls: ['./time-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TimeInputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TimeInputComponent implements OnInit, ControlValueAccessor {\r\n public form!: FormGroup;\r\n h = '';\r\n m = '';\r\n\r\n constructor(public formBuilder: FormBuilder) {\r\n \r\n }\r\n\r\n get value(): string {\r\n return this.value;\r\n }\r\n \r\n set value(value: string) {\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n writeValue(value: string) {\r\n if(value && value.length === 8){\r\n this.h = value.substr(0,2);\r\n this.m = value.substr(3,2);\r\n }else if(value && value.length === 5){\r\n this.h = value.substr(0,2);\r\n this.m = value.substr(-2);\r\n }\r\n \r\n //we need to also update the form value because angular has a problem reading it from first time when valuechanges subscription was fired.\r\n this.form.controls['h'].setValue(this.h);\r\n this.form.controls['m'].setValue(this.m);\r\n\r\n this.form.valueChanges.subscribe(value => {\r\n this.h = value.h;\r\n this.m = value.m;\r\n value = this.getNewOrDefault();\r\n this.value = value;\r\n this.onChange(value);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n h: '',\r\n m: '',\r\n });\r\n }\r\n\r\n getNewOrDefault(){\r\n //reset if user deletes everything\r\n if(this.h === '' && this.m === ''){\r\n return ''; \r\n }\r\n const ret = this.h.padStart(2, '0') + ':' + this.m.padStart(2, '0');\r\n return ret;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouched: any = () => {};\r\n}\r\n","<form [formGroup]=\"form\" class=\"timeInput\">\r\n <input type=\"text\" formControlName=\"h\" [value]=\"h\" maxlength=\"2\" pattern=\"(0?[0-9]|1[0-9]|2[0-3])\"/>\r\n <span>:</span>\r\n <input type=\"text\" formControlName=\"m\" [value]=\"m\" maxlength=\"2\" pattern=\"(0?[0-9]|[1-5][0-9])\"/>\r\n</form>","import { Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\n\r\n@Component({\r\n selector: 'kms-yesno-radiogroup',\r\n templateUrl: './yes-no-radiogroup.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YesNoRadiogroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class YesNoRadiogroupComponent implements OnInit, ControlValueAccessor {\r\n \r\n @Input() header: NullAble<String>;\r\n @Input() disabled = false;\r\n @Input() textYes = '';\r\n @Input() textNo = '';\r\n public form!: FormGroup;\r\n \r\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\r\n\r\n public internalValue: NullAble<boolean>;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n get value(): NullAble<boolean> {\r\n return this.internalValue;\r\n }\r\n\r\n set value(value: NullAble<boolean>) {\r\n this.internalValue = value;\r\n if (value !== undefined && this.internalValue !== value) {\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n }\r\n\r\n writeValue(value: any) {\r\n this.internalValue = value;\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean) {\r\n if (this.child) {\r\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\r\n }\r\n }\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n yesno: [],\r\n });\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.yesno;\r\n this.onChange(value.yesno);\r\n });\r\n }\r\n}\r\n","<form [formGroup]=\"form\">\r\n <div>{{ header }}</div>\r\n <mat-radio-group [formControl]=\"form.controls['yesno']\" [disabled]=\"disabled\" #child>\r\n <mat-radio-button [value]=\"true\" [checked]=\"internalValue === true\"> {{ textYes }}</mat-radio-button>\r\n <mat-radio-button [value]=\"false\" [checked]=\"internalValue === false\"> {{ textNo }}</mat-radio-button>\r\n </mat-radio-group>\r\n</form>\r\n","import { Component, Input, forwardRef, OnInit, ViewChild, Renderer2, EventEmitter, Output, ApplicationRef, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport {\r\n ControlValueAccessor,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//import { TranslateService } from '@ngx-translate/core';\r\nimport { IconSize } from '../../models/iconSize.enum';\r\nimport { AttachedFileDTO } from '../../models/types/attached-file-dto.model';\r\nimport { isValue } from '../../models/is-value.function';\r\n\r\n// Max size in bytes of uploaded image\r\nconst MAX_SIZE_BYTES = 2097152;\r\n\r\n@Component({\r\n selector: 'kms-file-input',\r\n templateUrl: './file-input.component.html',\r\n styleUrls: ['./file-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => FileInputComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => FileInputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\n\r\nexport class FileInputComponent implements ControlValueAccessor, OnInit {\r\n \r\n @ViewChild('fileInput') public fileInput: any;\r\n\r\n @Input() label = '';\r\n \r\n @Input() previewImage = true; \r\n @Input() allowRemove = true; \r\n @Input() previewImageText = ''; \r\n @Input() maxSizeBytes = MAX_SIZE_BYTES; \r\n @Input() resizePixels = 0; \r\n @Input() acceptedFileMimetypes = 'image/jpeg, image/jpg, image/png'; \r\n\r\n form= this.formBuilder.group({\r\n ImageIdent: new FormControl(''),\r\n ImageLink: new FormControl(''),\r\n Filename: new FormControl(''),\r\n ImageAsDataURL: new FormControl(''),\r\n Text: new FormControl(''),\r\n });\r\n\r\n subscriptions: Subscription[] = [];\r\n newImageLoading = false\r\n\r\n IconSize = IconSize;\r\n\r\n @Output() formDataChanged: EventEmitter<FormGroup> = new EventEmitter();\r\n\r\n /**\r\n * Constructor\r\n * @param formBuilder \r\n * @param appRef \r\n * @param cd \r\n * @param translateService \r\n * @param renderer \r\n */\r\n constructor(\r\n public formBuilder: FormBuilder, \r\n public appRef: ApplicationRef,\r\n public cd: ChangeDetectorRef,\r\n //private translateService: TranslateService,\r\n public renderer: Renderer2\r\n ) {\r\n \r\n }\r\n\r\n /**\r\n * Click on button triggers file-input to open OS file dialog\r\n */\r\n selectImageOverlay() {\r\n this.fileInput.nativeElement.click();\r\n }\r\n\r\n /**\r\n * Function to manage the input image\r\n * Returns an error if the file exceeds maximum wanted filesize (Mb). \r\n * @param ev\r\n * @returns\r\n */\r\n selectImage(ev: any) {\r\n if (ev.target.files && ev.target.files[0]) {\r\n const file:File = ev.target.files[0];\r\n\r\n if (file.size > this.maxSizeBytes) {\r\n this.clearInputValue(ev);\r\n //alert(this.translateService.instant('errors.fileTooBig'));\r\n return;\r\n } else {\r\n this.newImageLoading = true;\r\n\r\n if(this.resizePixels > 0){\r\n const logoUrl = URL.createObjectURL(file);\r\n const imgEl = document.createElement('img');\r\n imgEl.addEventListener('load', () => {\r\n const resizedLogo = this.resizeImage(imgEl, this.resizePixels);\r\n const newFile = this.generateModel(file.name, resizedLogo, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\r\n this.value=newFile;\r\n this.newImageLoading = false;\r\n this.cd.markForCheck();\r\n });\r\n imgEl.src = logoUrl;\r\n }else{\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = (e: any) => {\r\n const newFile = this.generateModel(file.name, e.target.result, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\r\n this.value=newFile;\r\n this.newImageLoading = false;\r\n this.cd.markForCheck();\r\n };\r\n }\r\n \r\n }\r\n }else{\r\n console.warn(\"No file selected\");\r\n }\r\n }\r\n\r\n /**\r\n * Resize an image\r\n * @param imgEl\r\n * @param wantedWidth as number\r\n * @returns string \r\n */\r\n private resizeImage(imgEl: any, wantedWidth: number) {\r\n const canvas = document.createElement('canvas');\r\n const ctx = canvas.getContext('2d');\r\n const aspect = imgEl.width / imgEl.height;\r\n canvas.width = wantedWidth;\r\n canvas.height = wantedWidth / aspect;\r\n if (isValue(ctx)) ctx.drawImage(imgEl, 0, 0, canvas.width, canvas.height);\r\n return canvas.toDataURL();\r\n }\r\n\r\n /**\r\n * Generate default object\r\n * @param name as string\r\n * @param content as string\r\n * @returns AttachedFileDTO\r\n */\r\n generateModel(name?: string, content?: string, ident?: string, imageLink?: string, text?: string){\r\n return {\r\n ImageIdent: ident ? ident : '',\r\n Filename: name ? name : '',\r\n ImageAsDataURL: content ? content : '',\r\n ImageLink: imageLink ? imageLink : '',\r\n Text: text ? text : ''\r\n } as AttachedFileDTO;\r\n }\r\n\r\n /**\r\n * Remove image \r\n */\r\n removeFromList(){\r\n this.value= this.generateModel('','', '', '');\r\n }\r\n\r\n /**\r\n * get value\r\n */\r\n get value(): AttachedFileDTO {\r\n return this.form.value;\r\n }\r\n\r\n /**\r\n * set value\r\n */\r\n set value(value: AttachedFileDTO) {\r\n this.form.setValue(value);\r\n this.onChange(value);\r\n this.formDataChanged.emit(this.form);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ngOnInit() {}\r\n\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(s => s.unsubscribe());\r\n } \r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouch = fn;\r\n }\r\n\r\n writeValue(value: AttachedFileDTO | null) {\r\n if (value) {\r\n this.value = value;\r\n }\r\n\r\n if (value === null) {\r\n this.form.reset();\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\r\n validate(_: FormControl) {\r\n return this.form.valid ? null : { styles: { valid: false } };\r\n }\r\n\r\n /**\r\n * OnClick event listener of input#fileInput to clear his input value\r\n */\r\n clearInputValue(ev: any) {\r\n const element = ev.target as HTMLInputElement;\r\n element.value = '';\r\n }\r\n}\r\n","<form [formGroup]=\"form\" (change)=\"newImageLoading=true\" class=\"fileInput\"> \r\n\r\n <div *ngIf=\"form.value.Filename && previewImage\">\r\n <div *ngIf=\"newImageLoading\">\r\n {{ 'file-input.loading' | translate }}\r\n </div>\r\n <div *ngIf=\"!newImageLoading\">\r\n <div class=\"\">\r\n <div class=\"\">\r\n <img *ngIf=\"form.value.ImageLink && form.value.ImageLink !== '' && !(form.value.ImageAsDataURL && form.value.ImageAsDataURL !== '')\" [src]=\"form.value.ImageAsDataURL\" [src]=\"form.value.ImageLink\" style=\"height: 40px; width: fit-content;\" />\r\n <img *ngIf=\"form.value.ImageAsDataURL && form.value.ImageAsDataURL !== ''\" [src]=\"form.value.ImageAsDataURL\" style=\"height: 40px; width: fit-content;\" />\r\n </div>\r\n <div class=\"\">{{form.value.Filename}}</div>\r\n <div class=\"\">\r\n <div (click)=\"removeFromList()\" *ngIf=\"allowRemove\">\r\n <kms-icon icon=\"trash\" [iconSize]=\"IconSize.TINY\" iconClass=\"color-black\"></kms-icon> \r\n {{ 'file-input.remove' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!previewImage\">\r\n <div class=\"\">{{form.value.Filename}}</div>\r\n </div>\r\n\r\n <button (click)=\"selectImageOverlay()\" class=\"button-primary-font-color\" mat-stroked-button>\r\n <span>{{ label }}</span>\r\n </button>\r\n <input\r\n type=\"file\"\r\n [accept]=\"acceptedFileMimetypes\"\r\n style=\"display: none\"\r\n #fileInput\r\n (click)=\"clearInputValue($event)\"\r\n (change)=\"selectImage($event)\"\r\n />\r\n\r\n <input type=\"hidden\" [formControl]=\"form.controls['ImageIdent']\" />\r\n <input type=\"hidden\" [formControl]=\"form.controls['ImageLink']\" />\r\n <input type=\"hidden\" [formControl]=\"form.controls['Filename']\" />\r\n <input type=\"hidden\" [formControl]=\"form.controls['ImageAsDataURL']\" />\r\n <input type=\"hidden\" [formControl]=\"form.controls['Text']\" />\r\n\r\n</form>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kms-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input() loading=false;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n constructor() {}\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ngOnInit() {}\r\n}\r\n","<div class=\"loading-spinner-shade\" *ngIf=\"loading\">\r\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\r\n</div>\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\n// ng\r\nimport { AfterContentChecked, Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n/**\r\n * Directive to calc the height of all inner elements\r\n */\r\n@Directive({\r\n \r\n selector: '[getMaxHeight]',\r\n})\r\nexport class GetMaxHeightDirective implements AfterContentChecked {\r\n /**\r\n * CSS class name of the child items (markup elements) that should be checked for their height.\r\n * This is mandatory.\r\n */\r\n @Input('getMaxHeight') cssClassName = '';\r\n\r\n /**\r\n * Event that will pass the height of the tallest child inside the container.\r\n * Useful to calculate the target height of containers with different content (like accordion) for animations.\r\n */\r\n @Output() public maxHeightChanged: EventEmitter<number> = new EventEmitter();\r\n\r\n /**\r\n * Event that will pass the complete sum of all height values from each child.\r\n * Useful to calculate the full target height of a container (like dropdown) for animations.\r\n */\r\n @Output() public sumOfHeight: EventEmitter<number> = new EventEmitter();\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngAfterContentChecked(): void {\r\n this.checkHeightOfChildren(this.el.nativeElement, this.cssClassName);\r\n }\r\n\r\n private checkHeightOfChildren(parent: HTMLElement, cssClassName: string) {\r\n if (!parent) {\r\n return;\r\n }\r\n\r\n // find all the child elements with the selected class name\r\n const children = parent.getElementsByClassName(cssClassName);\r\n\r\n // failsafe\r\n if (!children) {\r\n return;\r\n }\r\n\r\n // get all the child elements heights\r\n const itemHeights = Array.from(children).map((x) => x.getBoundingClientRect().height);\r\n\r\n // failsafe\r\n if (itemHeights.length === 0) {\r\n return;\r\n }\r\n\r\n // find out the tallest element\r\n const maxHeight = itemHeights.reduce((prev, curr) => {\r\n return curr > prev ? curr : prev;\r\n }, 0);\r\n\r\n // get sum of heights\r\n const sumOfHeight = itemHeights.reduce((pv, cv) => pv + cv, 0);\r\n\r\n // inform\r\n this.maxHeightChanged.emit(maxHeight);\r\n this.sumOfHeight.emit(sumOfHeight);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { state, style, trigger } from '@angular/animations';\r\nimport {\r\n Component,\r\n ElementRef,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n \r\n selector: 'kms-flyout',\r\n templateUrl: './flyout.component.html',\r\n styleUrls: ['./flyout.component.scss'],\r\n animations: [\r\n trigger('dropdownAnimation', [\r\n state(\r\n 'true',\r\n style({\r\n height: '{{targetHeight}}',\r\n transition: 'height {{animationTime}}ms ease-in-out',\r\n }),\r\n {\r\n params: {\r\n targetHeight: '300px',\r\n animationTime: 3000,\r\n },\r\n },\r\n ),\r\n state(\r\n 'false',\r\n style({\r\n height: 0,\r\n transition: 'height {{animationTime}}ms ease-in-out',\r\n }),\r\n {\r\n params: {\r\n targetHeight: '300px',\r\n opacity: 0,\r\n animationTime: 3000,\r\n },\r\n },\r\n ),\r\n ]),\r\n ],\r\n})\r\nexport class FlyoutComponent {\r\n\r\n @Input() icon = 'filter';\r\n\r\n isDropdownOpened = false;\r\n targetHeight = '0';\r\n animationTime = 5000;\r\n\r\n @Input() headerCssClass = '';\r\n @Input() bodyCssClass = '';\r\n\r\n @Input() headerTitle = '';\r\n @Input() headerText = '';\r\n @Input() hasButtonForMore = false;\r\n @Input() moreText = '';\r\n @Input() lessText = '';\r\n\r\n \r\n @ViewChild('content') content: ElementRef | undefined;\r\n \r\n @ViewChild('flyoutHeader') flyoutHeader: ElementRef | undefined;\r\n\r\n /**\r\n * Open/close dropdown if click on header.\r\n * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close\r\n */\r\n toggleDropdownHeader() {\r\n if (!this.hasButtonForMore) {\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n /**\r\n * Open or close the dropdown\r\n */\r\n toggleDropdown() {\r\n this.isDropdownOpened = !this.isDropdownOpened;\r\n }\r\n\r\n /**\r\n * Set the height of the dropdown list items dynamic - needed for the animation\r\n */\r\n setDropdownListHeight(contentHeight: number) {\r\n this.targetHeight = `${contentHeight}px`;\r\n }\r\n}\r\n","<div class=\"flyout\"\r\n [ngClass]=\"{'is-active': isDropdownOpened}\"\r\n>\r\n <div class=\"flyout-header\" (click)=\"toggleDropdownHeader()\" [ngClass]=\"headerCssClass\">\r\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\r\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\r\n\r\n <ng-content select=\"[header]\"></ng-content>\r\n\r\n <div *ngIf=\"hasButtonForMore\" (click)=\"toggleDropdown()\" class=\"flyout-header-more\">\r\n <span *ngIf=\"!isDropdownOpened\">\r\n {{ moreText }}\r\n </span>\r\n <span *ngIf=\"isDropdownOpened\">\r\n {{ lessText }}\r\n </span>\r\n <kms-icon [icon]=\"'chevron-down'\"\r\n [iconClass]=\"{'size-16': true, 'is-rotating180': isDropdownOpened}\" >\r\n </kms-icon>\r\n </div>\r\n </div>\r\n <div \r\n class=\"flyout-body\"\r\n [ngClass]=\"bodyCssClass\"\r\n tabindex=\"0\"\r\n [@dropdownAnimation]=\"{value: isDropdownOpened, params: {targetHeight: targetHeight, animationTime: '500'}}\"\r\n getMaxHeight=\"inner\"\r\n (sumOfHeight)=\"setDropdownListHeight($event)\"\r\n #flyoutHeader>\r\n <div class=\"inner\" #content>\r\n <ng-content ></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsIntegerCurrency',\r\n})\r\nexport class IntegerCurrency implements PipeTransform {\r\n constructor(private cp: CurrencyPipe) {}\r\n transform(value: any, currencyCode?: string, display?: boolean, digitsInfo?: string): string | null {\r\n const currencyPipeValue = this.cp.transform(value, currencyCode, display, digitsInfo)\r\n if (currencyPipeValue) {\r\n const convertedValue = currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1)\r\n return convertedValue\r\n } else {\r\n throw new Error(\"No value provided\");\r\n }\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsDecodeUri',\r\n})\r\nexport class DecodeUriPipe implements PipeTransform {\r\n\r\n transform(value: any, _args?: any): any {\r\n return decodeURI(value);\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsEncodeUri',\r\n})\r\nexport class EncodeUriPipe implements PipeTransform {\r\n transform(value: any, _args?: any): any {\r\n return encodeURI(value);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeStyle',\r\n})\r\nexport class SafeStylePipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(style: string): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustStyle(style);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeSUrl',\r\n})\r\nexport class SafeUrlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(url: string): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'kmsSafeResourceSUrl',\r\n})\r\nexport class SafeResourceUrlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(url: string): SafeResourceUrl {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsTypeOf',\r\n})\r\nexport class TypeofPipe implements PipeTransform {\r\n transform(value: any): any {\r\n return typeof value;\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'kmsTrim' })\r\nexport class TrimPipe implements PipeTransform {\r\n transform(value: any) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n return value.trim();\r\n }\r\n}","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'kmsToNumber',\r\n pure: false\r\n \r\n})\r\nexport class ToNumberPipe implements PipeTransform {\r\n transform(items: any): any {\r\n if (!items) {\r\n return 0;\r\n }\r\n return parseInt(items, 10);\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\n import { CommonModule, CurrencyPipe } from '@angular/common';\r\n import { NgModule } from '@angular/core';\r\n \r\n import { IntegerCurrency } from './integer-currency.pipe';\r\n import { DecodeUriPipe } from './decode-uri.pipe';\r\n import { EncodeUriPipe } from './encode-uri.pipe';\r\n import { SafeHtmlPipe } from './safe-html.pipe';\r\n import { SafeStylePipe } from './safe-style.pipe';\r\n import { SafeUrlPipe } from './safe-url.pipe';\r\n import { SafeResourceUrlPipe } from './safe-resource-url.pipe';\r\n import { TypeofPipe } from './typeof.pipe';\r\n import { TrimPipe } from './trim.pipe';\r\n import { ToNumberPipe } from './to-number.pipe';\r\n \r\n @NgModule({\r\n declarations: [\r\n IntegerCurrency,\r\n SafeHtmlPipe,\r\n SafeStylePipe,\r\n SafeResourceUrlPipe,\r\n SafeUrlPipe,\r\n EncodeUriPipe,\r\n DecodeUriPipe,\r\n TypeofPipe,\r\n TrimPipe,\r\n ToNumberPipe,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n IntegerCurrency,\r\n SafeHtmlPipe,\r\n SafeStylePipe,\r\n SafeResourceUrlPipe,\r\n SafeUrlPipe,\r\n EncodeUriPipe,\r\n DecodeUriPipe,\r\n TypeofPipe,\r\n TrimPipe,\r\n ToNumberPipe,\r\n ],\r\n providers: [CurrencyPipe],\r\n })\r\n export class CustomPipesModule {}\r\n ","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\n\r\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-enum-radiogroup',\r\n templateUrl: './enum-radiogroup.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EnumRadiogroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EnumRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n @Input() header: NullAble<String>;\r\n @Input() optionsEnum: any;\r\n @Input() translationPrefix = '';\r\n\r\n public optionValues: any;\r\n \r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit(){\r\n this.optionValues = Object.keys(this.optionsEnum).filter(x => !(parseInt(x) >= 0));\r\n this.form = this.formBuilder.group({\r\n enumData: [],\r\n });\r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.enumData;\r\n this.onChange(value.enumData);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n}\r\n","<form [formGroup]=\"form\">\r\n <div>{{ header }}</div>\r\n <mat-radio-group [formControl]=\"form.controls['enumData']\" [disabled]=\"disabled\" #child>\r\n <mat-radio-button [value]=\"choice\" [checked]=\"value === choice\" *ngFor=\"let choice of optionValues\">{{ translationPrefix + '.' + choice | translate }}</mat-radio-button>\r\n </mat-radio-group>\r\n</form>","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n/**\r\n * A generic dialog component\r\n */\r\n@Component({\r\n selector: 'kms-accordion-item',\r\n templateUrl: './kms-accordion-item.component.html',\r\n styleUrls: ['./kms-accordion-item.component.scss'],\r\n})\r\nexport class KMSAccordionItemComponent implements OnInit {\r\n @Input() public itemTitle = '';\r\n\r\n public itemTitleTrustHtml: SafeHtml | undefined;\r\n @Input() public showAsCard = false;\r\n @Input() public isSmall = false;\r\n @Input() public expanded = false;\r\n panelOpenState = false;\r\n\r\n constructor(public sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(\r\n this.itemTitle\r\n );\r\n }\r\n}\r\n","<mat-expansion-panel\r\n class=\"accordion-item\"\r\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\r\n (opened)=\"panelOpenState = true\"\r\n (closed)=\"panelOpenState = false\"\r\n [expanded] = \"expanded\"\r\n hideToggle=\"true\">\r\n <mat-expansion-panel-header class=\"accordion-item-header\">\r\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\r\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\r\n <ng-content select=\"[itemTitleElement]\"></ng-content>\r\n </mat-panel-title>\r\n <div class=\"accordion-item-header-icon-wrapper\">\r\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\r\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\r\n\r\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\r\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-content></ng-content>\r\n</mat-expansion-panel>\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { Inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { NullAble } from '../models';\r\n\r\n// needed for scrollToElement functionality\r\n\r\ndeclare const window: any;\r\n\r\ndeclare const document: any;\r\n\r\n/**\r\n * Service to get viewport\r\n */\r\n@Injectable()\r\nexport class ViewportService implements OnDestroy {\r\n public readonly viewports = [\r\n {\r\n name: 'xs',\r\n low: 420,\r\n high: 990,\r\n },\r\n {\r\n name: 's',\r\n low: 991,\r\n high: 1024,\r\n },\r\n {\r\n name: 'm',\r\n low: 1025,\r\n high: 1200,\r\n },\r\n {\r\n name: 'l',\r\n low: 12001,\r\n high: 1400,\r\n },\r\n {\r\n name: 'xl',\r\n low: 1401,\r\n high: 1600,\r\n },\r\n {\r\n name: 'xxl',\r\n low: 1601,\r\n high: 1920,\r\n },\r\n {\r\n name: 'xxxl',\r\n low: 1921,\r\n high: 99999,\r\n },\r\n ];\r\n\r\n private viewportChangedSubscriber: Subject<string> = new Subject<string>();\r\n private viewportResizedSubscriber: Subject<number> = new Subject<number>();\r\n private currentViewport!: string;\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n window.addEventListener('resize', this.documentSizeChanged.bind(this), { passive: true });\r\n }\r\n }\r\n\r\n /**\r\n * Get window height\r\n */\r\n public getDocumentHeight(): number {\r\n return isPlatformBrowser(this.platformId) ? document.body.clientHeight : 1200;\r\n }\r\n\r\n /**\r\n * Get window width\r\n */\r\n public getDocumentWidth(): number {\r\n return isPlatformBrowser(this.platformId) ? document.body.clientWidth : 1200;\r\n }\r\n\r\n /**\r\n * Get window height\r\n */\r\n public getWindowHeight(): number {\r\n return isPlatformBrowser(this.platformId) ? window.innerHeight : 1200;\r\n }\r\n\r\n /**\r\n * Get window width\r\n */\r\n public getWindowWidth(): number {\r\n return isPlatformBrowser(this.platformId) ? window.innerWidth : 1200;\r\n }\r\n\r\n /**\r\n * Returns the current viewport MQ as string\r\n * @returns string\r\n */\r\n getCurrentViewPort(): string {\r\n if (!this.currentViewport) {\r\n const currentWidth: number = isPlatformBrowser(this.platformId) ? document.body.clientWidth : 1200;\r\n this.currentViewport = this.convertWidthToMediaQuery(currentWidth);\r\n }\r\n\r\n return this.currentViewport;\r\n }\r\n\r\n /**\r\n * Provides mq´s as string\r\n */\r\n public getViewportChangedObserver(): Observable<string> {\r\n return this.viewportChangedSubscriber.asObservable();\r\n }\r\n\r\n /**\r\n * Provides the current window width as number\r\n */\r\n public getViewportResizedObserver(): Observable<number> {\r\n return this.viewportResizedSubscriber.asObservable();\r\n }\r\n\r\n public scrollToElementId(el: string, alignCenter = false) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.scrollToElement(document.querySelector('#' + el), alignCenter);\r\n }\r\n }\r\n\r\n /**\r\n * Helper function that scrolls to the given markup element.\r\n * @param el - nativeElement from markup\r\n * @param alignCenter - defines if the element needs to be centered on window\r\n */\r\n\r\n public scrollToElement(el: HTMLElement, alignCenter = false) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n let extraScrollTop = 0;\r\n\r\n if (alignCenter) {\r\n extraScrollTop = (window.innerHeight - el.clientHeight) / 2;\r\n }\r\n\r\n /*\r\n const elementPos: DOMRect = el.getBoundingClientRect();\r\n const scrollTopPosition = elementPos.x - extraScrollTop;\r\n */\r\n\r\n //let offsetLeft = 0;\r\n let offsetTop = 0;\r\n\r\n let elTemp: NullAble<HTMLElement> = el;\r\n\r\n while (elTemp) {\r\n //offsetLeft += elTemp.offsetLeft;\r\n offsetTop += elTemp.offsetTop;\r\n elTemp = elTemp.parentElement ? elTemp.parentElement : null;\r\n }\r\n\r\n window.scrollTo({ left: 0, top: offsetTop - extraScrollTop, behavior: 'smooth' });\r\n }\r\n }\r\n\r\n /**\r\n * Scroll to the top position\r\n * @param top - top position value\r\n */\r\n public scrollTop(top: number) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n window.scrollTo({ left: 0, top: top, behavior: 'smooth' });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n window.removeEventListener('resize', this.documentSizeChanged);\r\n }\r\n }\r\n\r\n /**\r\n * If viewport changed\r\n * @event\r\n */\r\n\r\n private documentSizeChanged(event: any) {\r\n const currentWindowWidth: number = event.target.innerWidth;\r\n // inform who´s interested\r\n this.viewportResizedSubscriber.next(currentWindowWidth);\r\n\r\n if (currentWindowWidth > 0) {\r\n for (const mqs of this.viewports) {\r\n if (currentWindowWidth > mqs.high) {\r\n continue;\r\n } else if (\r\n (currentWindowWidth >= mqs.low || currentWindowWidth <= mqs.high) &&\r\n this.currentViewport !== mqs.name\r\n ) {\r\n this.currentViewport = mqs.name;\r\n // inform who´s interested\r\n this.viewportChangedSubscriber.next(mqs.name);\r\n break;\r\n } else if (this.currentViewport === mqs.name) {\r\n break;\r\n } else {\r\n console.error('ERROR');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the Media Query for the given width\r\n * @param width Width to get the according MQ for\r\n */\r\n private convertWidthToMediaQuery(width: number) {\r\n let currentViewport = '';\r\n\r\n for (const mqs of this.viewports) {\r\n if (width <= mqs.high && width >= mqs.low) {\r\n currentViewport = mqs.name;\r\n break;\r\n }\r\n }\r\n\r\n return currentViewport;\r\n }\r\n\r\n isPortrait() {\r\n if (isPlatformBrowser(this.platformId)) return window.innerHeight > window.innerWidth;\r\n else return;\r\n }\r\n\r\n isLandscape() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const isLandscape = window.orientation === 90 || window.orientation === -90;\r\n return isLandscape;\r\n } else {\r\n return;\r\n }\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Address } from '../../models/address.model';\r\nimport { ViewportService } from '../../services/viewport.service';\r\n\r\n/**\r\n * MarkerOptions class for Marker\r\n */\r\nexport class MarkerOptions {\r\n animation!: number;\r\n}\r\n\r\n/**\r\n * MarkerLabel class for Marker\r\n */\r\nexport class MarkerLabel {\r\n color!: string;\r\n text!: string;\r\n}\r\n\r\n/**\r\n * Marker class\r\n */\r\nexport class Marker {\r\n position!: google.maps.LatLngLiteral;\r\n label!: MarkerLabel;\r\n title!: string;\r\n options!: MarkerOptions;\r\n}\r\n\r\n/**\r\n * Component to show marker on google map for specific address\r\n */\r\n@Component({\r\n selector: 'kms-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.scss']\r\n})\r\nexport class MapComponent implements OnInit {\r\n\r\n @Input() data!: Address;\r\n\r\n public markers: Marker[] = [];\r\n public geoDataFoundForAddress = false;\r\n public widthSet = false;\r\n\r\n public width = '100%';\r\n public zoom = 15;\r\n public center: google.maps.LatLngLiteral = {\r\n \r\n lat: 52.097449,\r\n lng: 12.7436911,\r\n };\r\n\r\n public options: google.maps.MapOptions = {\r\n mapTypeId: 'roadmap',\r\n zoomControl: false,\r\n scrollwheel: false,\r\n disableDoubleClickZoom: true,\r\n maxZoom: 15,\r\n minZoom: 8,\r\n };\r\n\r\n \r\n public google: any;\r\n\r\n public geocoder: any;\r\n\r\n public viewportSubscription?: Subscription;\r\n\r\n //\r\n constructor(private viewPortService: ViewportService) { }\r\n\r\n ngOnInit() {\r\n this.findLocation(this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City);\r\n\r\n\r\n }\r\n\r\n /**\r\n * Asks google for geocoordinates of a given address string\r\n * @input address as string\r\n */\r\n findLocation(address: string) {\r\n if (!this.geocoder) { this.geocoder = new google.maps.Geocoder(); }\r\n this.geocoder.geocode({\r\n 'address': address,\r\n \r\n }, (results: any, status: google.maps.GeocoderStatus) => {\r\n if (status === google.maps.GeocoderStatus.OK) {\r\n\r\n this.center.lat = results[0].geometry.location.lat();\r\n this.center.lng = results[0].geometry.location.lng();\r\n\r\n this.addMarker();\r\n this.geoDataFoundForAddress = true;\r\n\r\n // react to browser resize\r\n this.setMapWidth(this.viewPortService.getDocumentWidth());\r\n this.viewportSubscription = this.viewPortService.getViewportResizedObserver().subscribe(\r\n (val) => {\r\n this.setMapWidth(val);\r\n },\r\n (error) => {\r\n console.error('Get updated ViewPort failed', error);\r\n },\r\n );\r\n\r\n } else {\r\n console.error('Sorry, this search of map address produced no results.');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Adds a marker to the map\r\n */\r\n addMarker() {\r\n this.markers.push({\r\n position: {\r\n lat: this.center.lat,\r\n lng: this.center.lng,\r\n },\r\n label: {\r\n color: 'blue',\r\n \r\n text: this.data.Name1 || '',\r\n },\r\n title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,\r\n options: { animation: google.maps.Animation.DROP },\r\n });\r\n }\r\n\r\n /**\r\n * sets the width of map accodring to viewport\r\n */\r\n setMapWidth(val: number) {\r\n if (val < 991) {\r\n this.width = (val - 84) + 'px';\r\n }else{\r\n this.width = '100%';\r\n }\r\n this.widthSet = true;\r\n }\r\n\r\n /**\r\n * Zooms in into map\r\n */\r\n zoomIn() {\r\n if (this.options.maxZoom && this.zoom < this.options.maxZoom) { this.zoom++; }\r\n }\r\n\r\n /**\r\n * Zooms out from map\r\n */\r\n zoomOut() {\r\n if (this.options.minZoom && this.zoom > this.options.minZoom) { this.zoom--; }\r\n }\r\n}\r\n","<div *ngIf=\"geoDataFoundForAddress && widthSet\">\r\n <google-map\r\n height=\"415px\"\r\n [width]=\"width\"\r\n [zoom]=\"zoom\"\r\n [center]=\"center\"\r\n [options]=\"options\"\r\n >\r\n <map-marker\r\n *ngFor=\"let marker of markers\"\r\n [position]=\"marker.position\"\r\n [label]=\"marker.label\"\r\n [title]=\"marker.title\"\r\n [options]=\"marker.options\"\r\n >\r\n </map-marker>\r\n </google-map>\r\n</div>","// TODO change values after cleaned up database\r\nexport enum SalutationEnum {\r\n NOT_SPECIFIED = 'Keine Anrede',\r\n MALE = 'Herr',\r\n FEMALE = 'Frau',\r\n}\r\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NullAble } from '../../models';\r\nimport { SalutationEnum } from '../../models/salutation.enum';\r\n\r\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-salutation-dropdown',\r\n templateUrl: './salutation-dropdown.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SalutationDropdownComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SalutationDropdownComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n @Input() placeholder: NullAble<String>;\r\n\r\n //For view\r\n SalutationEnum = SalutationEnum;\r\n Object = Object;\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n salut: [],\r\n });\r\n this.formInitialized = true;\r\n \r\n //somehow for dropowns we have to set value manually with timeout for default value\r\n setTimeout(() => {\r\n this.form.controls['salut'].setValue(this.value ? this.value : '');\r\n }, 1000);\r\n\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.onChange(value.salut);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n}\r\n","<form [formGroup]=\"form\" class=\"row\">\r\n <mat-form-field class=\"col\">\r\n <mat-select disableOptionCentering [formControl]=\"form.controls['salut']\" [placeholder]=\"placeholder\" [value]=\"value\" #child>\r\n <mat-option [value]=\"SalutationEnum.NOT_SPECIFIED\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}</mat-option>\r\n <mat-option [value]=\"SalutationEnum.MALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}</mat-option>\r\n <mat-option [value]=\"SalutationEnum.FEMALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kms-tooltip-element',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss']\r\n})\r\nexport class TooltipComponent {\r\n @Input() tooltipTitle = \"\";\r\n}\r\n","<ng-content></ng-content>","import { Component, forwardRef, OnInit, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { isValue } from '../../models';\r\nimport { SalutationEnum } from '../../models/salutation.enum';\r\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\r\n\r\n@Component({\r\n selector: 'kms-salutation-radiogroup',\r\n templateUrl: './salutation-radiogroup.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SalutationRadiogroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SalutationRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\r\n \r\n //For view\r\n SalutationEnum = SalutationEnum;\r\n Object = Object;\r\n\r\n constructor(public formBuilder: FormBuilder, public renderer: Renderer2) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n salut: [isValue(this.value) ? this.value : '', null],\r\n });\r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe((value) => {\r\n this.internalValue = value.salut;\r\n this.onChange(value.salut);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n}\r\n","<form [formGroup]=\"form\" >\r\n <mat-radio-group [formControl]=\"form.controls['salut']\" [disabled]=\"disabled\" #radioGroup>\r\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.NOT_SPECIFIED\" [checked]=\"value === SalutationEnum.NOT_SPECIFIED\">\r\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.MALE\" [checked]=\"value === SalutationEnum.MALE\">\r\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.FEMALE\" [checked]=\"value === SalutationEnum.FEMALE\">\r\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n</form>","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Component, HostListener, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'kms-back-to-top',\r\n templateUrl: './back-to-top.component.html',\r\n})\r\nexport class BackToTopComponent {\r\n windowScrolled?: boolean;\r\n\r\n constructor(@Inject(PLATFORM_ID) public platformId: Object) {}\r\n\r\n @HostListener('window:scroll', [])\r\n onWindowScroll() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop > 100) {\r\n this.windowScrolled = true;\r\n } else if (\r\n (this.windowScrolled && window.pageYOffset) ||\r\n document.documentElement.scrollTop ||\r\n document.body.scrollTop < 10\r\n ) {\r\n this.windowScrolled = false;\r\n }\r\n }\r\n }\r\n\r\n scrollToTop() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n (function smoothscroll() {\r\n const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\r\n if (currentScroll > 0) {\r\n window.requestAnimationFrame(smoothscroll);\r\n window.scrollTo(0, currentScroll - currentScroll / 8);\r\n }\r\n })();\r\n }\r\n }\r\n}\r\n","<div class=\"scrollToTop\"\r\n [ngClass]=\"{'show': windowScrolled}\"\r\n (click)=\"scrollToTop()\">\r\n <div class=\"scrollToTop-inner\">\r\n <kms-icon icon=\"floating_button_clear\" iconClass=\"color-white\"></kms-icon>\r\n </div>\r\n</div>","export enum ButtonResponseType{\r\n primary = 'primary',\r\n secondary = 'secondary'\r\n}","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { Component, Inject, NgZone } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { isValue } from '../../models';\r\nimport { ButtonResponseType } from '../button-with-confirm-dialog/button-response-types.enum';\r\nimport { DialogData, DialogDataButtons } from '../button-with-confirm-dialog/dialog-data.model';\r\n\r\n/**\r\n * A generic dialog component\r\n */\r\n@Component({\r\n selector: 'kms-generic-dialog',\r\n templateUrl: './generic-dialog.component.html',\r\n styleUrls: ['./generic-dialog.component.scss'],\r\n})\r\nexport class GenericDialogComponent {\r\n\r\n ButtonResponseType = ButtonResponseType;\r\n\r\n public buttons: DialogDataButtons\r\n\r\n public constructor(\r\n public dialogRef: MatDialogRef<GenericDialogComponent>,\r\n public zone: NgZone,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData\r\n ) {\r\n if (isValue(data.buttons)) {\r\n this.buttons = data.buttons;\r\n } else {\r\n this.buttons = { primary: 'Yes', secondary: 'No' } as DialogDataButtons;\r\n }\r\n }\r\n\r\n /**\r\n * Action called when clicked\r\n * @param clickedButton Whether the primary or secondary button was clicked\r\n */\r\n public onClickAction(clickedButton: ButtonResponseType): void {\r\n this.zone.run(() => {\r\n this.dialogRef.close(clickedButton);\r\n this.dialogRef.afterClosed().subscribe(() => {\r\n const buttonList = document.querySelectorAll('.mat-flat-button, .mat-button');\r\n let i = 0;\r\n for (i; i < buttonList.length; i++) {\r\n buttonList[i].classList.remove('cdk-focused');\r\n buttonList[i].classList.remove('cdk-program-focused');\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","<div mat-dialog-title class=\"mat-dialog-title\">\r\n <h3>{{ data.title }}</h3>\r\n</div>\r\n<div mat-dialog-content class=\"mat-dialog-content\">\r\n {{ data.message }}\r\n</div>\r\n<div mat-dialog-actions class=\"custom-dialog-actions\">\r\n <button\r\n mat-flat-button\r\n class=\"test_secondary_button\"\r\n color=\"accent\"\r\n (click)=\"onClickAction(ButtonResponseType.secondary)\"\r\n >\r\n {{ buttons.secondary }}\r\n </button>\r\n <button\r\n mat-flat-button\r\n class=\"test_primary_button\"\r\n color=\"primary\"\r\n (click)=\"onClickAction(ButtonResponseType.primary)\"\r\n >\r\n {{ buttons.primary }}\r\n </button>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SubSink } from 'subsink';\r\nimport { NullAble } from '../../models';\r\nimport { GenericDialogComponent } from '../generic-dialog/generic-dialog.component';\r\nimport { ButtonResponseType } from './button-response-types.enum';\r\nimport { DialogData } from './dialog-data.model';\r\n\r\n@Component({\r\n selector: 'kms-button-with-confirm-dialog',\r\n templateUrl: './button-with-confirm-dialog.component.html',\r\n styleUrls: ['./button-with-confirm-dialog.component.scss'],\r\n})\r\nexport class ButtonWithConfirmDialogComponent implements OnInit {\r\n @Input() disabled: NullAble<boolean>;\r\n @Input() buttonText: NullAble<string>;\r\n @Input() confirmTitle: NullAble<string>;\r\n @Input() confirmTextYes: NullAble<string>;\r\n @Input() confirmTextNo: NullAble<string>;\r\n\r\n // Outputs when dialogue was closed. Returns true, if yes was clicked, false otherwise\r\n @Output() onConfirmClosed: EventEmitter<boolean> = new EventEmitter();\r\n\r\n private subs = new SubSink();\r\n \r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n constructor(\r\n public dialog: MatDialog,\r\n ) {}\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n ngOnInit() {}\r\n\r\n start(){\r\n const data: DialogData = {\r\n title: this.confirmTitle,\r\n buttons:{\r\n primary: this.confirmTextYes,\r\n secondary: this.confirmTextNo,\r\n }\r\n };\r\n const dialogRef = this.dialog.open(GenericDialogComponent, {\r\n data: data,\r\n });\r\n\r\n this.subs.sink = dialogRef.afterClosed().subscribe(result => {\r\n if (result === ButtonResponseType.primary) {\r\n this.onConfirmClosed.emit(true);\r\n }else{\r\n this.onConfirmClosed.emit(false);\r\n }\r\n dialogRef.close();\r\n });\r\n }\r\n}\r\n","<button\r\n type=\"button\"\r\n (click)=\"start()\"\r\n mat-stroked-button\r\n [disabled]=\"disabled\"\r\n>\r\n {{ buttonText }}\r\n</button>\r\n","import { Component, forwardRef, Input, OnInit, OnChanges, SimpleChanges, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { EnumValues } from 'enum-values/src/enumValues';\r\n//import { EnumValues } from 'enum-values';\r\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\r\n\r\n/**\r\n * Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}\r\n */\r\n@Component({\r\n selector: 'kms-dropdown-from-data',\r\n templateUrl: './dropdown-from-data.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownFromDataComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class DropdownFromDataComponent extends FormControlParentComponent\r\n implements OnInit, ControlValueAccessor, OnChanges {\r\n // structured data as a enum set. Can be used in combination with 'optionsPlainArray' to set diferent values by index\r\n @Input() optionsEnum: any;\r\n\r\n // structured data as a simple array of elements\r\n @Input() optionsPlainArray: any;\r\n\r\n // structured data as an array of objects used in combination with the input 'mapKey' and 'mapValue'\r\n @Input() optionsObjArray: any;\r\n // key identifier of the obj. If mapValue doesnt exist, mapKey is also the value\r\n @Input() mapKey?: any;\r\n // value identifier of the obj\r\n @Input() mapValue?: any;\r\n\r\n // options for the dropdown have a null value at the beginning of the array\r\n @Input() hasNullOption = false;\r\n\r\n @Input() translation?: ITranslation;\r\n @Input() placeholder = '';\r\n @Input() label = '';\r\n @Input() required = false;\r\n @Input() useEnumIndexAsValue = false;\r\n\r\n public keys: any[] = [];\r\n public values: any[] = [];\r\n\r\n Object = Object;\r\n\r\n constructor(\r\n public formBuilder: FormBuilder,\r\n public renderer: Renderer2,\r\n ) {\r\n super(formBuilder, renderer);\r\n }\r\n\r\n /**\r\n * Hook used to sync changes on set Label and Type\r\n * @param changes\r\n */\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.optionsPlainArray) {\r\n this.keys = this.optionsPlainArray;\r\n this.values = this.optionsPlainArray;\r\n }\r\n this.setKeyValues();\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n dropdownData: [],\r\n });\r\n this.formInitialized = true;\r\n\r\n this.form.valueChanges.subscribe(value => {\r\n this.internalValue = value.dropdownData;\r\n this.onChange(value.dropdownData);\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n /**\r\n * transofrms the data values to the correct format for be used by the template\r\n * @param value\r\n */\r\n private setKeyValues(): void {\r\n if (this.optionsObjArray && this.mapKey && this.mapValue) {\r\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\r\n this.values = this.optionsObjArray.map((obj: any) => obj[`${this.mapValue}`]);\r\n } else if (this.optionsObjArray && this.mapKey) {\r\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\r\n this.values = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\r\n }\r\n if (this.optionsEnum) {\r\n this.keys = EnumValues.getNames(this.optionsEnum);\r\n if (this.optionsPlainArray) {\r\n this.values = this.optionsPlainArray;\r\n } else {\r\n const values = EnumValues.getValues(this.optionsEnum);\r\n\r\n // var who defines if enum is componed just with keys or keyValues. E.g enum KeyEnum { VALUE1, VALUE2 } or enum KeyValueEnum { VALUE4 = 'V4', VALUE5 = 'V5' }\r\n let keyValueEnum = false;\r\n\r\n for (let i = 0; i < this.keys.length; i++) {\r\n if (i !== values[i]) {\r\n keyValueEnum = true;\r\n }\r\n }\r\n if (keyValueEnum || this.useEnumIndexAsValue) {\r\n this.values = values;\r\n } else {\r\n this.values = EnumValues.getNames(this.optionsEnum);\r\n }\r\n }\r\n }\r\n if (this.hasNullOption === true) this.keys.unshift(null);\r\n if (this.hasNullOption === true) this.values.unshift(null);\r\n }\r\n\r\n /**\r\n * set the value of the dropdown based if translation is set\r\n * @param key \r\n */\r\n public setDisplayKey(key: any) {\r\n /*\r\n if (this.translation && key !== null) {\r\n if (this.translation.isPrefix) {\r\n return this.translationService.instant(this.translation.path + '.' + key);\r\n } else if (this.translation.useKey) {\r\n return this.translationService.instant(this.translation.path, { key: key });\r\n } else if (!this.translation?.useKey && !this.translation?.isPrefix) {\r\n return this.translationService.instant(this.translation.path);\r\n }\r\n } else if (key == null) {\r\n return '';\r\n } else if (!this.translation) {\r\n return key;\r\n }\r\n */\r\n return key;\r\n }\r\n\r\n valueChanged(value: any) {\r\n this.form.patchValue({\r\n dropdownData: value,\r\n });\r\n this.onSelectItemEmitter.emit(value);\r\n }\r\n}\r\n\r\n/**\r\n * Interface that defines the translation object in template\r\n */\r\ninterface ITranslation {\r\n path: string;\r\n useKey?: boolean;\r\n isPrefix?: boolean;\r\n}\r\n","<form [formGroup]=\"form\">\r\n <mat-form-field [attr.required]=\"required\" [floatLabel]=\"placeholder ? 'always' : 'auto'\">\r\n <mat-label>{{ label }}</mat-label>\r\n <mat-select\r\n placeholder=\"{{ placeholder }}\"\r\n disableOptionCentering\r\n [(value)]=\"value\"\r\n (selectionChange)=\"valueChanged($event?.value)\"\r\n #child\r\n [disabled]=\"disabled\"\r\n >\r\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\r\n <span>{{ setDisplayKey(key) }}</span>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</form>\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from './swipe.model';\r\n\r\n@Directive({\r\n selector: '[swipeDirective]',\r\n})\r\nexport class SwipeDirective {\r\n /**\r\n * Output Event that is emitted during swipe process (mouse move or touch move event).\r\n * Can be used for calculation purposes.\r\n */\r\n @Output() public moveEvent = new EventEmitter<SwipeMoveEvent>();\r\n\r\n /**\r\n * Output Event that is emitted when swipe process end (mouse up or touch end event).\r\n * Can be used for calculation purposes.\r\n */\r\n @Output() public releaseEvent = new EventEmitter<SwipeReleaseEvent>();\r\n\r\n private _swipeOptions: SwipeOptions | undefined;\r\n\r\n private _moveEventData: SwipeMoveEvent | undefined;\r\n private _startPosition = -1;\r\n\r\n private _lastPosX = 0;\r\n\r\n private _thresholdWasReached = false;\r\n\r\n private _isMobile: boolean | undefined;\r\n\r\n private _timeStart = 0;\r\n\r\n /**\r\n * Needed config that defines swipe behaviour.\r\n * @param options SwipeOptions\r\n */\r\n @Input('swipeDirective')\r\n set config(options: SwipeOptions) {\r\n if (options) {\r\n this._swipeOptions = options;\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n @HostListener('touchstart', ['$event'])\r\n onMouseDown(event: any) {\r\n this.calculateStartPosition(event);\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n @HostListener('touchmove', ['$event'])\r\n onMove(event: any) {\r\n this.move(event);\r\n }\r\n\r\n @HostListener('mouseup', ['$event'])\r\n @HostListener('mouseleave', ['$event'])\r\n @HostListener('touchend', ['$event'])\r\n onRelease(event: any) {\r\n this.release(event);\r\n this.reset();\r\n }\r\n\r\n // ** PRIVATE ** //\r\n\r\n /**\r\n * Function checks if the current moving delta is inside the defined threshold.\r\n * Sets the flag to true if the threshold was reached once.\r\n */\r\n private checkThreshold(moveEvent: SwipeMoveEvent) {\r\n const percentage = this._swipeOptions && this._swipeOptions.swipeThresholdType === '%';\r\n\r\n if (!percentage && this._swipeOptions && moveEvent.swipeDistanceTotal < this._swipeOptions.swipeThreshold) {\r\n return;\r\n } else if (\r\n percentage &&\r\n this._swipeOptions &&\r\n moveEvent.swipeDistancePercentage < this._swipeOptions.swipeThreshold / 100\r\n ) {\r\n return;\r\n } else {\r\n this._thresholdWasReached = true;\r\n }\r\n }\r\n\r\n private calculateStartPosition(event?: any) {\r\n // detect if touch or click\r\n this._isMobile = event.type === 'touchstart';\r\n\r\n // save start position\r\n\r\n if (this._swipeOptions && this._swipeOptions.swipeLocalPosition) {\r\n if (this._isMobile) {\r\n const touch: Touch = event.touches[0];\r\n this._startPosition = this._swipeOptions.swipeLocalPosition ? touch.clientX : touch.pageX;\r\n } else {\r\n this._startPosition = this._swipeOptions.swipeLocalPosition ? event.offsetX : event.pageX;\r\n }\r\n }\r\n\r\n this._lastPosX = this._startPosition;\r\n this._timeStart = event.timeStamp;\r\n this._thresholdWasReached = false;\r\n }\r\n\r\n private move(event: any) {\r\n // failsafe\r\n if (typeof event === 'undefined') {\r\n return;\r\n }\r\n\r\n let posX = 0;\r\n\r\n if (this._swipeOptions) {\r\n if (this._isMobile && event.type === 'touchmove') {\r\n const touch: Touch = event.touches[0];\r\n posX = this._swipeOptions.swipeLocalPosition ? touch.clientX : touch.pageX;\r\n } else {\r\n posX = this._swipeOptions.swipeLocalPosition ? event.offsetX : event.pageX;\r\n }\r\n }\r\n\r\n const offsetPerFrame: number = posX - this._lastPosX;\r\n const swipeDistanceTotal: number = Math.abs(posX - this._startPosition);\r\n const swipeDistancePercentage: number = Math.abs(swipeDistanceTotal / event.target.clientWidth);\r\n const timeDuration: number = Math.abs(event.timeStamp - this._timeStart);\r\n\r\n let direction: number;\r\n let speed: number = 1 - swipeDistanceTotal / timeDuration;\r\n speed = Math.max(0.1, speed);\r\n\r\n if (posX - this._startPosition > 0) {\r\n direction = 1; // a.k.a LTR\r\n } else {\r\n direction = -1; // a.k.a RTL\r\n }\r\n\r\n this._moveEventData = {\r\n position: posX,\r\n offsetPerFrame: offsetPerFrame,\r\n swipeDistanceTotal: swipeDistanceTotal,\r\n swipeDistancePercentage: swipeDistancePercentage,\r\n direction: direction,\r\n speed: speed,\r\n thresholdWasReached: this._thresholdWasReached,\r\n };\r\n\r\n this.checkThreshold(this._moveEventData);\r\n\r\n // update move delta\r\n this._lastPosX = posX;\r\n\r\n // inform\r\n this.moveEvent.emit(this._moveEventData);\r\n }\r\n\r\n private release(event: any) {\r\n // case: just a click/touch\r\n\r\n if (!this._moveEventData) {\r\n return;\r\n }\r\n\r\n const releaseEventData: SwipeReleaseEvent = {\r\n thresholdWasReached: this._thresholdWasReached,\r\n direction: this._moveEventData.direction,\r\n speed: this._moveEventData.speed,\r\n easingType: this.getEasingCurve(this._moveEventData.speed),\r\n target: event.currentTarget,\r\n };\r\n\r\n // inform\r\n this.releaseEvent.emit(releaseEventData);\r\n }\r\n\r\n private getEasingCurve(speed: number): string {\r\n return speed > 0.5 ? 'ease-in' : 'ease-out';\r\n }\r\n\r\n private reset() {\r\n this._startPosition = -1;\r\n this._thresholdWasReached = false;\r\n\r\n if (this._moveEventData) {\r\n this._moveEventData = undefined;\r\n }\r\n }\r\n}\r\n","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport {\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\nimport { SwiperComponent } from 'ngx-useful-swiper';\r\nimport { SwiperOptions } from 'swiper';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { ImageSnippet } from '../../models/image-snippet.model';\r\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from '../../directives/swipe.model';\r\n\r\n\r\n@Component({\r\n selector: 'kms-image-slider',\r\n templateUrl: './image-slider.component.html',\r\n styleUrls: ['./image-slider.component.scss'],\r\n})\r\nexport class ImageSliderComponent implements OnInit, OnChanges {\r\n @Input() slides: string[] | undefined;\r\n @Input() editMode = false;\r\n @Input() imagesTOSave: ImageSnippet[] | undefined;\r\n @Output() orderChanged: EventEmitter<ImageSnippet[]> = new EventEmitter();\r\n @Output() deleteImageEvent: EventEmitter<number> = new EventEmitter();\r\n\r\n /**\r\n * Optional: Define Swipe behaviour configuration.\r\n * Default is 10% for the threshold definition until a swipe triggers next/previous slide.\r\n */\r\n @Input() swipeConfig: SwipeOptions = {\r\n swipeThreshold: 5,\r\n swipeThresholdType: '%',\r\n swipeLocalPosition: true,\r\n };\r\n\r\n public selectedSlide = 0;\r\n public checkedImageIndex?: number;\r\n\r\n public selectedSlideImage: SafeStyle | undefined;\r\n public isLastClickedInSliderImage = false;\r\n\r\n @ViewChild('usefulSwiper') usefulSwiper: SwiperComponent | undefined;\r\n\r\n config: SwiperOptions = {\r\n initialSlide: 0,\r\n slidesPerView: 3,\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev',\r\n },\r\n watchOverflow: true,\r\n autoHeight: true,\r\n allowTouchMove: false,\r\n spaceBetween: 30,\r\n on: {\r\n slideChange: () => {\r\n // do something\r\n },\r\n slideChangeTransitionEnd: () => {\r\n // do something\r\n },\r\n },\r\n };\r\n\r\n constructor(public sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n if (this.slides) {\r\n // TODO use Pipe safeStyle\r\n\r\n this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[0] + ')');\r\n }\r\n }\r\n\r\n // !TODO\r\n @HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n if (event.key === 'ArrowRight') {\r\n this.nextSlide();\r\n }\r\n if (event.key === 'ArrowLeft') {\r\n this.previousSlide();\r\n }\r\n }\r\n\r\n /**\r\n * Slide follows the finger or mouse according to it´s move delta.\r\n * @param event SwipeMoveEvent\r\n */\r\n handleMoveEvent(event: SwipeMoveEvent) {\r\n // certain move threshold needs to be reached\r\n if (!event.thresholdWasReached) {\r\n return;\r\n }\r\n this.config.direction = event.direction === 1 ? 'horizontal' : 'vertical';\r\n }\r\n\r\n /**\r\n * Mouse up or slide container was left.\r\n * @param event SwipeReleaseEvent\r\n */\r\n handleReleaseEvent(event: SwipeReleaseEvent) {\r\n if (!event.thresholdWasReached) {\r\n return;\r\n }\r\n // Just do if user clicked to slide on image and not on arrow or other element\r\n if (!this.isLastClickedInSliderImage) {\r\n return;\r\n }\r\n if (event.direction === 1) {\r\n this.previousSlide();\r\n } else {\r\n this.nextSlide();\r\n }\r\n }\r\n\r\n lastClicked() {\r\n this.isLastClickedInSliderImage = true;\r\n }\r\n\r\n noLastClicked() {\r\n this.isLastClickedInSliderImage = false;\r\n }\r\n\r\n scrollLeft() {\r\n this.previousSlide();\r\n }\r\n\r\n scrollRight() {\r\n this.nextSlide();\r\n }\r\n\r\n nextSlide() {\r\n if (this.slides && this.selectedSlide < this.slides.length - 1) {\r\n if (this.usefulSwiper) {\r\n this.usefulSwiper.swiper.slideNext();\r\n }\r\n this.openSlide(this.selectedSlide + 1);\r\n }\r\n this.isLastClickedInSliderImage = false;\r\n }\r\n\r\n previousSlide() {\r\n if (this.selectedSlide > 0) {\r\n if (this.usefulSwiper) {\r\n this.usefulSwiper.swiper.slidePrev();\r\n }\r\n this.openSlide(this.selectedSlide - 1);\r\n }\r\n this.isLastClickedInSliderImage = false;\r\n }\r\n\r\n slideTo(index: number) {\r\n if (this.usefulSwiper) {\r\n this.usefulSwiper.swiper.slideTo(index);\r\n }\r\n }\r\n\r\n openSlide(number: number) {\r\n if (this.slides && number < this.slides.length && number >= 0) {\r\n this.selectedSlide = number;\r\n // TODO use Pipe safeStyle\r\n\r\n this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[number] || ')');\r\n }\r\n }\r\n\r\n ngOnChanges(_changes: SimpleChanges) {\r\n if (_changes.slides) {\r\n if (this.slides) {\r\n // TODO use Pipe safeStyle\r\n\r\n this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[0] + ')');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Re-order slides and notify parent component\r\n */\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (this.slides && this.imagesTOSave) {\r\n moveItemInArray(this.slides, event.previousIndex, event.currentIndex);\r\n moveItemInArray(this.imagesTOSave, event.previousIndex, event.currentIndex);\r\n this.orderChanged.emit(this.imagesTOSave);\r\n }\r\n }\r\n\r\n /**\r\n * Send image index to parent to perform delete\r\n */\r\n deleteImage(index: number) {\r\n this.deleteImageEvent.emit(index);\r\n }\r\n}\r\n","<div class=\"all-wrapper\">\r\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\r\n <div \r\n class=\"swiper-bigImage\"\r\n [style.backgroundImage]=\"selectedSlideImage\"\r\n [swipeDirective]=\"swipeConfig\"\r\n (moveEvent)=\"handleMoveEvent($event)\"\r\n (releaseEvent)=\"handleReleaseEvent($event)\"\r\n (mouseup)=\"lastClicked()\"\r\n (mouseout)=\"noLastClicked()\" >\r\n </div>\r\n\r\n <ng-content select=\"[description]\"></ng-content>\r\n\r\n <div class=\"swiper-holder\">\r\n <!--\r\n (mouseWheelUp)=\"scrollLeft($event)\"\r\n (mouseWheelDown)=\"scrollRight($event)\"\r\n -->\r\n\r\n <swiper [config]=\"config\" #usefulSwiper>\r\n <div class=\"swiper-wrapper\" \r\n cdkDropList (cdkDropListDropped)=\"drop($event)\" \r\n cdkDropListOrientation=\"horizontal\"> \r\n <div class=\"swiper-slide\" \r\n *ngFor=\"let slide of slides; let index = index\" \r\n cdkDrag [cdkDragDisabled]=\"!editMode\">\r\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \r\n <kms-icon icon=\"trash\"></kms-icon>\r\n </button>\r\n <div class=\"img\" (click)=\"openSlide(index)\"\r\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\r\n [ngClass]=\"{'active': index === selectedSlide}\">\r\n </div>\r\n \r\n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\r\n </div>\r\n </div>\r\n </swiper>\r\n\r\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\r\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\r\n\r\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\r\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\r\n </div>\r\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\r\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n</div>","/*!\r\n * @copyright FLYACTS GmbH 2019\r\n */\r\n\r\nimport { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({ selector: '[mouseWheel]' })\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n \r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n \r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n \r\n mouseWheelFunc(event: any) {\r\n event = window.event || event; // old IE support\r\n \r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if (delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if (delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n // for IE\r\n event.returnValue = false;\r\n // for Chrome and Firefox\r\n if (event.preventDefault) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","/**\r\n * @copyright KMS GmbH\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { MouseWheelDirective } from './mousewheel.directive';\r\nimport { GetMaxHeightDirective } from './sum-of-height.directive';\r\nimport { SwipeDirective } from './swipe.directive';\r\nimport { TooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n SwipeDirective,\r\n MouseWheelDirective,\r\n GetMaxHeightDirective,\r\n TooltipDirective,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n SwipeDirective,\r\n MouseWheelDirective,\r\n GetMaxHeightDirective,\r\n TooltipDirective,\r\n ],\r\n})\r\nexport class DirectivesModule {}\r\n","import { NgModule, } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { KmsUiPresentationalComponent } from './kms-ngx-ui-presentational.component';\r\nimport { ActionsParentComponent } from './parent-components/actions.component';\r\nimport { CheckboxComponent } from './ui/checkbox/checkbox.component';\r\n\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { ColorInputComponent } from './ui/color-input/color-input.component';\r\nimport { RadioButtonComponent } from './ui/radiobutton/radiobutton.component';\r\nimport { TimeInputComponent } from './ui/time-input/time-input.component';\r\nimport { YesNoRadiogroupComponent } from './ui/yes-no-radiogroup/yes-no-radiogroup.component';\r\nimport { FileInputComponent } from './ui/file-input/file-input.component';\r\nimport { LoaderComponent } from './ui/loader/loader.component';\r\nimport { FlyoutComponent } from './ui/flyout/flyout.component';\r\nimport { CustomPipesModule } from './pipes/custom-pipes.module';\r\nimport { IconComponent } from './ui/icon/icon.component';\r\nimport { EnumRadiogroupComponent } from './ui/enum-radiogroup/enum-radiogroup.component';\r\nimport { KMSAccordionItemComponent } from './ui/kms-accordion-item/kms-accordion-item.component';\r\nimport { MapComponent } from './ui/map/map.component';\r\nimport { SalutationDropdownComponent } from './ui/salutation-dropdown/salutation-dropdown.component';\r\nimport { TooltipComponent } from './ui/tooltip/tooltip.component';\r\nimport { TooltipIconComponent } from './ui/tooltip-icon/tooltip-icon.component';\r\n\r\nimport { SalutationRadiogroupComponent } from './ui/salutation-radiogroup/salutation-radiogroup.component';\r\nimport { BackToTopComponent } from './ui/back-to-top/back-to-top.component';\r\nimport { ButtonWithConfirmDialogComponent } from './ui/button-with-confirm-dialog/button-with-confirm-dialog.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { GenericDialogComponent } from './ui/generic-dialog/generic-dialog.component';\r\nimport { MatExpansionModule} from '@angular/material/expansion';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { DropdownFromDataComponent } from './ui/dropdown-from-data/dropdown-from-data.component';\r\nimport { ImageSliderComponent } from './ui/image-slider/image-slider.component';\r\nimport { DirectivesModule } from './directives/directives.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ViewportService } from './services/viewport.service';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { NgxUsefulSwiperModule } from 'ngx-useful-swiper';\r\n\r\n@NgModule({\r\n declarations: [\r\n ActionsParentComponent,\r\n BackToTopComponent,\r\n ButtonWithConfirmDialogComponent,\r\n CheckboxComponent,\r\n ColorInputComponent,\r\n DropdownFromDataComponent,\r\n EnumRadiogroupComponent,\r\n EnumRadiogroupComponent,\r\n FileInputComponent,\r\n FlyoutComponent,\r\n GenericDialogComponent,\r\n IconComponent,\r\n ImageSliderComponent,\r\n KMSAccordionItemComponent,\r\n KmsUiPresentationalComponent,\r\n LoaderComponent,\r\n MapComponent,\r\n RadioButtonComponent,\r\n SalutationDropdownComponent,\r\n SalutationRadiogroupComponent,\r\n TimeInputComponent,\r\n TooltipComponent,\r\n TooltipIconComponent,\r\n YesNoRadiogroupComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatRadioModule,\r\n MatDialogModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatMenuModule,\r\n CustomPipesModule,\r\n GoogleMapsModule,\r\n MatExpansionModule,\r\n MatSelectModule,\r\n MatProgressSpinnerModule,\r\n DirectivesModule,\r\n TranslateModule,\r\n NgxUsefulSwiperModule,\r\n ],\r\n exports: [\r\n ActionsParentComponent,\r\n BackToTopComponent,\r\n ButtonWithConfirmDialogComponent,\r\n CheckboxComponent,\r\n ColorInputComponent,\r\n DropdownFromDataComponent,\r\n EnumRadiogroupComponent,\r\n EnumRadiogroupComponent,\r\n FileInputComponent,\r\n FlyoutComponent,\r\n GenericDialogComponent,\r\n IconComponent,\r\n ImageSliderComponent,\r\n KMSAccordionItemComponent,\r\n KmsUiPresentationalComponent,\r\n LoaderComponent,\r\n MapComponent,\r\n RadioButtonComponent,\r\n SalutationDropdownComponent,\r\n SalutationRadiogroupComponent,\r\n TimeInputComponent,\r\n TooltipComponent,\r\n TooltipIconComponent,\r\n YesNoRadiogroupComponent,\r\n ],\r\n providers: [\r\n ViewportService\r\n ]\r\n})\r\nexport class KmsUiPresentationalModule { }\r\n","/*\r\n * Public API Surface of kms-ngx-ui-presentational\r\n */\r\n\r\nexport * from './lib/kms-ngx-ui-presentational.service';\r\nexport * from './lib/kms-ngx-ui-presentational.component';\r\nexport * from './lib/kms-ngx-ui-presentational.module';\r\nexport * from './lib/pipes/custom-pipes.module';\r\nexport * from './lib/directives/directives.module';\r\n\r\nexport * from './lib/models/iconSize.enum';\r\nexport * from './lib/models/salutation.enum';\r\nexport * from './lib/ui/checkbox/checkbox.component';\r\nexport * from './lib/ui/color-input/color-input.component';\r\nexport * from './lib/ui/radiobutton/radiobutton.component';\r\nexport * from './lib/ui/time-input/time-input.component';\r\nexport * from './lib/ui/yes-no-radiogroup/yes-no-radiogroup.component';\r\nexport * from './lib/ui/file-input/file-input.component';\r\nexport * from './lib/ui/loader/loader.component';\r\nexport * from './lib/ui/flyout/flyout.component';\r\nexport * from './lib/ui/icon/icon.component';\r\nexport * from './lib/ui/enum-radiogroup/enum-radiogroup.component';\r\nexport * from './lib/ui/kms-accordion-item/kms-accordion-item.component';\r\nexport * from './lib/ui/map/map.component';\r\nexport * from './lib/ui/salutation-dropdown/salutation-dropdown.component';\r\nexport * from './lib/ui/tooltip/tooltip.component';\r\nexport * from './lib/ui/tooltip-icon/tooltip-icon.component';\r\nexport * from './lib/ui/salutation-radiogroup/salutation-radiogroup.component';\r\nexport * from './lib/ui/back-to-top/back-to-top.component';\r\nexport * from './lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component';\r\nexport * from './lib/ui/dropdown-from-data/dropdown-from-data.component';\r\nexport * from './lib/ui/image-slider/image-slider.component';\r\n\r\nexport * from './lib/directives/mousewheel.directive';\r\nexport * from './lib/directives/sum-of-height.directive';\r\nexport * from './lib/directives/swipe.directive';\r\nexport * from './lib/directives/tooltip.directive';\r\n\r\nexport * from './lib/pipes/integer-currency.pipe';\r\nexport * from './lib/pipes/decode-uri.pipe';\r\nexport * from './lib/pipes/encode-uri.pipe';\r\nexport * from './lib/pipes/safe-html.pipe';\r\nexport * from './lib/pipes/safe-url.pipe';\r\nexport * from './lib/pipes/safe-resource-url.pipe';\r\nexport * from './lib/pipes/typeof.pipe';\r\nexport * from './lib/pipes/trim.pipe';\r\nexport * from './lib/pipes/to-number.pipe';\r\nexport * from './lib/pipes/safe-style.pipe';\r\n\r\nexport * from './lib/parent-components/actions.component';\r\nexport * from './lib/ui/generic-dialog/generic-dialog.component';\r\nexport * from './lib/services/viewport.service';\r\nexport * from './lib/parent-components/form.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Injectable","Component","EventEmitter","Input","Output","NG_VALUE_ACCESSOR","forwardRef","i1","i2","i3","ViewChild","IconSize","VERSION","Directive","HostListener","i1.IconComponent","i2.TooltipDirective","i3.TooltipIconComponent","i4","i5","FormControl","NG_VALIDATORS","i2.IconComponent","Pipe","i3.GetMaxHeightDirective","i4.SafeHtmlPipe","trigger","state","style","CommonModule","CurrencyPipe","NgModule","i3.IconComponent","Subject","isPlatformBrowser","PLATFORM_ID","Inject","i1.ViewportService","SalutationEnum","MAT_DIALOG_DATA","SubSink","EnumValues","moveItemInArray","i4.IconComponent","i5.SwipeDirective","i6","i7","MatCheckboxModule","MatButtonModule","MatRadioModule","MatDialogModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatMenuModule","GoogleMapsModule","MatExpansionModule","MatSelectModule","MatProgressSpinnerModule","TranslateModule","NgxUsefulSwiperModule"],"mappings":"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"}