@messaia/cdk 0.0.0-CDK

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 (1078) hide show
  1. package/esm2020/lib/base/base.module.mjs +66 -0
  2. package/esm2020/lib/base/components/base.component.mjs +441 -0
  3. package/esm2020/lib/base/components/generic-form-base.component.mjs +602 -0
  4. package/esm2020/lib/base/components/generic-form.component.mjs +31 -0
  5. package/esm2020/lib/base/components/generic-list.component.mjs +539 -0
  6. package/esm2020/lib/base/components/generic-reactive-form.component.mjs +54 -0
  7. package/esm2020/lib/base/constants/common.mjs +24 -0
  8. package/esm2020/lib/base/enums/message-type.mjs +7 -0
  9. package/esm2020/lib/base/helpers/auth-helper.mjs +46 -0
  10. package/esm2020/lib/base/interceptors/base.interceptor.mjs +138 -0
  11. package/esm2020/lib/base/interceptors/caching-interceptor.mjs +68 -0
  12. package/esm2020/lib/base/interceptors/loading.interceptor.mjs +63 -0
  13. package/esm2020/lib/base/models/auth-user.mjs +3 -0
  14. package/esm2020/lib/base/public_api.mjs +2 -0
  15. package/esm2020/lib/base/services/file.service.mjs +18 -0
  16. package/esm2020/lib/base/services/loading-screen.service.mjs +47 -0
  17. package/esm2020/lib/base/services/print.service.mjs +40 -0
  18. package/esm2020/lib/chips/chips.module.mjs +63 -0
  19. package/esm2020/lib/chips/components/chips.component.mjs +419 -0
  20. package/esm2020/lib/chips/public_api.mjs +3 -0
  21. package/esm2020/lib/common/animations/collapse/collapse.animation.mjs +44 -0
  22. package/esm2020/lib/common/animations/common/interfaces.mjs +2 -0
  23. package/esm2020/lib/common/behaviors/constructor.mjs +2 -0
  24. package/esm2020/lib/common/behaviors/control-value-accesor.mixin.mjs +39 -0
  25. package/esm2020/lib/common/behaviors/disabled.mixin.mjs +24 -0
  26. package/esm2020/lib/common/common.module.mjs +121 -0
  27. package/esm2020/lib/common/constants/constants.mjs +2 -0
  28. package/esm2020/lib/common/directives/disable-control.directive.mjs +34 -0
  29. package/esm2020/lib/common/enums/salutation.mjs +7 -0
  30. package/esm2020/lib/common/functions/decorators.mjs +22 -0
  31. package/esm2020/lib/common/functions/functions.mjs +9 -0
  32. package/esm2020/lib/common/functions/utils.mjs +161 -0
  33. package/esm2020/lib/common/helpers/app-storage.mjs +53 -0
  34. package/esm2020/lib/common/helpers/dynamic-builder.mjs +49 -0
  35. package/esm2020/lib/common/models/action-menu-item.mjs +12 -0
  36. package/esm2020/lib/common/models/app-setting.mjs +10 -0
  37. package/esm2020/lib/common/models/audit-entity.mjs +18 -0
  38. package/esm2020/lib/common/models/audit-user.mjs +3 -0
  39. package/esm2020/lib/common/models/base-entity.mjs +18 -0
  40. package/esm2020/lib/common/models/entity.mjs +2 -0
  41. package/esm2020/lib/common/models/enum-item.mjs +2 -0
  42. package/esm2020/lib/common/models/key-value.mjs +3 -0
  43. package/esm2020/lib/common/models/save-action.mjs +7 -0
  44. package/esm2020/lib/common/pipes/data-source.pipe.mjs +15 -0
  45. package/esm2020/lib/common/pipes/enum.pipe.mjs +23 -0
  46. package/esm2020/lib/common/pipes/file-size.pipe.mjs +37 -0
  47. package/esm2020/lib/common/pipes/filter.pipe.mjs +23 -0
  48. package/esm2020/lib/common/pipes/first-letter.mjs +24 -0
  49. package/esm2020/lib/common/pipes/keys.mjs +18 -0
  50. package/esm2020/lib/common/pipes/month-name.pipe.mjs +27 -0
  51. package/esm2020/lib/common/pipes/only-number.mjs +53 -0
  52. package/esm2020/lib/common/pipes/order.pipe.mjs +183 -0
  53. package/esm2020/lib/common/pipes/placeholder.pipe.mjs +26 -0
  54. package/esm2020/lib/common/pipes/safe-html.pipe.mjs +31 -0
  55. package/esm2020/lib/common/pipes/time.pipe.mjs +20 -0
  56. package/esm2020/lib/common/pipes/titlecase.pipe.mjs +14 -0
  57. package/esm2020/lib/common/pipes/truncate.pipe.mjs +15 -0
  58. package/esm2020/lib/common/pipes/values.mjs +14 -0
  59. package/esm2020/lib/common/public_api.mjs +18 -0
  60. package/esm2020/lib/common/services/base.service.mjs +19 -0
  61. package/esm2020/lib/common/services/context-helper.mjs +4 -0
  62. package/esm2020/lib/common/services/enum.service.mjs +44 -0
  63. package/esm2020/lib/common/services/service-locator.mjs +24 -0
  64. package/esm2020/lib/dialogs/alert-dialog/alert-dialog.component.mjs +31 -0
  65. package/esm2020/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +37 -0
  66. package/esm2020/lib/dialogs/dialog.component.mjs +56 -0
  67. package/esm2020/lib/dialogs/dialogs.module.mjs +82 -0
  68. package/esm2020/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +40 -0
  69. package/esm2020/lib/dialogs/public_api.mjs +2 -0
  70. package/esm2020/lib/dialogs/services/dialog.service.mjs +136 -0
  71. package/esm2020/lib/file/file-input.component.mjs +327 -0
  72. package/esm2020/lib/file/file.module.mjs +39 -0
  73. package/esm2020/lib/file/public_api.mjs +2 -0
  74. package/esm2020/lib/form-validators/abstract/typed-form.mjs +3 -0
  75. package/esm2020/lib/form-validators/algorithm/luhn-algorithm.mjs +15 -0
  76. package/esm2020/lib/form-validators/const/app-validators.const.mjs +68 -0
  77. package/esm2020/lib/form-validators/const/app.const.mjs +17 -0
  78. package/esm2020/lib/form-validators/const/config-names.const.mjs +9 -0
  79. package/esm2020/lib/form-validators/const/config-required-fields.const.mjs +11 -0
  80. package/esm2020/lib/form-validators/const/decorators.const.mjs +23 -0
  81. package/esm2020/lib/form-validators/const/events.const.mjs +14 -0
  82. package/esm2020/lib/form-validators/const/html-elements.const.mjs +7 -0
  83. package/esm2020/lib/form-validators/const/iban-country-wise-regex.const.mjs +80 -0
  84. package/esm2020/lib/form-validators/const/index.mjs +6 -0
  85. package/esm2020/lib/form-validators/const/operators.const.mjs +7 -0
  86. package/esm2020/lib/form-validators/const/validation-alphabet-locale.const.mjs +9 -0
  87. package/esm2020/lib/form-validators/const/validator.const.mjs +8 -0
  88. package/esm2020/lib/form-validators/core/defaultContainer.mjs +243 -0
  89. package/esm2020/lib/form-validators/core/validator.interface.mjs +2 -0
  90. package/esm2020/lib/form-validators/core/validator.static.mjs +74 -0
  91. package/esm2020/lib/form-validators/decorators/allOf.decorator.mjs +10 -0
  92. package/esm2020/lib/form-validators/decorators/alpha.decorator.mjs +10 -0
  93. package/esm2020/lib/form-validators/decorators/alphaNumeric.decorator.mjs +10 -0
  94. package/esm2020/lib/form-validators/decorators/and.decorator.mjs +6 -0
  95. package/esm2020/lib/form-validators/decorators/ascii.decorator.mjs +6 -0
  96. package/esm2020/lib/form-validators/decorators/async.decorator.mjs +6 -0
  97. package/esm2020/lib/form-validators/decorators/base-decorator.function.mjs +7 -0
  98. package/esm2020/lib/form-validators/decorators/choice.decorator.mjs +10 -0
  99. package/esm2020/lib/form-validators/decorators/compare.decorator.mjs +6 -0
  100. package/esm2020/lib/form-validators/decorators/compose.decorator.mjs +6 -0
  101. package/esm2020/lib/form-validators/decorators/contains.decorator.mjs +10 -0
  102. package/esm2020/lib/form-validators/decorators/credit-card.decorator.mjs +10 -0
  103. package/esm2020/lib/form-validators/decorators/cusip.decorator.mjs +6 -0
  104. package/esm2020/lib/form-validators/decorators/custom.decorator.mjs +10 -0
  105. package/esm2020/lib/form-validators/decorators/dataUri.decorator.mjs +6 -0
  106. package/esm2020/lib/form-validators/decorators/date.decorator.mjs +10 -0
  107. package/esm2020/lib/form-validators/decorators/different.decorator.mjs +6 -0
  108. package/esm2020/lib/form-validators/decorators/digit.decorator.mjs +6 -0
  109. package/esm2020/lib/form-validators/decorators/email.decorator.mjs +6 -0
  110. package/esm2020/lib/form-validators/decorators/endsWith.decorator.mjs +10 -0
  111. package/esm2020/lib/form-validators/decorators/even.decorator.mjs +6 -0
  112. package/esm2020/lib/form-validators/decorators/extension.decorator.mjs +10 -0
  113. package/esm2020/lib/form-validators/decorators/factor.decorator.mjs +10 -0
  114. package/esm2020/lib/form-validators/decorators/file.decorator.mjs +10 -0
  115. package/esm2020/lib/form-validators/decorators/fileSize.decorator.mjs +10 -0
  116. package/esm2020/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +10 -0
  117. package/esm2020/lib/form-validators/decorators/greater-than.decorator.mjs +10 -0
  118. package/esm2020/lib/form-validators/decorators/grid.decorator.mjs +6 -0
  119. package/esm2020/lib/form-validators/decorators/hexColor.decorator.mjs +6 -0
  120. package/esm2020/lib/form-validators/decorators/image.decorator.mjs +10 -0
  121. package/esm2020/lib/form-validators/decorators/index.mjs +91 -0
  122. package/esm2020/lib/form-validators/decorators/json.decorator.mjs +6 -0
  123. package/esm2020/lib/form-validators/decorators/latLong.decorator.mjs +6 -0
  124. package/esm2020/lib/form-validators/decorators/latitude.decorator.mjs +6 -0
  125. package/esm2020/lib/form-validators/decorators/leapYear.decorator.mjs +6 -0
  126. package/esm2020/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +10 -0
  127. package/esm2020/lib/form-validators/decorators/less-than.decorator.mjs +10 -0
  128. package/esm2020/lib/form-validators/decorators/longitude.decorator.mjs +6 -0
  129. package/esm2020/lib/form-validators/decorators/lowercase.decorator.mjs +6 -0
  130. package/esm2020/lib/form-validators/decorators/mac.decorator.mjs +6 -0
  131. package/esm2020/lib/form-validators/decorators/mask.decorator.mjs +6 -0
  132. package/esm2020/lib/form-validators/decorators/maxDate.decorator.mjs +10 -0
  133. package/esm2020/lib/form-validators/decorators/maxLength.decorator.mjs +10 -0
  134. package/esm2020/lib/form-validators/decorators/maxNumber.decorator.mjs +10 -0
  135. package/esm2020/lib/form-validators/decorators/maxTime.decorator.mjs +10 -0
  136. package/esm2020/lib/form-validators/decorators/minDate.decorator.mjs +10 -0
  137. package/esm2020/lib/form-validators/decorators/minLength.decorator.mjs +10 -0
  138. package/esm2020/lib/form-validators/decorators/minNumber.decorator.mjs +10 -0
  139. package/esm2020/lib/form-validators/decorators/minTime.decorator.mjs +10 -0
  140. package/esm2020/lib/form-validators/decorators/model.decorator.mjs +7 -0
  141. package/esm2020/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +8 -0
  142. package/esm2020/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +8 -0
  143. package/esm2020/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +8 -0
  144. package/esm2020/lib/form-validators/decorators/noneOf.decorator.mjs +10 -0
  145. package/esm2020/lib/form-validators/decorators/not.decorator.mjs +6 -0
  146. package/esm2020/lib/form-validators/decorators/notEmpty.decorator.mjs +6 -0
  147. package/esm2020/lib/form-validators/decorators/numeric.decorator.mjs +10 -0
  148. package/esm2020/lib/form-validators/decorators/odd.decorator.mjs +6 -0
  149. package/esm2020/lib/form-validators/decorators/oneOf.decorator.mjs +10 -0
  150. package/esm2020/lib/form-validators/decorators/or.decorator.mjs +6 -0
  151. package/esm2020/lib/form-validators/decorators/password.decorator.mjs +10 -0
  152. package/esm2020/lib/form-validators/decorators/pattern.decorator.mjs +10 -0
  153. package/esm2020/lib/form-validators/decorators/port.decorator.mjs +6 -0
  154. package/esm2020/lib/form-validators/decorators/primeNumber.decorator.mjs +6 -0
  155. package/esm2020/lib/form-validators/decorators/prop-array.decorator.mjs +18 -0
  156. package/esm2020/lib/form-validators/decorators/prop-object.decorator.mjs +8 -0
  157. package/esm2020/lib/form-validators/decorators/prop.decorator.mjs +16 -0
  158. package/esm2020/lib/form-validators/decorators/range.decorator.mjs +10 -0
  159. package/esm2020/lib/form-validators/decorators/required.decorator.mjs +6 -0
  160. package/esm2020/lib/form-validators/decorators/requiredTrue.decorator.mjs +6 -0
  161. package/esm2020/lib/form-validators/decorators/rule.decorator.mjs +6 -0
  162. package/esm2020/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +8 -0
  163. package/esm2020/lib/form-validators/decorators/sanitize/escape.decorator.mjs +8 -0
  164. package/esm2020/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +8 -0
  165. package/esm2020/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +8 -0
  166. package/esm2020/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +8 -0
  167. package/esm2020/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +8 -0
  168. package/esm2020/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +8 -0
  169. package/esm2020/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +8 -0
  170. package/esm2020/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +8 -0
  171. package/esm2020/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +8 -0
  172. package/esm2020/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +8 -0
  173. package/esm2020/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +8 -0
  174. package/esm2020/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +8 -0
  175. package/esm2020/lib/form-validators/decorators/sanitize/toString.decorator.mjs +8 -0
  176. package/esm2020/lib/form-validators/decorators/sanitize/trim.decorator.mjs +8 -0
  177. package/esm2020/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +8 -0
  178. package/esm2020/lib/form-validators/decorators/startsWith.decorator.mjs +10 -0
  179. package/esm2020/lib/form-validators/decorators/time.decorator.mjs +10 -0
  180. package/esm2020/lib/form-validators/decorators/unique.decorator.mjs +6 -0
  181. package/esm2020/lib/form-validators/decorators/uppercase.decorator.mjs +6 -0
  182. package/esm2020/lib/form-validators/decorators/url.decorator.mjs +10 -0
  183. package/esm2020/lib/form-validators/directives/base-directive.mjs +43 -0
  184. package/esm2020/lib/form-validators/directives/control-host.directive.mjs +34 -0
  185. package/esm2020/lib/form-validators/directives/html-control-template.directive.mjs +20 -0
  186. package/esm2020/lib/form-validators/directives/rx-form.directive.mjs +134 -0
  187. package/esm2020/lib/form-validators/directives/template-validations/async-validation.directive.mjs +31 -0
  188. package/esm2020/lib/form-validators/directives/template-validations/base-validator.directive.mjs +42 -0
  189. package/esm2020/lib/form-validators/directives/template-validations/control-expression-process.mjs +26 -0
  190. package/esm2020/lib/form-validators/directives/template-validations/file-control.directive.mjs +91 -0
  191. package/esm2020/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +50 -0
  192. package/esm2020/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +277 -0
  193. package/esm2020/lib/form-validators/domain/disable-provider.mjs +93 -0
  194. package/esm2020/lib/form-validators/domain/element-processor/decimal.provider.mjs +59 -0
  195. package/esm2020/lib/form-validators/domain/element-processor/mask.provider.mjs +430 -0
  196. package/esm2020/lib/form-validators/domain/form-data.mjs +47 -0
  197. package/esm2020/lib/form-validators/enums/error-message-binding-strategy.mjs +11 -0
  198. package/esm2020/lib/form-validators/enums/index.mjs +5 -0
  199. package/esm2020/lib/form-validators/enums/ip-version.mjs +7 -0
  200. package/esm2020/lib/form-validators/enums/numeric-value-type.mjs +7 -0
  201. package/esm2020/lib/form-validators/enums/reset-type.mjs +10 -0
  202. package/esm2020/lib/form-validators/enums/url-validation-type.mjs +7 -0
  203. package/esm2020/lib/form-validators/models/config/alpha-config.mjs +2 -0
  204. package/esm2020/lib/form-validators/models/config/array-config.mjs +2 -0
  205. package/esm2020/lib/form-validators/models/config/base-config-fn.mjs +2 -0
  206. package/esm2020/lib/form-validators/models/config/base-config.mjs +2 -0
  207. package/esm2020/lib/form-validators/models/config/base-date-config.mjs +2 -0
  208. package/esm2020/lib/form-validators/models/config/choice-config.mjs +2 -0
  209. package/esm2020/lib/form-validators/models/config/compare-config.mjs +2 -0
  210. package/esm2020/lib/form-validators/models/config/component-config.mjs +2 -0
  211. package/esm2020/lib/form-validators/models/config/compose-config.mjs +2 -0
  212. package/esm2020/lib/form-validators/models/config/contains-config.mjs +2 -0
  213. package/esm2020/lib/form-validators/models/config/credit-card-config.mjs +2 -0
  214. package/esm2020/lib/form-validators/models/config/custom-config.mjs +2 -0
  215. package/esm2020/lib/form-validators/models/config/date-config.mjs +2 -0
  216. package/esm2020/lib/form-validators/models/config/default-config.mjs +2 -0
  217. package/esm2020/lib/form-validators/models/config/digit-config.mjs +2 -0
  218. package/esm2020/lib/form-validators/models/config/disable-config.mjs +2 -0
  219. package/esm2020/lib/form-validators/models/config/element-class-config.mjs +2 -0
  220. package/esm2020/lib/form-validators/models/config/email-config.mjs +2 -0
  221. package/esm2020/lib/form-validators/models/config/error-config.mjs +2 -0
  222. package/esm2020/lib/form-validators/models/config/extension-config.mjs +2 -0
  223. package/esm2020/lib/form-validators/models/config/factor-config.mjs +2 -0
  224. package/esm2020/lib/form-validators/models/config/field-config.mjs +2 -0
  225. package/esm2020/lib/form-validators/models/config/file-config.mjs +2 -0
  226. package/esm2020/lib/form-validators/models/config/hex-color-config.mjs +2 -0
  227. package/esm2020/lib/form-validators/models/config/iban-config.mjs +2 -0
  228. package/esm2020/lib/form-validators/models/config/image-config.mjs +2 -0
  229. package/esm2020/lib/form-validators/models/config/index.mjs +35 -0
  230. package/esm2020/lib/form-validators/models/config/ip-config.mjs +2 -0
  231. package/esm2020/lib/form-validators/models/config/logical-operator-config.mjs +2 -0
  232. package/esm2020/lib/form-validators/models/config/mask-config.mjs +2 -0
  233. package/esm2020/lib/form-validators/models/config/max-date-config.mjs +2 -0
  234. package/esm2020/lib/form-validators/models/config/message-config.mjs +2 -0
  235. package/esm2020/lib/form-validators/models/config/min-date-config.mjs +2 -0
  236. package/esm2020/lib/form-validators/models/config/model-config.mjs +2 -0
  237. package/esm2020/lib/form-validators/models/config/number-config.mjs +2 -0
  238. package/esm2020/lib/form-validators/models/config/numeric-config.mjs +2 -0
  239. package/esm2020/lib/form-validators/models/config/password-config.mjs +2 -0
  240. package/esm2020/lib/form-validators/models/config/pattern-config.mjs +2 -0
  241. package/esm2020/lib/form-validators/models/config/prop-config.mjs +2 -0
  242. package/esm2020/lib/form-validators/models/config/props-config.mjs +2 -0
  243. package/esm2020/lib/form-validators/models/config/range-config.mjs +2 -0
  244. package/esm2020/lib/form-validators/models/config/relational-operator-config.mjs +2 -0
  245. package/esm2020/lib/form-validators/models/config/required-config.mjs +2 -0
  246. package/esm2020/lib/form-validators/models/config/rule-config.mjs +2 -0
  247. package/esm2020/lib/form-validators/models/config/sanitize-config.mjs +2 -0
  248. package/esm2020/lib/form-validators/models/config/size-config.mjs +2 -0
  249. package/esm2020/lib/form-validators/models/config/string-comparison-config.mjs +2 -0
  250. package/esm2020/lib/form-validators/models/config/time-config.mjs +2 -0
  251. package/esm2020/lib/form-validators/models/config/todate-config.mjs +2 -0
  252. package/esm2020/lib/form-validators/models/config/unique-config.mjs +2 -0
  253. package/esm2020/lib/form-validators/models/config/url-config.mjs +2 -0
  254. package/esm2020/lib/form-validators/models/form-builder-configuration.mjs +8 -0
  255. package/esm2020/lib/form-validators/models/index.mjs +3 -0
  256. package/esm2020/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +2 -0
  257. package/esm2020/lib/form-validators/models/interface/auto-instance-config.interface.mjs +2 -0
  258. package/esm2020/lib/form-validators/models/interface/form-data-config.mjs +2 -0
  259. package/esm2020/lib/form-validators/models/interface/i-abstract-control.mjs +4 -0
  260. package/esm2020/lib/form-validators/models/interface/i-form-group.mjs +2 -0
  261. package/esm2020/lib/form-validators/models/interface/instance-argument.interface.mjs +2 -0
  262. package/esm2020/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +2 -0
  263. package/esm2020/lib/form-validators/models/interface/options.mjs +2 -0
  264. package/esm2020/lib/form-validators/models/password-validation.model.mjs +2 -0
  265. package/esm2020/lib/form-validators/models/prop-validation-config.mjs +2 -0
  266. package/esm2020/lib/form-validators/public_api.mjs +25 -0
  267. package/esm2020/lib/form-validators/reactive-form-validators/allOf.validator.mjs +22 -0
  268. package/esm2020/lib/form-validators/reactive-form-validators/alpha.validator.mjs +9 -0
  269. package/esm2020/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +9 -0
  270. package/esm2020/lib/form-validators/reactive-form-validators/and.validator.mjs +23 -0
  271. package/esm2020/lib/form-validators/reactive-form-validators/ascii.validator.mjs +9 -0
  272. package/esm2020/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +24 -0
  273. package/esm2020/lib/form-validators/reactive-form-validators/choice.validator.mjs +19 -0
  274. package/esm2020/lib/form-validators/reactive-form-validators/compare.validator.mjs +20 -0
  275. package/esm2020/lib/form-validators/reactive-form-validators/compose.validator.mjs +23 -0
  276. package/esm2020/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +63 -0
  277. package/esm2020/lib/form-validators/reactive-form-validators/contains.validator.mjs +15 -0
  278. package/esm2020/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +48 -0
  279. package/esm2020/lib/form-validators/reactive-form-validators/cusip.validator.mjs +38 -0
  280. package/esm2020/lib/form-validators/reactive-form-validators/custom.validator.mjs +23 -0
  281. package/esm2020/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +9 -0
  282. package/esm2020/lib/form-validators/reactive-form-validators/date.validator.mjs +8 -0
  283. package/esm2020/lib/form-validators/reactive-form-validators/different.validator.mjs +19 -0
  284. package/esm2020/lib/form-validators/reactive-form-validators/digit.validator.mjs +9 -0
  285. package/esm2020/lib/form-validators/reactive-form-validators/email.validator.mjs +9 -0
  286. package/esm2020/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +16 -0
  287. package/esm2020/lib/form-validators/reactive-form-validators/even.validator.mjs +15 -0
  288. package/esm2020/lib/form-validators/reactive-form-validators/extension.validator.mjs +40 -0
  289. package/esm2020/lib/form-validators/reactive-form-validators/factor.validator.mjs +37 -0
  290. package/esm2020/lib/form-validators/reactive-form-validators/file.validator.mjs +26 -0
  291. package/esm2020/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +32 -0
  292. package/esm2020/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +8 -0
  293. package/esm2020/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +8 -0
  294. package/esm2020/lib/form-validators/reactive-form-validators/grid.validator.mjs +31 -0
  295. package/esm2020/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +9 -0
  296. package/esm2020/lib/form-validators/reactive-form-validators/iban.validator.mjs +30 -0
  297. package/esm2020/lib/form-validators/reactive-form-validators/image.validator.mjs +48 -0
  298. package/esm2020/lib/form-validators/reactive-form-validators/index.mjs +66 -0
  299. package/esm2020/lib/form-validators/reactive-form-validators/ip.validator.mjs +35 -0
  300. package/esm2020/lib/form-validators/reactive-form-validators/json.validator.mjs +26 -0
  301. package/esm2020/lib/form-validators/reactive-form-validators/latLong.validator.mjs +18 -0
  302. package/esm2020/lib/form-validators/reactive-form-validators/latitude.validator.mjs +9 -0
  303. package/esm2020/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +16 -0
  304. package/esm2020/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +8 -0
  305. package/esm2020/lib/form-validators/reactive-form-validators/less-than.validator.mjs +8 -0
  306. package/esm2020/lib/form-validators/reactive-form-validators/longitude.validator.mjs +9 -0
  307. package/esm2020/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +15 -0
  308. package/esm2020/lib/form-validators/reactive-form-validators/mac.validator.mjs +9 -0
  309. package/esm2020/lib/form-validators/reactive-form-validators/mask.validator.mjs +13 -0
  310. package/esm2020/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +8 -0
  311. package/esm2020/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +16 -0
  312. package/esm2020/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +16 -0
  313. package/esm2020/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +8 -0
  314. package/esm2020/lib/form-validators/reactive-form-validators/minDate.validator.mjs +8 -0
  315. package/esm2020/lib/form-validators/reactive-form-validators/minLength.validator.mjs +16 -0
  316. package/esm2020/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +16 -0
  317. package/esm2020/lib/form-validators/reactive-form-validators/minTime.validator.mjs +8 -0
  318. package/esm2020/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +24 -0
  319. package/esm2020/lib/form-validators/reactive-form-validators/not.validator.mjs +23 -0
  320. package/esm2020/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +17 -0
  321. package/esm2020/lib/form-validators/reactive-form-validators/numeric.validator.mjs +20 -0
  322. package/esm2020/lib/form-validators/reactive-form-validators/odd.validator.mjs +16 -0
  323. package/esm2020/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +22 -0
  324. package/esm2020/lib/form-validators/reactive-form-validators/or.validator.mjs +23 -0
  325. package/esm2020/lib/form-validators/reactive-form-validators/password.validator.mjs +33 -0
  326. package/esm2020/lib/form-validators/reactive-form-validators/pattern.validator.mjs +17 -0
  327. package/esm2020/lib/form-validators/reactive-form-validators/port.validator.mjs +18 -0
  328. package/esm2020/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +26 -0
  329. package/esm2020/lib/form-validators/reactive-form-validators/range.validator.mjs +16 -0
  330. package/esm2020/lib/form-validators/reactive-form-validators/required.validator.mjs +17 -0
  331. package/esm2020/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +16 -0
  332. package/esm2020/lib/form-validators/reactive-form-validators/rule.validator.mjs +20 -0
  333. package/esm2020/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +16 -0
  334. package/esm2020/lib/form-validators/reactive-form-validators/time.validator.mjs +18 -0
  335. package/esm2020/lib/form-validators/reactive-form-validators/unique.validator.mjs +70 -0
  336. package/esm2020/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +15 -0
  337. package/esm2020/lib/form-validators/reactive-form-validators/url.validator.mjs +28 -0
  338. package/esm2020/lib/form-validators/services/base-form-builder.mjs +115 -0
  339. package/esm2020/lib/form-validators/services/entity.service.mjs +64 -0
  340. package/esm2020/lib/form-validators/services/form-control.mjs +349 -0
  341. package/esm2020/lib/form-validators/services/form-group.mjs +2 -0
  342. package/esm2020/lib/form-validators/services/reactive-form.module.mjs +52 -0
  343. package/esm2020/lib/form-validators/services/rx-form-array.mjs +100 -0
  344. package/esm2020/lib/form-validators/services/rx-form-builder.mjs +559 -0
  345. package/esm2020/lib/form-validators/services/rx-form-group.mjs +299 -0
  346. package/esm2020/lib/form-validators/services/typed-form-builder.mjs +23 -0
  347. package/esm2020/lib/form-validators/util/alphabet-regex.locale.mjs +29 -0
  348. package/esm2020/lib/form-validators/util/app-util.mjs +141 -0
  349. package/esm2020/lib/form-validators/util/check-length.mjs +10 -0
  350. package/esm2020/lib/form-validators/util/config-provider.mjs +35 -0
  351. package/esm2020/lib/form-validators/util/date-checker.function.mjs +52 -0
  352. package/esm2020/lib/form-validators/util/date-provider.mjs +97 -0
  353. package/esm2020/lib/form-validators/util/form-const.mjs +3 -0
  354. package/esm2020/lib/form-validators/util/form-provider.mjs +37 -0
  355. package/esm2020/lib/form-validators/util/index.mjs +7 -0
  356. package/esm2020/lib/form-validators/util/instance-provider.function.mjs +30 -0
  357. package/esm2020/lib/form-validators/util/ip-checker.mjs +18 -0
  358. package/esm2020/lib/form-validators/util/linq.mjs +147 -0
  359. package/esm2020/lib/form-validators/util/object-maker.mjs +38 -0
  360. package/esm2020/lib/form-validators/util/reactive-form-config.mjs +23 -0
  361. package/esm2020/lib/form-validators/util/regex-rules.mjs +37 -0
  362. package/esm2020/lib/form-validators/util/regex-validator.mjs +74 -0
  363. package/esm2020/lib/form-validators/util/relational-checker.function.mjs +85 -0
  364. package/esm2020/lib/form-validators/util/reset-form.mjs +56 -0
  365. package/esm2020/lib/form-validators/util/sanitizers.mjs +131 -0
  366. package/esm2020/lib/form-validators/util/time-checker.function.mjs +48 -0
  367. package/esm2020/lib/form-validators/util/type.mjs +2 -0
  368. package/esm2020/lib/form-validators/util/validator-value-checker.mjs +17 -0
  369. package/esm2020/lib/form-validators/validators-extension/allOf-validator.extension.mjs +11 -0
  370. package/esm2020/lib/form-validators/validators-extension/alpha-validator.extension.mjs +11 -0
  371. package/esm2020/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +11 -0
  372. package/esm2020/lib/form-validators/validators-extension/and-validator.extension.mjs +7 -0
  373. package/esm2020/lib/form-validators/validators-extension/ascii-validator.extension.mjs +7 -0
  374. package/esm2020/lib/form-validators/validators-extension/base-validator.function.mjs +33 -0
  375. package/esm2020/lib/form-validators/validators-extension/choice-validator.extension.mjs +11 -0
  376. package/esm2020/lib/form-validators/validators-extension/compare-validator.extension.mjs +7 -0
  377. package/esm2020/lib/form-validators/validators-extension/compose-validator.extension.mjs +7 -0
  378. package/esm2020/lib/form-validators/validators-extension/contains-validator.extension.mjs +11 -0
  379. package/esm2020/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +11 -0
  380. package/esm2020/lib/form-validators/validators-extension/cusip-validator.extension.mjs +7 -0
  381. package/esm2020/lib/form-validators/validators-extension/custom-validator.extension.mjs +11 -0
  382. package/esm2020/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +7 -0
  383. package/esm2020/lib/form-validators/validators-extension/date-validator.extension.mjs +11 -0
  384. package/esm2020/lib/form-validators/validators-extension/different-validator.extension.mjs +7 -0
  385. package/esm2020/lib/form-validators/validators-extension/digit-validator.extension.mjs +7 -0
  386. package/esm2020/lib/form-validators/validators-extension/email-validator.extension.mjs +7 -0
  387. package/esm2020/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +11 -0
  388. package/esm2020/lib/form-validators/validators-extension/even-validator.extension.mjs +7 -0
  389. package/esm2020/lib/form-validators/validators-extension/extension-validator.extension.mjs +10 -0
  390. package/esm2020/lib/form-validators/validators-extension/factor-validator.extension.mjs +11 -0
  391. package/esm2020/lib/form-validators/validators-extension/file-validator.extension.mjs +10 -0
  392. package/esm2020/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +10 -0
  393. package/esm2020/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +11 -0
  394. package/esm2020/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +11 -0
  395. package/esm2020/lib/form-validators/validators-extension/grid-validator.extension.mjs +7 -0
  396. package/esm2020/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +7 -0
  397. package/esm2020/lib/form-validators/validators-extension/iban-validator.extension.mjs +11 -0
  398. package/esm2020/lib/form-validators/validators-extension/image-validator.extension.mjs +10 -0
  399. package/esm2020/lib/form-validators/validators-extension/index.mjs +68 -0
  400. package/esm2020/lib/form-validators/validators-extension/ip-validator.extension.mjs +11 -0
  401. package/esm2020/lib/form-validators/validators-extension/json-validator.extension.mjs +7 -0
  402. package/esm2020/lib/form-validators/validators-extension/latLong-validator.extension.mjs +7 -0
  403. package/esm2020/lib/form-validators/validators-extension/latitude-validator.extension.mjs +7 -0
  404. package/esm2020/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +7 -0
  405. package/esm2020/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +11 -0
  406. package/esm2020/lib/form-validators/validators-extension/less-than-validator.extension.mjs +11 -0
  407. package/esm2020/lib/form-validators/validators-extension/longitude-validator.extension.mjs +7 -0
  408. package/esm2020/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +7 -0
  409. package/esm2020/lib/form-validators/validators-extension/mac-validator.extension.mjs +7 -0
  410. package/esm2020/lib/form-validators/validators-extension/mask-validator.extension.mjs +7 -0
  411. package/esm2020/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +11 -0
  412. package/esm2020/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +11 -0
  413. package/esm2020/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +11 -0
  414. package/esm2020/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +11 -0
  415. package/esm2020/lib/form-validators/validators-extension/minDate-validator.extension.mjs +11 -0
  416. package/esm2020/lib/form-validators/validators-extension/minLength-validator.extension.mjs +11 -0
  417. package/esm2020/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +11 -0
  418. package/esm2020/lib/form-validators/validators-extension/minTime-validator.extension.mjs +11 -0
  419. package/esm2020/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +11 -0
  420. package/esm2020/lib/form-validators/validators-extension/not-validator.extension.mjs +7 -0
  421. package/esm2020/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +7 -0
  422. package/esm2020/lib/form-validators/validators-extension/numeric-validator.extension.mjs +11 -0
  423. package/esm2020/lib/form-validators/validators-extension/odd-validator.extension.mjs +7 -0
  424. package/esm2020/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +11 -0
  425. package/esm2020/lib/form-validators/validators-extension/or-validator.extension.mjs +7 -0
  426. package/esm2020/lib/form-validators/validators-extension/password-validator.extension.mjs +11 -0
  427. package/esm2020/lib/form-validators/validators-extension/pattern-validator.extension.mjs +11 -0
  428. package/esm2020/lib/form-validators/validators-extension/port-validator.extension.mjs +7 -0
  429. package/esm2020/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +7 -0
  430. package/esm2020/lib/form-validators/validators-extension/range-validator.extension.mjs +11 -0
  431. package/esm2020/lib/form-validators/validators-extension/required-validator.extension.mjs +7 -0
  432. package/esm2020/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +7 -0
  433. package/esm2020/lib/form-validators/validators-extension/rxweb-validators.mjs +108 -0
  434. package/esm2020/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +11 -0
  435. package/esm2020/lib/form-validators/validators-extension/time-validator.extension.mjs +11 -0
  436. package/esm2020/lib/form-validators/validators-extension/unique-validator.extension.mjs +7 -0
  437. package/esm2020/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +7 -0
  438. package/esm2020/lib/form-validators/validators-extension/url-validator.extension.mjs +11 -0
  439. package/esm2020/lib/form-validators/validators-function/alpha-validation.function.mjs +37 -0
  440. package/esm2020/lib/form-validators/validators-function/regex-validation.function.mjs +16 -0
  441. package/esm2020/lib/forms/components/generic-form/generic-form.component.mjs +131 -0
  442. package/esm2020/lib/forms/constants/constants.mjs +2 -0
  443. package/esm2020/lib/forms/directives/mat-form-field-editor.directive.mjs +162 -0
  444. package/esm2020/lib/forms/directives/mat-form-field-readonly.directive.mjs +33 -0
  445. package/esm2020/lib/forms/enums/form-field-type.mjs +19 -0
  446. package/esm2020/lib/forms/forms.module.mjs +125 -0
  447. package/esm2020/lib/forms/functions/decorators.mjs +127 -0
  448. package/esm2020/lib/forms/functions/functions.mjs +10 -0
  449. package/esm2020/lib/forms/helpers/abstract-mat-form-field.mjs +251 -0
  450. package/esm2020/lib/forms/helpers/value-accessor-base.mjs +141 -0
  451. package/esm2020/lib/forms/models/form-field-definition.mjs +18 -0
  452. package/esm2020/lib/forms/models/form-field-group.mjs +11 -0
  453. package/esm2020/lib/forms/public_api.mjs +4 -0
  454. package/esm2020/lib/forms/validators/equal-validator.directive.mjs +79 -0
  455. package/esm2020/lib/forms/validators/native-element-injector.directive.mjs +32 -0
  456. package/esm2020/lib/forms/validators/unique-validator-directive.mjs +75 -0
  457. package/esm2020/lib/http/http.module.mjs +20 -0
  458. package/esm2020/lib/http/public_api.mjs +2 -0
  459. package/esm2020/lib/http/services/generic.service.mjs +319 -0
  460. package/esm2020/lib/layout/form-toolbar/form-toolbar.component.mjs +30 -0
  461. package/esm2020/lib/layout/form-toolbar-menu/form-toolbar-menu.component.mjs +17 -0
  462. package/esm2020/lib/layout/layout-card-over/layout-card-over.component.mjs +43 -0
  463. package/esm2020/lib/layout/layout-footer/layout-footer.component.mjs +34 -0
  464. package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +130 -0
  465. package/esm2020/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +108 -0
  466. package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +95 -0
  467. package/esm2020/lib/layout/layout-nav-list/layout-nav-list.component.mjs +123 -0
  468. package/esm2020/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +81 -0
  469. package/esm2020/lib/layout/layout-toggle.class.mjs +71 -0
  470. package/esm2020/lib/layout/layout.component.mjs +82 -0
  471. package/esm2020/lib/layout/layout.directives.mjs +81 -0
  472. package/esm2020/lib/layout/layout.module.mjs +146 -0
  473. package/esm2020/lib/layout/list-toolbar/list-toolbar.component.mjs +23 -0
  474. package/esm2020/lib/layout/list-toolbar-menu/list-toolbar-menu.component.mjs +17 -0
  475. package/esm2020/lib/layout/navigation-drawer/navigation-drawer.component.mjs +167 -0
  476. package/esm2020/lib/layout/public_api.mjs +2 -0
  477. package/esm2020/lib/media/directives/media-toggle.directive.mjs +115 -0
  478. package/esm2020/lib/media/media.module.mjs +37 -0
  479. package/esm2020/lib/media/public_api.mjs +2 -0
  480. package/esm2020/lib/media/services/media.service.mjs +108 -0
  481. package/esm2020/lib/menu/components/menu.component.mjs +52 -0
  482. package/esm2020/lib/menu/enums/menu-scope.mjs +6 -0
  483. package/esm2020/lib/menu/menu.module.mjs +50 -0
  484. package/esm2020/lib/menu/models/menu-item.mjs +3 -0
  485. package/esm2020/lib/menu/models/menu.mjs +3 -0
  486. package/esm2020/lib/menu/public_api.mjs +2 -0
  487. package/esm2020/lib/menu/services/menu-items.service.mjs +19 -0
  488. package/esm2020/lib/menu/services/menu.resolve.mjs +62 -0
  489. package/esm2020/lib/menu/services/menu.service.mjs +19 -0
  490. package/esm2020/lib/search/public_api.mjs +2 -0
  491. package/esm2020/lib/search/search.module.mjs +47 -0
  492. package/esm2020/lib/search/vd-search-box/vd-search-box.component.mjs +143 -0
  493. package/esm2020/lib/search/vd-search-input/vd-search-input.component.mjs +148 -0
  494. package/esm2020/lib/select/public_api.mjs +3 -0
  495. package/esm2020/lib/select/select.component.mjs +407 -0
  496. package/esm2020/lib/select/select.module.mjs +45 -0
  497. package/esm2020/lib/table/components/dynamic-table/dynamic-table.component.mjs +349 -0
  498. package/esm2020/lib/table/components/filter-clear.component.mjs +44 -0
  499. package/esm2020/lib/table/components/filter-date.component.mjs +151 -0
  500. package/esm2020/lib/table/components/filter-input.component.mjs +198 -0
  501. package/esm2020/lib/table/components/filter-select.component.mjs +334 -0
  502. package/esm2020/lib/table/directives/data-source-filter.directive.mjs +45 -0
  503. package/esm2020/lib/table/enums/table-column-type.mjs +14 -0
  504. package/esm2020/lib/table/functions/decorators.mjs +135 -0
  505. package/esm2020/lib/table/functions/functions.mjs +15 -0
  506. package/esm2020/lib/table/models/pagination.mjs +3 -0
  507. package/esm2020/lib/table/models/table-column.mjs +10 -0
  508. package/esm2020/lib/table/models/table-definition.mjs +17 -0
  509. package/esm2020/lib/table/models/table-menu-item.mjs +12 -0
  510. package/esm2020/lib/table/paginator-intl.mjs +44 -0
  511. package/esm2020/lib/table/public_api.mjs +3 -0
  512. package/esm2020/lib/table/table.data-source.mjs +212 -0
  513. package/esm2020/lib/table/table.module.mjs +139 -0
  514. package/esm2020/lib/table/table.static-data-source.mjs +131 -0
  515. package/esm2020/messaia-cdk.mjs +5 -0
  516. package/esm2020/public_api.mjs +18 -0
  517. package/fesm2015/messaia-cdk.mjs +16621 -0
  518. package/fesm2015/messaia-cdk.mjs.map +1 -0
  519. package/fesm2020/messaia-cdk.mjs +16538 -0
  520. package/fesm2020/messaia-cdk.mjs.map +1 -0
  521. package/lib/base/base.module.d.ts +25 -0
  522. package/lib/base/components/base.component.d.ts +258 -0
  523. package/lib/base/components/generic-form-base.component.d.ts +310 -0
  524. package/lib/base/components/generic-form.component.d.ts +32 -0
  525. package/lib/base/components/generic-list.component.d.ts +273 -0
  526. package/lib/base/components/generic-reactive-form.component.d.ts +47 -0
  527. package/lib/base/constants/common.d.ts +9 -0
  528. package/lib/base/enums/message-type.d.ts +5 -0
  529. package/lib/base/helpers/auth-helper.d.ts +26 -0
  530. package/lib/base/interceptors/base.interceptor.d.ts +40 -0
  531. package/lib/base/interceptors/caching-interceptor.d.ts +35 -0
  532. package/lib/base/interceptors/loading.interceptor.d.ts +30 -0
  533. package/lib/base/models/auth-user.d.ts +15 -0
  534. package/lib/base/public_api.d.ts +1 -0
  535. package/lib/base/services/file.service.d.ts +10 -0
  536. package/lib/base/services/loading-screen.service.d.ts +30 -0
  537. package/lib/base/services/print.service.d.ts +23 -0
  538. package/lib/chips/chips.module.d.ts +15 -0
  539. package/lib/chips/components/chips.component.d.ts +223 -0
  540. package/lib/chips/public_api.d.ts +2 -0
  541. package/lib/common/animations/collapse/collapse.animation.d.ts +21 -0
  542. package/lib/common/animations/common/interfaces.d.ts +5 -0
  543. package/lib/common/behaviors/constructor.d.ts +1 -0
  544. package/lib/common/behaviors/control-value-accesor.mixin.d.ts +16 -0
  545. package/lib/common/behaviors/disabled.mixin.d.ts +8 -0
  546. package/lib/common/common.module.d.ts +53 -0
  547. package/lib/common/constants/constants.d.ts +1 -0
  548. package/lib/common/directives/disable-control.directive.d.ts +16 -0
  549. package/lib/common/enums/salutation.d.ts +5 -0
  550. package/lib/common/functions/decorators.d.ts +12 -0
  551. package/lib/common/functions/functions.d.ts +6 -0
  552. package/lib/common/functions/utils.d.ts +73 -0
  553. package/lib/common/helpers/app-storage.d.ts +32 -0
  554. package/lib/common/helpers/dynamic-builder.d.ts +19 -0
  555. package/lib/common/models/action-menu-item.d.ts +15 -0
  556. package/lib/common/models/app-setting.d.ts +17 -0
  557. package/lib/common/models/audit-entity.d.ts +12 -0
  558. package/lib/common/models/audit-user.d.ts +5 -0
  559. package/lib/common/models/base-entity.d.ts +10 -0
  560. package/lib/common/models/entity.d.ts +3 -0
  561. package/lib/common/models/enum-item.d.ts +4 -0
  562. package/lib/common/models/key-value.d.ts +4 -0
  563. package/lib/common/models/save-action.d.ts +5 -0
  564. package/lib/common/pipes/data-source.pipe.d.ts +7 -0
  565. package/lib/common/pipes/enum.pipe.d.ts +12 -0
  566. package/lib/common/pipes/file-size.pipe.d.ts +13 -0
  567. package/lib/common/pipes/filter.pipe.d.ts +13 -0
  568. package/lib/common/pipes/first-letter.d.ts +12 -0
  569. package/lib/common/pipes/keys.d.ts +7 -0
  570. package/lib/common/pipes/month-name.pipe.d.ts +15 -0
  571. package/lib/common/pipes/only-number.d.ts +21 -0
  572. package/lib/common/pipes/order.pipe.d.ts +77 -0
  573. package/lib/common/pipes/placeholder.pipe.d.ts +13 -0
  574. package/lib/common/pipes/safe-html.pipe.d.ts +22 -0
  575. package/lib/common/pipes/time.pipe.d.ts +7 -0
  576. package/lib/common/pipes/titlecase.pipe.d.ts +7 -0
  577. package/lib/common/pipes/truncate.pipe.d.ts +7 -0
  578. package/lib/common/pipes/values.d.ts +7 -0
  579. package/lib/common/public_api.d.ts +17 -0
  580. package/lib/common/services/base.service.d.ts +10 -0
  581. package/lib/common/services/context-helper.d.ts +17 -0
  582. package/lib/common/services/enum.service.d.ts +23 -0
  583. package/lib/common/services/service-locator.d.ts +19 -0
  584. package/lib/common/styles/_common-theme.scss +27 -0
  585. package/lib/common/styles/_elevation.scss +147 -0
  586. package/lib/common/styles/_layout.scss +588 -0
  587. package/lib/common/styles/_rtl.scss +28 -0
  588. package/lib/common/styles/_styles.scss +12 -0
  589. package/lib/common/styles/_theme-functions.scss +27 -0
  590. package/lib/common/styles/_typography-functions.scss +35 -0
  591. package/lib/common/styles/_typography.scss +76 -0
  592. package/lib/common/styles/_variables.scss +98 -0
  593. package/lib/common/styles/colors/_colors-dark.scss +388 -0
  594. package/lib/common/styles/colors/_colors-light.scss +904 -0
  595. package/lib/common/styles/colors/_colors.scss +7 -0
  596. package/lib/common/styles/core/_button.scss +59 -0
  597. package/lib/common/styles/core/_card.scss +160 -0
  598. package/lib/common/styles/core/_content.scss +42 -0
  599. package/lib/common/styles/core/_core.scss +23 -0
  600. package/lib/common/styles/core/_divider.scss +14 -0
  601. package/lib/common/styles/core/_icons.scss +26 -0
  602. package/lib/common/styles/core/_list.scss +8 -0
  603. package/lib/common/styles/core/_sidenav.scss +20 -0
  604. package/lib/common/styles/core/_structure.scss +126 -0
  605. package/lib/common/styles/core/_toolbar.scss +31 -0
  606. package/lib/common/styles/core/_whiteframe.scss +111 -0
  607. package/lib/common/styles/font/_font.scss +92 -0
  608. package/lib/common/styles/material-icons.scss +3 -0
  609. package/lib/common/styles/platform.scss +11 -0
  610. package/lib/common/styles/utilities/_general.scss +81 -0
  611. package/lib/common/styles/utilities/_pad.scss +36 -0
  612. package/lib/common/styles/utilities/_pull.scss +36 -0
  613. package/lib/common/styles/utilities/_push.scss +36 -0
  614. package/lib/common/styles/utilities/_size.scss +24 -0
  615. package/lib/common/styles/utilities/_text.scss +87 -0
  616. package/lib/common/styles/utilities/_utilities.scss +15 -0
  617. package/lib/common/theming/_all-theme.scss +14 -0
  618. package/lib/common/typography/_all-typography.scss +33 -0
  619. package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +20 -0
  620. package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +24 -0
  621. package/lib/dialogs/dialog.component.d.ts +23 -0
  622. package/lib/dialogs/dialogs.module.d.ts +21 -0
  623. package/lib/dialogs/prompt-dialog/prompt-dialog.component.d.ts +25 -0
  624. package/lib/dialogs/public_api.d.ts +1 -0
  625. package/lib/dialogs/services/dialog.service.d.ts +96 -0
  626. package/lib/file/file-input.component.d.ts +191 -0
  627. package/lib/file/file.module.d.ts +13 -0
  628. package/lib/file/public_api.d.ts +1 -0
  629. package/lib/form-validators/abstract/typed-form.d.ts +4 -0
  630. package/lib/form-validators/algorithm/luhn-algorithm.d.ts +1 -0
  631. package/lib/form-validators/const/app-validators.const.d.ts +3 -0
  632. package/lib/form-validators/const/app.const.d.ts +16 -0
  633. package/lib/form-validators/const/config-names.const.d.ts +8 -0
  634. package/lib/form-validators/const/config-required-fields.const.d.ts +3 -0
  635. package/lib/form-validators/const/decorators.const.d.ts +3 -0
  636. package/lib/form-validators/const/events.const.d.ts +13 -0
  637. package/lib/form-validators/const/html-elements.const.d.ts +6 -0
  638. package/lib/form-validators/const/iban-country-wise-regex.const.d.ts +79 -0
  639. package/lib/form-validators/const/index.d.ts +5 -0
  640. package/lib/form-validators/const/operators.const.d.ts +3 -0
  641. package/lib/form-validators/const/validation-alphabet-locale.const.d.ts +3 -0
  642. package/lib/form-validators/const/validator.const.d.ts +7 -0
  643. package/lib/form-validators/core/defaultContainer.d.ts +19 -0
  644. package/lib/form-validators/core/validator.interface.d.ts +61 -0
  645. package/lib/form-validators/core/validator.static.d.ts +3 -0
  646. package/lib/form-validators/decorators/allOf.decorator.d.ts +3 -0
  647. package/lib/form-validators/decorators/alpha.decorator.d.ts +3 -0
  648. package/lib/form-validators/decorators/alphaNumeric.decorator.d.ts +3 -0
  649. package/lib/form-validators/decorators/and.decorator.d.ts +2 -0
  650. package/lib/form-validators/decorators/ascii.decorator.d.ts +2 -0
  651. package/lib/form-validators/decorators/async.decorator.d.ts +2 -0
  652. package/lib/form-validators/decorators/base-decorator.function.d.ts +1 -0
  653. package/lib/form-validators/decorators/choice.decorator.d.ts +3 -0
  654. package/lib/form-validators/decorators/compare.decorator.d.ts +2 -0
  655. package/lib/form-validators/decorators/compose.decorator.d.ts +2 -0
  656. package/lib/form-validators/decorators/contains.decorator.d.ts +3 -0
  657. package/lib/form-validators/decorators/credit-card.decorator.d.ts +3 -0
  658. package/lib/form-validators/decorators/cusip.decorator.d.ts +2 -0
  659. package/lib/form-validators/decorators/custom.decorator.d.ts +3 -0
  660. package/lib/form-validators/decorators/dataUri.decorator.d.ts +2 -0
  661. package/lib/form-validators/decorators/date.decorator.d.ts +3 -0
  662. package/lib/form-validators/decorators/different.decorator.d.ts +2 -0
  663. package/lib/form-validators/decorators/digit.decorator.d.ts +2 -0
  664. package/lib/form-validators/decorators/email.decorator.d.ts +2 -0
  665. package/lib/form-validators/decorators/endsWith.decorator.d.ts +3 -0
  666. package/lib/form-validators/decorators/even.decorator.d.ts +2 -0
  667. package/lib/form-validators/decorators/extension.decorator.d.ts +3 -0
  668. package/lib/form-validators/decorators/factor.decorator.d.ts +3 -0
  669. package/lib/form-validators/decorators/file.decorator.d.ts +3 -0
  670. package/lib/form-validators/decorators/fileSize.decorator.d.ts +3 -0
  671. package/lib/form-validators/decorators/greater-than-equal-to.decorator.d.ts +3 -0
  672. package/lib/form-validators/decorators/greater-than.decorator.d.ts +3 -0
  673. package/lib/form-validators/decorators/grid.decorator.d.ts +2 -0
  674. package/lib/form-validators/decorators/hexColor.decorator.d.ts +2 -0
  675. package/lib/form-validators/decorators/image.decorator.d.ts +3 -0
  676. package/lib/form-validators/decorators/index.d.ts +90 -0
  677. package/lib/form-validators/decorators/json.decorator.d.ts +2 -0
  678. package/lib/form-validators/decorators/latLong.decorator.d.ts +2 -0
  679. package/lib/form-validators/decorators/latitude.decorator.d.ts +2 -0
  680. package/lib/form-validators/decorators/leapYear.decorator.d.ts +2 -0
  681. package/lib/form-validators/decorators/less-than-equal-to.decorator.d.ts +3 -0
  682. package/lib/form-validators/decorators/less-than.decorator.d.ts +3 -0
  683. package/lib/form-validators/decorators/longitude.decorator.d.ts +2 -0
  684. package/lib/form-validators/decorators/lowercase.decorator.d.ts +2 -0
  685. package/lib/form-validators/decorators/mac.decorator.d.ts +2 -0
  686. package/lib/form-validators/decorators/mask.decorator.d.ts +2 -0
  687. package/lib/form-validators/decorators/maxDate.decorator.d.ts +3 -0
  688. package/lib/form-validators/decorators/maxLength.decorator.d.ts +3 -0
  689. package/lib/form-validators/decorators/maxNumber.decorator.d.ts +3 -0
  690. package/lib/form-validators/decorators/maxTime.decorator.d.ts +3 -0
  691. package/lib/form-validators/decorators/minDate.decorator.d.ts +3 -0
  692. package/lib/form-validators/decorators/minLength.decorator.d.ts +3 -0
  693. package/lib/form-validators/decorators/minNumber.decorator.d.ts +3 -0
  694. package/lib/form-validators/decorators/minTime.decorator.d.ts +3 -0
  695. package/lib/form-validators/decorators/model.decorator.d.ts +2 -0
  696. package/lib/form-validators/decorators/non-validation-decorators/disable.decorator.d.ts +2 -0
  697. package/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.d.ts +2 -0
  698. package/lib/form-validators/decorators/non-validation-decorators/error.decorator.d.ts +2 -0
  699. package/lib/form-validators/decorators/noneOf.decorator.d.ts +3 -0
  700. package/lib/form-validators/decorators/not.decorator.d.ts +2 -0
  701. package/lib/form-validators/decorators/notEmpty.decorator.d.ts +2 -0
  702. package/lib/form-validators/decorators/numeric.decorator.d.ts +3 -0
  703. package/lib/form-validators/decorators/odd.decorator.d.ts +2 -0
  704. package/lib/form-validators/decorators/oneOf.decorator.d.ts +3 -0
  705. package/lib/form-validators/decorators/or.decorator.d.ts +2 -0
  706. package/lib/form-validators/decorators/password.decorator.d.ts +3 -0
  707. package/lib/form-validators/decorators/pattern.decorator.d.ts +3 -0
  708. package/lib/form-validators/decorators/port.decorator.d.ts +2 -0
  709. package/lib/form-validators/decorators/primeNumber.decorator.d.ts +2 -0
  710. package/lib/form-validators/decorators/prop-array.decorator.d.ts +3 -0
  711. package/lib/form-validators/decorators/prop-object.decorator.d.ts +3 -0
  712. package/lib/form-validators/decorators/prop.decorator.d.ts +2 -0
  713. package/lib/form-validators/decorators/range.decorator.d.ts +3 -0
  714. package/lib/form-validators/decorators/required.decorator.d.ts +2 -0
  715. package/lib/form-validators/decorators/requiredTrue.decorator.d.ts +2 -0
  716. package/lib/form-validators/decorators/rule.decorator.d.ts +2 -0
  717. package/lib/form-validators/decorators/sanitize/blacklist.decorator.d.ts +1 -0
  718. package/lib/form-validators/decorators/sanitize/escape.decorator.d.ts +1 -0
  719. package/lib/form-validators/decorators/sanitize/ltrim.decorator.d.ts +1 -0
  720. package/lib/form-validators/decorators/sanitize/prefix.decorator.d.ts +1 -0
  721. package/lib/form-validators/decorators/sanitize/rtrim.decorator.d.ts +1 -0
  722. package/lib/form-validators/decorators/sanitize/sanitize.decorator.d.ts +2 -0
  723. package/lib/form-validators/decorators/sanitize/stripLow.decorator.d.ts +1 -0
  724. package/lib/form-validators/decorators/sanitize/suffix.decorator.d.ts +1 -0
  725. package/lib/form-validators/decorators/sanitize/toBoolean.decorator.d.ts +1 -0
  726. package/lib/form-validators/decorators/sanitize/toDate.decorator.d.ts +2 -0
  727. package/lib/form-validators/decorators/sanitize/toDouble.decorator.d.ts +1 -0
  728. package/lib/form-validators/decorators/sanitize/toFloat.decorator.d.ts +1 -0
  729. package/lib/form-validators/decorators/sanitize/toInt.decorator.d.ts +1 -0
  730. package/lib/form-validators/decorators/sanitize/toString.decorator.d.ts +1 -0
  731. package/lib/form-validators/decorators/sanitize/trim.decorator.d.ts +1 -0
  732. package/lib/form-validators/decorators/sanitize/whitelist.decorator.d.ts +1 -0
  733. package/lib/form-validators/decorators/startsWith.decorator.d.ts +3 -0
  734. package/lib/form-validators/decorators/time.decorator.d.ts +3 -0
  735. package/lib/form-validators/decorators/unique.decorator.d.ts +2 -0
  736. package/lib/form-validators/decorators/uppercase.decorator.d.ts +2 -0
  737. package/lib/form-validators/decorators/url.decorator.d.ts +3 -0
  738. package/lib/form-validators/directives/base-directive.d.ts +8 -0
  739. package/lib/form-validators/directives/control-host.directive.d.ts +11 -0
  740. package/lib/form-validators/directives/html-control-template.directive.d.ts +9 -0
  741. package/lib/form-validators/directives/rx-form.directive.d.ts +18 -0
  742. package/lib/form-validators/directives/template-validations/async-validation.directive.d.ts +9 -0
  743. package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +17 -0
  744. package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +18 -0
  745. package/lib/form-validators/directives/template-validations/file-control.directive.d.ts +29 -0
  746. package/lib/form-validators/directives/template-validations/image-file-control.directive.d.ts +17 -0
  747. package/lib/form-validators/directives/template-validations/rxformcontrol.directive.d.ts +89 -0
  748. package/lib/form-validators/domain/disable-provider.d.ts +15 -0
  749. package/lib/form-validators/domain/element-processor/decimal.provider.d.ts +17 -0
  750. package/lib/form-validators/domain/element-processor/mask.provider.d.ts +63 -0
  751. package/lib/form-validators/domain/form-data.d.ts +10 -0
  752. package/lib/form-validators/enums/error-message-binding-strategy.d.ts +9 -0
  753. package/lib/form-validators/enums/index.d.ts +4 -0
  754. package/lib/form-validators/enums/ip-version.d.ts +5 -0
  755. package/lib/form-validators/enums/numeric-value-type.d.ts +5 -0
  756. package/lib/form-validators/enums/reset-type.d.ts +8 -0
  757. package/lib/form-validators/enums/url-validation-type.d.ts +5 -0
  758. package/lib/form-validators/models/config/alpha-config.d.ts +5 -0
  759. package/lib/form-validators/models/config/array-config.d.ts +4 -0
  760. package/lib/form-validators/models/config/base-config-fn.d.ts +10 -0
  761. package/lib/form-validators/models/config/base-config.d.ts +7 -0
  762. package/lib/form-validators/models/config/base-date-config.d.ts +4 -0
  763. package/lib/form-validators/models/config/choice-config.d.ts +5 -0
  764. package/lib/form-validators/models/config/compare-config.d.ts +5 -0
  765. package/lib/form-validators/models/config/component-config.d.ts +3 -0
  766. package/lib/form-validators/models/config/compose-config.d.ts +5 -0
  767. package/lib/form-validators/models/config/contains-config.d.ts +4 -0
  768. package/lib/form-validators/models/config/credit-card-config.d.ts +5 -0
  769. package/lib/form-validators/models/config/custom-config.d.ts +5 -0
  770. package/lib/form-validators/models/config/date-config.d.ts +6 -0
  771. package/lib/form-validators/models/config/default-config.d.ts +4 -0
  772. package/lib/form-validators/models/config/digit-config.d.ts +3 -0
  773. package/lib/form-validators/models/config/disable-config.d.ts +3 -0
  774. package/lib/form-validators/models/config/element-class-config.d.ts +3 -0
  775. package/lib/form-validators/models/config/email-config.d.ts +3 -0
  776. package/lib/form-validators/models/config/error-config.d.ts +3 -0
  777. package/lib/form-validators/models/config/extension-config.d.ts +5 -0
  778. package/lib/form-validators/models/config/factor-config.d.ts +5 -0
  779. package/lib/form-validators/models/config/field-config.d.ts +4 -0
  780. package/lib/form-validators/models/config/file-config.d.ts +5 -0
  781. package/lib/form-validators/models/config/hex-color-config.d.ts +4 -0
  782. package/lib/form-validators/models/config/iban-config.d.ts +4 -0
  783. package/lib/form-validators/models/config/image-config.d.ts +7 -0
  784. package/lib/form-validators/models/config/index.d.ts +34 -0
  785. package/lib/form-validators/models/config/ip-config.d.ts +6 -0
  786. package/lib/form-validators/models/config/logical-operator-config.d.ts +5 -0
  787. package/lib/form-validators/models/config/mask-config.d.ts +6 -0
  788. package/lib/form-validators/models/config/max-date-config.d.ts +4 -0
  789. package/lib/form-validators/models/config/message-config.d.ts +3 -0
  790. package/lib/form-validators/models/config/min-date-config.d.ts +4 -0
  791. package/lib/form-validators/models/config/model-config.d.ts +4 -0
  792. package/lib/form-validators/models/config/number-config.d.ts +4 -0
  793. package/lib/form-validators/models/config/numeric-config.d.ts +8 -0
  794. package/lib/form-validators/models/config/password-config.d.ts +13 -0
  795. package/lib/form-validators/models/config/pattern-config.d.ts +6 -0
  796. package/lib/form-validators/models/config/prop-config.d.ts +14 -0
  797. package/lib/form-validators/models/config/props-config.d.ts +12 -0
  798. package/lib/form-validators/models/config/range-config.d.ts +5 -0
  799. package/lib/form-validators/models/config/relational-operator-config.d.ts +6 -0
  800. package/lib/form-validators/models/config/required-config.d.ts +3 -0
  801. package/lib/form-validators/models/config/rule-config.d.ts +4 -0
  802. package/lib/form-validators/models/config/sanitize-config.d.ts +3 -0
  803. package/lib/form-validators/models/config/size-config.d.ts +5 -0
  804. package/lib/form-validators/models/config/string-comparison-config.d.ts +4 -0
  805. package/lib/form-validators/models/config/time-config.d.ts +15 -0
  806. package/lib/form-validators/models/config/todate-config.d.ts +3 -0
  807. package/lib/form-validators/models/config/unique-config.d.ts +4 -0
  808. package/lib/form-validators/models/config/url-config.d.ts +5 -0
  809. package/lib/form-validators/models/form-builder-configuration.d.ts +28 -0
  810. package/lib/form-validators/models/index.d.ts +2 -0
  811. package/lib/form-validators/models/interface/array-prop-instance-config.interface.d.ts +5 -0
  812. package/lib/form-validators/models/interface/auto-instance-config.interface.d.ts +7 -0
  813. package/lib/form-validators/models/interface/form-data-config.d.ts +3 -0
  814. package/lib/form-validators/models/interface/i-abstract-control.d.ts +15 -0
  815. package/lib/form-validators/models/interface/i-form-group.d.ts +37 -0
  816. package/lib/form-validators/models/interface/instance-argument.interface.d.ts +3 -0
  817. package/lib/form-validators/models/interface/object-prop-instance-config.interface.d.ts +4 -0
  818. package/lib/form-validators/models/interface/options.d.ts +9 -0
  819. package/lib/form-validators/models/password-validation.model.d.ts +20 -0
  820. package/lib/form-validators/models/prop-validation-config.d.ts +78 -0
  821. package/lib/form-validators/public_api.d.ts +24 -0
  822. package/lib/form-validators/reactive-form-validators/allOf.validator.d.ts +3 -0
  823. package/lib/form-validators/reactive-form-validators/alpha.validator.d.ts +3 -0
  824. package/lib/form-validators/reactive-form-validators/alphaNumeric.validator.d.ts +3 -0
  825. package/lib/form-validators/reactive-form-validators/and.validator.d.ts +3 -0
  826. package/lib/form-validators/reactive-form-validators/ascii.validator.d.ts +3 -0
  827. package/lib/form-validators/reactive-form-validators/async/base.async.validator.d.ts +2 -0
  828. package/lib/form-validators/reactive-form-validators/choice.validator.d.ts +3 -0
  829. package/lib/form-validators/reactive-form-validators/compare.validator.d.ts +3 -0
  830. package/lib/form-validators/reactive-form-validators/compose.validator.d.ts +3 -0
  831. package/lib/form-validators/reactive-form-validators/conditional-change.validator.d.ts +2 -0
  832. package/lib/form-validators/reactive-form-validators/contains.validator.d.ts +3 -0
  833. package/lib/form-validators/reactive-form-validators/credit-card.validator.d.ts +3 -0
  834. package/lib/form-validators/reactive-form-validators/cusip.validator.d.ts +3 -0
  835. package/lib/form-validators/reactive-form-validators/custom.validator.d.ts +3 -0
  836. package/lib/form-validators/reactive-form-validators/dataUri.validator.d.ts +3 -0
  837. package/lib/form-validators/reactive-form-validators/date.validator.d.ts +3 -0
  838. package/lib/form-validators/reactive-form-validators/different.validator.d.ts +3 -0
  839. package/lib/form-validators/reactive-form-validators/digit.validator.d.ts +3 -0
  840. package/lib/form-validators/reactive-form-validators/email.validator.d.ts +3 -0
  841. package/lib/form-validators/reactive-form-validators/endsWith.validator.d.ts +3 -0
  842. package/lib/form-validators/reactive-form-validators/even.validator.d.ts +3 -0
  843. package/lib/form-validators/reactive-form-validators/extension.validator.d.ts +2 -0
  844. package/lib/form-validators/reactive-form-validators/factor.validator.d.ts +3 -0
  845. package/lib/form-validators/reactive-form-validators/file.validator.d.ts +2 -0
  846. package/lib/form-validators/reactive-form-validators/fileSize.validator.d.ts +2 -0
  847. package/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.d.ts +3 -0
  848. package/lib/form-validators/reactive-form-validators/greater-than.validator.d.ts +3 -0
  849. package/lib/form-validators/reactive-form-validators/grid.validator.d.ts +3 -0
  850. package/lib/form-validators/reactive-form-validators/hexcolor.validator.d.ts +3 -0
  851. package/lib/form-validators/reactive-form-validators/iban.validator.d.ts +3 -0
  852. package/lib/form-validators/reactive-form-validators/image.validator.d.ts +2 -0
  853. package/lib/form-validators/reactive-form-validators/index.d.ts +65 -0
  854. package/lib/form-validators/reactive-form-validators/ip.validator.d.ts +3 -0
  855. package/lib/form-validators/reactive-form-validators/json.validator.d.ts +3 -0
  856. package/lib/form-validators/reactive-form-validators/latLong.validator.d.ts +3 -0
  857. package/lib/form-validators/reactive-form-validators/latitude.validator.d.ts +3 -0
  858. package/lib/form-validators/reactive-form-validators/leapYear.validator.d.ts +3 -0
  859. package/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.d.ts +3 -0
  860. package/lib/form-validators/reactive-form-validators/less-than.validator.d.ts +3 -0
  861. package/lib/form-validators/reactive-form-validators/longitude.validator.d.ts +3 -0
  862. package/lib/form-validators/reactive-form-validators/lowercase.validator.d.ts +3 -0
  863. package/lib/form-validators/reactive-form-validators/mac.validator.d.ts +3 -0
  864. package/lib/form-validators/reactive-form-validators/mask.validator.d.ts +3 -0
  865. package/lib/form-validators/reactive-form-validators/maxDate.validator.d.ts +3 -0
  866. package/lib/form-validators/reactive-form-validators/maxLength.validator.d.ts +3 -0
  867. package/lib/form-validators/reactive-form-validators/maxNumber.validator.d.ts +3 -0
  868. package/lib/form-validators/reactive-form-validators/maxTime.validator.d.ts +3 -0
  869. package/lib/form-validators/reactive-form-validators/minDate.validator.d.ts +3 -0
  870. package/lib/form-validators/reactive-form-validators/minLength.validator.d.ts +3 -0
  871. package/lib/form-validators/reactive-form-validators/minNumber.validator.d.ts +3 -0
  872. package/lib/form-validators/reactive-form-validators/minTime.validator.d.ts +3 -0
  873. package/lib/form-validators/reactive-form-validators/noneOf.validator.d.ts +3 -0
  874. package/lib/form-validators/reactive-form-validators/not.validator.d.ts +3 -0
  875. package/lib/form-validators/reactive-form-validators/notEmpty.validator.d.ts +3 -0
  876. package/lib/form-validators/reactive-form-validators/numeric.validator.d.ts +3 -0
  877. package/lib/form-validators/reactive-form-validators/odd.validator.d.ts +3 -0
  878. package/lib/form-validators/reactive-form-validators/oneOf.validator.d.ts +3 -0
  879. package/lib/form-validators/reactive-form-validators/or.validator.d.ts +3 -0
  880. package/lib/form-validators/reactive-form-validators/password.validator.d.ts +3 -0
  881. package/lib/form-validators/reactive-form-validators/pattern.validator.d.ts +3 -0
  882. package/lib/form-validators/reactive-form-validators/port.validator.d.ts +3 -0
  883. package/lib/form-validators/reactive-form-validators/primeNumber.validator.d.ts +3 -0
  884. package/lib/form-validators/reactive-form-validators/range.validator.d.ts +3 -0
  885. package/lib/form-validators/reactive-form-validators/required.validator.d.ts +3 -0
  886. package/lib/form-validators/reactive-form-validators/requiredTrue.validator.d.ts +3 -0
  887. package/lib/form-validators/reactive-form-validators/rule.validator.d.ts +3 -0
  888. package/lib/form-validators/reactive-form-validators/startsWith.validator.d.ts +3 -0
  889. package/lib/form-validators/reactive-form-validators/time.validator.d.ts +3 -0
  890. package/lib/form-validators/reactive-form-validators/unique.validator.d.ts +3 -0
  891. package/lib/form-validators/reactive-form-validators/uppercase.validator.d.ts +3 -0
  892. package/lib/form-validators/reactive-form-validators/url.validator.d.ts +3 -0
  893. package/lib/form-validators/services/base-form-builder.d.ts +13 -0
  894. package/lib/form-validators/services/entity.service.d.ts +15 -0
  895. package/lib/form-validators/services/form-control.d.ts +99 -0
  896. package/lib/form-validators/services/form-group.d.ts +9 -0
  897. package/lib/form-validators/services/reactive-form.module.d.ts +24 -0
  898. package/lib/form-validators/services/rx-form-array.d.ts +38 -0
  899. package/lib/form-validators/services/rx-form-builder.d.ts +54 -0
  900. package/lib/form-validators/services/rx-form-group.d.ts +66 -0
  901. package/lib/form-validators/services/typed-form-builder.d.ts +14 -0
  902. package/lib/form-validators/util/alphabet-regex.locale.d.ts +28 -0
  903. package/lib/form-validators/util/app-util.d.ts +28 -0
  904. package/lib/form-validators/util/check-length.d.ts +1 -0
  905. package/lib/form-validators/util/config-provider.d.ts +1 -0
  906. package/lib/form-validators/util/date-checker.function.d.ts +7 -0
  907. package/lib/form-validators/util/date-provider.d.ts +9 -0
  908. package/lib/form-validators/util/form-const.d.ts +2 -0
  909. package/lib/form-validators/util/form-provider.d.ts +8 -0
  910. package/lib/form-validators/util/index.d.ts +6 -0
  911. package/lib/form-validators/util/instance-provider.function.d.ts +3 -0
  912. package/lib/form-validators/util/ip-checker.d.ts +2 -0
  913. package/lib/form-validators/util/linq.d.ts +15 -0
  914. package/lib/form-validators/util/object-maker.d.ts +7 -0
  915. package/lib/form-validators/util/reactive-form-config.d.ts +17 -0
  916. package/lib/form-validators/util/regex-rules.d.ts +3 -0
  917. package/lib/form-validators/util/regex-validator.d.ts +11 -0
  918. package/lib/form-validators/util/relational-checker.function.d.ts +2 -0
  919. package/lib/form-validators/util/reset-form.d.ts +21 -0
  920. package/lib/form-validators/util/sanitizers.d.ts +3 -0
  921. package/lib/form-validators/util/time-checker.function.d.ts +4 -0
  922. package/lib/form-validators/util/type.d.ts +3 -0
  923. package/lib/form-validators/util/validator-value-checker.d.ts +5 -0
  924. package/lib/form-validators/validators-extension/allOf-validator.extension.d.ts +4 -0
  925. package/lib/form-validators/validators-extension/alpha-validator.extension.d.ts +4 -0
  926. package/lib/form-validators/validators-extension/alphaNumeric-validator.extension.d.ts +4 -0
  927. package/lib/form-validators/validators-extension/and-validator.extension.d.ts +3 -0
  928. package/lib/form-validators/validators-extension/ascii-validator.extension.d.ts +3 -0
  929. package/lib/form-validators/validators-extension/base-validator.function.d.ts +3 -0
  930. package/lib/form-validators/validators-extension/choice-validator.extension.d.ts +4 -0
  931. package/lib/form-validators/validators-extension/compare-validator.extension.d.ts +3 -0
  932. package/lib/form-validators/validators-extension/compose-validator.extension.d.ts +3 -0
  933. package/lib/form-validators/validators-extension/contains-validator.extension.d.ts +4 -0
  934. package/lib/form-validators/validators-extension/credit-card-validator.extension.d.ts +4 -0
  935. package/lib/form-validators/validators-extension/cusip-validator.extension.d.ts +3 -0
  936. package/lib/form-validators/validators-extension/custom-validator.extension.d.ts +4 -0
  937. package/lib/form-validators/validators-extension/dataUri-validator.extension.d.ts +3 -0
  938. package/lib/form-validators/validators-extension/date-validator.extension.d.ts +4 -0
  939. package/lib/form-validators/validators-extension/different-validator.extension.d.ts +3 -0
  940. package/lib/form-validators/validators-extension/digit-validator.extension.d.ts +3 -0
  941. package/lib/form-validators/validators-extension/email-validator.extension.d.ts +3 -0
  942. package/lib/form-validators/validators-extension/endsWith-validator.extension.d.ts +4 -0
  943. package/lib/form-validators/validators-extension/even-validator.extension.d.ts +3 -0
  944. package/lib/form-validators/validators-extension/extension-validator.extension.d.ts +4 -0
  945. package/lib/form-validators/validators-extension/factor-validator.extension.d.ts +4 -0
  946. package/lib/form-validators/validators-extension/file-validator.extension.d.ts +4 -0
  947. package/lib/form-validators/validators-extension/fileSize-validator.extension.d.ts +4 -0
  948. package/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.d.ts +4 -0
  949. package/lib/form-validators/validators-extension/greater-than-validator.extension.d.ts +4 -0
  950. package/lib/form-validators/validators-extension/grid-validator.extension.d.ts +3 -0
  951. package/lib/form-validators/validators-extension/hexcolor-validator.extension.d.ts +3 -0
  952. package/lib/form-validators/validators-extension/iban-validator.extension.d.ts +4 -0
  953. package/lib/form-validators/validators-extension/image-validator.extension.d.ts +4 -0
  954. package/lib/form-validators/validators-extension/index.d.ts +67 -0
  955. package/lib/form-validators/validators-extension/ip-validator.extension.d.ts +4 -0
  956. package/lib/form-validators/validators-extension/json-validator.extension.d.ts +3 -0
  957. package/lib/form-validators/validators-extension/latLong-validator.extension.d.ts +3 -0
  958. package/lib/form-validators/validators-extension/latitude-validator.extension.d.ts +3 -0
  959. package/lib/form-validators/validators-extension/leapYear-validator.extension.d.ts +3 -0
  960. package/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.d.ts +4 -0
  961. package/lib/form-validators/validators-extension/less-than-validator.extension.d.ts +4 -0
  962. package/lib/form-validators/validators-extension/longitude-validator.extension.d.ts +3 -0
  963. package/lib/form-validators/validators-extension/lowercase-validator.extension.d.ts +3 -0
  964. package/lib/form-validators/validators-extension/mac-validator.extension.d.ts +3 -0
  965. package/lib/form-validators/validators-extension/mask-validator.extension.d.ts +3 -0
  966. package/lib/form-validators/validators-extension/maxDate-validator.extension.d.ts +4 -0
  967. package/lib/form-validators/validators-extension/maxLength-validator.extension.d.ts +4 -0
  968. package/lib/form-validators/validators-extension/maxNumber-validator.extension.d.ts +4 -0
  969. package/lib/form-validators/validators-extension/maxTime-validator.extension.d.ts +4 -0
  970. package/lib/form-validators/validators-extension/minDate-validator.extension.d.ts +4 -0
  971. package/lib/form-validators/validators-extension/minLength-validator.extension.d.ts +4 -0
  972. package/lib/form-validators/validators-extension/minNumber-validator.extension.d.ts +4 -0
  973. package/lib/form-validators/validators-extension/minTime-validator.extension.d.ts +4 -0
  974. package/lib/form-validators/validators-extension/noneOf-validator.extension.d.ts +4 -0
  975. package/lib/form-validators/validators-extension/not-validator.extension.d.ts +3 -0
  976. package/lib/form-validators/validators-extension/notEmpty-validator.extension.d.ts +3 -0
  977. package/lib/form-validators/validators-extension/numeric-validator.extension.d.ts +4 -0
  978. package/lib/form-validators/validators-extension/odd-validator.extension.d.ts +3 -0
  979. package/lib/form-validators/validators-extension/oneOf-validator.extension.d.ts +4 -0
  980. package/lib/form-validators/validators-extension/or-validator.extension.d.ts +3 -0
  981. package/lib/form-validators/validators-extension/password-validator.extension.d.ts +4 -0
  982. package/lib/form-validators/validators-extension/pattern-validator.extension.d.ts +4 -0
  983. package/lib/form-validators/validators-extension/port-validator.extension.d.ts +3 -0
  984. package/lib/form-validators/validators-extension/primeNumber-validator.extension.d.ts +3 -0
  985. package/lib/form-validators/validators-extension/range-validator.extension.d.ts +4 -0
  986. package/lib/form-validators/validators-extension/required-validator.extension.d.ts +3 -0
  987. package/lib/form-validators/validators-extension/requiredTrue-validator.extension.d.ts +3 -0
  988. package/lib/form-validators/validators-extension/rxweb-validators.d.ts +107 -0
  989. package/lib/form-validators/validators-extension/startsWith-validator.extension.d.ts +4 -0
  990. package/lib/form-validators/validators-extension/time-validator.extension.d.ts +4 -0
  991. package/lib/form-validators/validators-extension/unique-validator.extension.d.ts +3 -0
  992. package/lib/form-validators/validators-extension/uppercase-validator.extension.d.ts +3 -0
  993. package/lib/form-validators/validators-extension/url-validator.extension.d.ts +4 -0
  994. package/lib/form-validators/validators-function/alpha-validation.function.d.ts +3 -0
  995. package/lib/form-validators/validators-function/regex-validation.function.d.ts +4 -0
  996. package/lib/forms/components/generic-form/generic-form.component.d.ts +91 -0
  997. package/lib/forms/constants/constants.d.ts +1 -0
  998. package/lib/forms/directives/mat-form-field-editor.directive.d.ts +82 -0
  999. package/lib/forms/directives/mat-form-field-readonly.directive.d.ts +16 -0
  1000. package/lib/forms/enums/form-field-type.d.ts +17 -0
  1001. package/lib/forms/forms.module.d.ts +39 -0
  1002. package/lib/forms/functions/decorators.d.ts +14 -0
  1003. package/lib/forms/functions/functions.d.ts +7 -0
  1004. package/lib/forms/helpers/abstract-mat-form-field.d.ts +182 -0
  1005. package/lib/forms/helpers/value-accessor-base.d.ts +92 -0
  1006. package/lib/forms/models/form-field-definition.d.ts +39 -0
  1007. package/lib/forms/models/form-field-group.d.ts +12 -0
  1008. package/lib/forms/public_api.d.ts +3 -0
  1009. package/lib/forms/validators/equal-validator.directive.d.ts +20 -0
  1010. package/lib/forms/validators/native-element-injector.directive.d.ts +17 -0
  1011. package/lib/forms/validators/unique-validator-directive.d.ts +36 -0
  1012. package/lib/http/http.module.d.ts +8 -0
  1013. package/lib/http/public_api.d.ts +1 -0
  1014. package/lib/http/services/generic.service.d.ts +166 -0
  1015. package/lib/layout/_layout-theme.scss +89 -0
  1016. package/lib/layout/form-toolbar/form-toolbar.component.d.ts +23 -0
  1017. package/lib/layout/form-toolbar-menu/form-toolbar-menu.component.d.ts +10 -0
  1018. package/lib/layout/layout-card-over/layout-card-over.component.d.ts +31 -0
  1019. package/lib/layout/layout-footer/layout-footer.component.d.ts +17 -0
  1020. package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +100 -0
  1021. package/lib/layout/layout-manage-list/layout-manage-list.directives.d.ts +61 -0
  1022. package/lib/layout/layout-nav/layout-nav.component.d.ts +85 -0
  1023. package/lib/layout/layout-nav-list/layout-nav-list.component.d.ts +94 -0
  1024. package/lib/layout/layout-nav-list/layout-nav-list.directives.d.ts +25 -0
  1025. package/lib/layout/layout-toggle.class.d.ts +37 -0
  1026. package/lib/layout/layout.component.d.ts +56 -0
  1027. package/lib/layout/layout.directives.d.ts +25 -0
  1028. package/lib/layout/layout.module.d.ts +46 -0
  1029. package/lib/layout/list-toolbar/list-toolbar.component.d.ts +19 -0
  1030. package/lib/layout/list-toolbar-menu/list-toolbar-menu.component.d.ts +10 -0
  1031. package/lib/layout/navigation-drawer/navigation-drawer.component.d.ts +114 -0
  1032. package/lib/layout/public_api.d.ts +1 -0
  1033. package/lib/media/directives/media-toggle.directive.d.ts +44 -0
  1034. package/lib/media/media.module.d.ts +11 -0
  1035. package/lib/media/public_api.d.ts +1 -0
  1036. package/lib/media/services/media.service.d.ts +37 -0
  1037. package/lib/menu/components/menu.component.d.ts +28 -0
  1038. package/lib/menu/enums/menu-scope.d.ts +4 -0
  1039. package/lib/menu/menu.module.d.ts +19 -0
  1040. package/lib/menu/models/menu-item.d.ts +17 -0
  1041. package/lib/menu/models/menu.d.ts +14 -0
  1042. package/lib/menu/public_api.d.ts +1 -0
  1043. package/lib/menu/services/menu-items.service.d.ts +12 -0
  1044. package/lib/menu/services/menu.resolve.d.ts +39 -0
  1045. package/lib/menu/services/menu.service.d.ts +12 -0
  1046. package/lib/search/public_api.d.ts +1 -0
  1047. package/lib/search/search.module.d.ts +15 -0
  1048. package/lib/search/vd-search-box/vd-search-box.component.d.ts +60 -0
  1049. package/lib/search/vd-search-input/vd-search-input.component.d.ts +57 -0
  1050. package/lib/select/public_api.d.ts +2 -0
  1051. package/lib/select/select.component.d.ts +233 -0
  1052. package/lib/select/select.module.d.ts +13 -0
  1053. package/lib/table/components/dynamic-table/dynamic-table.component.d.ts +202 -0
  1054. package/lib/table/components/filter-clear.component.d.ts +16 -0
  1055. package/lib/table/components/filter-date.component.d.ts +70 -0
  1056. package/lib/table/components/filter-input.component.d.ts +94 -0
  1057. package/lib/table/components/filter-select.component.d.ts +178 -0
  1058. package/lib/table/directives/data-source-filter.directive.d.ts +28 -0
  1059. package/lib/table/enums/table-column-type.d.ts +12 -0
  1060. package/lib/table/functions/decorators.d.ts +17 -0
  1061. package/lib/table/functions/functions.d.ts +8 -0
  1062. package/lib/table/models/pagination.d.ts +7 -0
  1063. package/lib/table/models/table-column.d.ts +59 -0
  1064. package/lib/table/models/table-definition.d.ts +24 -0
  1065. package/lib/table/models/table-menu-item.d.ts +8 -0
  1066. package/lib/table/paginator-intl.d.ts +27 -0
  1067. package/lib/table/public_api.d.ts +2 -0
  1068. package/lib/table/table.data-source.d.ts +140 -0
  1069. package/lib/table/table.module.d.ts +46 -0
  1070. package/lib/table/table.static-data-source.d.ts +88 -0
  1071. package/messaia-cdk.d.ts +5 -0
  1072. package/package.json +31 -0
  1073. package/public_api.d.ts +14 -0
  1074. package/src/lib/layout/README.md +119 -0
  1075. package/src/lib/layout/layout-card-over/README.md +36 -0
  1076. package/src/lib/layout/layout-manage-list/README.md +76 -0
  1077. package/src/lib/layout/layout-nav/README.md +40 -0
  1078. package/src/lib/layout/layout-nav-list/README.md +85 -0
@@ -0,0 +1,66 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { MatDialogModule } from '@angular/material/dialog';
6
+ import { BaseComponent } from './components/base.component';
7
+ import { GenericFormBaseComponent } from './components/generic-form-base.component';
8
+ import { GenericFormComponent } from './components/generic-form.component';
9
+ import { GenericListComponent } from './components/generic-list.component';
10
+ import { GenericReactiveFormComponent } from './components/generic-reactive-form.component';
11
+ import { Common } from './constants/common';
12
+ import { MessageType } from './enums/message-type';
13
+ import { AuthHelper } from './helpers/auth-helper';
14
+ import { BaseInterceptor } from './interceptors/base.interceptor';
15
+ import { CachingInterceptor } from './interceptors/caching-interceptor';
16
+ import { LoadingScreenInterceptor } from './interceptors/loading.interceptor';
17
+ import { AuthUser } from './models/auth-user';
18
+ import { FileService } from './services/file.service';
19
+ import { LoadingScreenService } from './services/loading-screen.service';
20
+ import { PrintService } from './services/print.service';
21
+ import * as i0 from "@angular/core";
22
+ export { AuthUser, MessageType, AuthHelper, BaseComponent, GenericListComponent, GenericFormComponent, GenericFormBaseComponent, GenericReactiveFormComponent, Common, BaseInterceptor, CachingInterceptor, LoadingScreenInterceptor, FileService, LoadingScreenService, PrintService };
23
+ const DECLARATIONS = [];
24
+ const MATRIAL_DECLARATIONS = [];
25
+ export class VdBaseModule {
26
+ }
27
+ /** @nocollapse */ /** @nocollapse */ VdBaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
+ /** @nocollapse */ /** @nocollapse */ VdBaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdBaseModule, imports: [CommonModule,
29
+ FormsModule,
30
+ ReactiveFormsModule,
31
+ MatDialogModule] });
32
+ /** @nocollapse */ /** @nocollapse */ VdBaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdBaseModule, providers: [
33
+ { provide: HTTP_INTERCEPTORS, useClass: BaseInterceptor, multi: true },
34
+ { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true },
35
+ { provide: HTTP_INTERCEPTORS, useClass: LoadingScreenInterceptor, multi: true },
36
+ ], imports: [[
37
+ CommonModule,
38
+ FormsModule,
39
+ ReactiveFormsModule,
40
+ MatDialogModule,
41
+ MATRIAL_DECLARATIONS
42
+ ]] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdBaseModule, decorators: [{
44
+ type: NgModule,
45
+ args: [{
46
+ imports: [
47
+ CommonModule,
48
+ FormsModule,
49
+ ReactiveFormsModule,
50
+ MatDialogModule,
51
+ MATRIAL_DECLARATIONS
52
+ ],
53
+ providers: [
54
+ { provide: HTTP_INTERCEPTORS, useClass: BaseInterceptor, multi: true },
55
+ { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true },
56
+ { provide: HTTP_INTERCEPTORS, useClass: LoadingScreenInterceptor, multi: true },
57
+ ],
58
+ declarations: [
59
+ DECLARATIONS
60
+ ],
61
+ exports: [
62
+ DECLARATIONS
63
+ ]
64
+ }]
65
+ }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9iYXNlL2Jhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFeEQsT0FBTyxFQUNOLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsTUFBTSxFQUNOLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFFeEIsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUE7QUFzQi9CLE1BQU0sT0FBTyxZQUFZOzsrSUFBWixZQUFZO2dKQUFaLFlBQVksWUFsQnZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGVBQWU7Z0pBZUosWUFBWSxhQVpiO1FBQ1YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1FBQ3RFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1FBQ3pFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQy9FLFlBWFE7WUFDUixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2Ysb0JBQW9CO1NBQ3BCOzJGQWFXLFlBQVk7a0JBcEJ4QixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG9CQUFvQjtxQkFDcEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNWLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDdEUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ3pFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUMvRTtvQkFDRCxZQUFZLEVBQUU7d0JBQ2IsWUFBWTtxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1IsWUFBWTtxQkFDWjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLWZvcm0tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHZW5lcmljRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJpY0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyaWNSZWFjdGl2ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9lbnVtcy9tZXNzYWdlLXR5cGUnO1xyXG5pbXBvcnQgeyBBdXRoSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzL2F1dGgtaGVscGVyJztcclxuaW1wb3J0IHsgQmFzZUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYmFzZS5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IENhY2hpbmdJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2NhY2hpbmctaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2NyZWVuSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9sb2FkaW5nLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQXV0aFVzZXIgfSBmcm9tICcuL21vZGVscy9hdXRoLXVzZXInO1xyXG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9hZGluZ1NjcmVlblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvYWRpbmctc2NyZWVuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByaW50LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHtcclxuXHRBdXRoVXNlcixcclxuXHRNZXNzYWdlVHlwZSxcclxuXHRBdXRoSGVscGVyLFxyXG5cdEJhc2VDb21wb25lbnQsXHJcblx0R2VuZXJpY0xpc3RDb21wb25lbnQsXHJcblx0R2VuZXJpY0Zvcm1Db21wb25lbnQsXHJcblx0R2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50LFxyXG5cdEdlbmVyaWNSZWFjdGl2ZUZvcm1Db21wb25lbnQsXHJcblx0Q29tbW9uLFxyXG5cdEJhc2VJbnRlcmNlcHRvcixcclxuXHRDYWNoaW5nSW50ZXJjZXB0b3IsXHJcblx0TG9hZGluZ1NjcmVlbkludGVyY2VwdG9yLFxyXG5cdEZpbGVTZXJ2aWNlLFxyXG5cdExvYWRpbmdTY3JlZW5TZXJ2aWNlLFxyXG5cdFByaW50U2VydmljZVxyXG59O1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TID0gW107XHJcblxyXG5jb25zdCBNQVRSSUFMX0RFQ0xBUkFUSU9OUyA9IFtdXHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdE1hdERpYWxvZ01vZHVsZSxcclxuXHRcdE1BVFJJQUxfREVDTEFSQVRJT05TXHJcblx0XSxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBCYXNlSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcblx0XHR7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQ2FjaGluZ0ludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG5cdFx0eyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IExvYWRpbmdTY3JlZW5JbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuXHRdLFxyXG5cdGRlY2xhcmF0aW9uczogW1xyXG5cdFx0REVDTEFSQVRJT05TXHJcblx0XSxcclxuXHRleHBvcnRzOiBbXHJcblx0XHRERUNMQVJBVElPTlNcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZEJhc2VNb2R1bGUgeyB9Il19
@@ -0,0 +1,441 @@
1
+ import { Location } from '@angular/common';
2
+ import { HttpHeaders } from '@angular/common/http';
3
+ import { ChangeDetectorRef, Directive, ElementRef, QueryList, ViewChildren } from '@angular/core';
4
+ import { MatExpansionPanel } from '@angular/material/expansion';
5
+ import { MatSnackBar } from '@angular/material/snack-bar';
6
+ import { Title } from '@angular/platform-browser';
7
+ import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
8
+ import { of } from 'rxjs';
9
+ import { ContextHelper } from '../../common/common.module';
10
+ import { AppSetting } from '../../common/models/app-setting';
11
+ import { ServiceLocator } from '../../common/services/service-locator';
12
+ import { VdDialogService } from '../../dialogs/services/dialog.service';
13
+ import { VdMediaService } from '../../media/services/media.service';
14
+ import { Common } from '../constants/common';
15
+ import { MessageType } from '../enums/message-type';
16
+ import { AuthHelper } from '../helpers/auth-helper';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/router";
19
+ /**
20
+ * A base list component for components with pagination support
21
+ */
22
+ // @dynamic
23
+ export class BaseComponent {
24
+ /**
25
+ * Constructor
26
+ */
27
+ constructor(route, changeDetectorRef) {
28
+ this.route = route;
29
+ this.changeDetectorRef = changeDetectorRef;
30
+ /**
31
+ * The subtitle of the current outlet
32
+ */
33
+ this.subtitle = '';
34
+ /**
35
+ * Represents the request errors
36
+ */
37
+ this.errors = new Array();
38
+ /**
39
+ * Allowed file extensions
40
+ */
41
+ this.allowedExtensions = Common.allowedExtensions;
42
+ /**
43
+ * tinyMCE plugins
44
+ */
45
+ this.editorPlugins = Common.editorPlugins;
46
+ /**
47
+ * tinyMCE editor
48
+ */
49
+ this.editorToolbar = Common.editorToolbar;
50
+ /**
51
+ * Editor configuration
52
+ */
53
+ this.editorConfig = {};
54
+ /**
55
+ * urlHash: string
56
+ */
57
+ this.urlHash = null;
58
+ /**
59
+ * Current user object
60
+ */
61
+ this.currentUser = AuthHelper.user;
62
+ /**
63
+ * If true, set url hash
64
+ */
65
+ this.setUrlHash = true;
66
+ /**
67
+ * Checks if the user seleceted any text in the document
68
+ * @returns
69
+ */
70
+ this.isTextSelected = () => window?.getSelection()?.toString()?.length > 0;
71
+ this.titleService = this.getService(Title);
72
+ this.dialogService = this.getService(VdDialogService);
73
+ this.media = this.getService(VdMediaService);
74
+ this.snackBarService = this.getService(MatSnackBar);
75
+ this.router = this.getService(Router);
76
+ this.appSetting = this.getService(AppSetting);
77
+ this.location = this.getService(Location);
78
+ ContextHelper.activatedRoute = route;
79
+ ContextHelper.router = this.router;
80
+ ContextHelper.appSetting = this.appSetting;
81
+ this.initEditor();
82
+ }
83
+ get isSaving() { return this._isSaving || this.isLoading; }
84
+ set isSaving(isSaving) { this.isLoading = this._isSaving = isSaving; }
85
+ /**
86
+ * Lifecycle hook that is called after data-bound properties
87
+ * of a directive are initialized.
88
+ */
89
+ ngOnInit() {
90
+ /* Get menu items from route snapshot */
91
+ var mainRoute = this.getMainRoute(this.route.snapshot);
92
+ if (mainRoute) {
93
+ this.menu = mainRoute.data.menu;
94
+ }
95
+ /* Set project name & debug mode */
96
+ this.projectName = this.appSetting.projectName;
97
+ this.debug = this.appSetting.debug;
98
+ /* Get the hash from the url */
99
+ this.route.fragment.subscribe((fragment) => this.urlHash = fragment);
100
+ /**
101
+ * Check permissions
102
+ */
103
+ if (this.route.parent) {
104
+ this.route.parent.url.subscribe((url) => {
105
+ this.className = url.length ? url[0].path.replace(/(.*)s$/, '$1').replace(/^./, (url[0].path[0] || '').toUpperCase()) : '';
106
+ this.canCreate = AuthHelper.isPermitted('Create', `Create${this.className}`);
107
+ this.canUpdate = AuthHelper.isPermitted('Update', `Update${this.className}`);
108
+ });
109
+ }
110
+ /* Set current route */
111
+ this.currentRoute = btoa(this.router.url);
112
+ /**
113
+ * Set page title
114
+ */
115
+ this.router.events.subscribe(x => {
116
+ if (x instanceof NavigationEnd) {
117
+ this.setTitles();
118
+ this.currentRoute = btoa(x.url);
119
+ }
120
+ });
121
+ }
122
+ /**
123
+ * Lifecycle hook that is called after a component's view has been fully initialized.
124
+ */
125
+ ngAfterViewInit() {
126
+ /* Broadcast to all listener observables when loading the page */
127
+ this.media.broadcast();
128
+ /* Set titles */
129
+ this.setTitles();
130
+ /*
131
+ * Force a new change detection cycle since change detections
132
+ * have finished when `ngAfterViewInit` is executed
133
+ */
134
+ this.changeDetectorRef.detectChanges();
135
+ /* Listen for expansion panel changes */
136
+ this.onExpansionPanelChanges();
137
+ }
138
+ /**
139
+ * Refreshs this page/component
140
+ */
141
+ reloadPage() {
142
+ let currentUrl = this.router.url;
143
+ this.router.navigateByUrl('/', { replaceUrl: true }).then(() => this.router.navigateByUrl(currentUrl, { replaceUrl: true }));
144
+ }
145
+ /**
146
+ * Listen for expansion panel changes
147
+ */
148
+ onExpansionPanelChanges() {
149
+ /* Listen for expansion panel changes */
150
+ this.matExpansionPanelQueryList?.changes.subscribe(_ => {
151
+ this.changeDetectorRef.detectChanges();
152
+ /* Find the index of the panel with the specified element ID */
153
+ this.urlHash?.split('.')
154
+ ?.reduce((accumulator, currentValue, index) => accumulator.concat((index > 0 ? (accumulator.slice(-1).join('.') + '.') : '') + currentValue), [])
155
+ ?.forEach((hash) => {
156
+ var expansionPanelIndex = this.matExpansionPanelElementQueryList?.toArray()?.findIndex(x => x.nativeElement.id == hash);
157
+ if (expansionPanelIndex >= 0) {
158
+ this.matExpansionPanelQueryList?.toArray()[expansionPanelIndex]?.open();
159
+ this.changeDetectorRef.detectChanges();
160
+ }
161
+ });
162
+ /* Detect changes for opened panels */
163
+ this.matExpansionPanelQueryList?.forEach(y => {
164
+ y.opened.subscribe(_ => {
165
+ if (this.setUrlHash) {
166
+ /* Get the id of the current opened panel */
167
+ var currentPanelId = y['_viewContainerRef']?.element?.nativeElement?.id;
168
+ /* If the panel ID is set, set it as url segment (hash) */
169
+ if (currentPanelId) {
170
+ this.router.navigate([], { fragment: currentPanelId, replaceUrl: true });
171
+ }
172
+ /* Otherwise remove the segment from the url */
173
+ else {
174
+ this.router.navigate([], { replaceUrl: true });
175
+ }
176
+ }
177
+ /* Detect changes */
178
+ this.changeDetectorRef.detectChanges();
179
+ });
180
+ });
181
+ });
182
+ /* Notify expansion panel list changes */
183
+ this.matExpansionPanelQueryList.notifyOnChanges();
184
+ }
185
+ /**
186
+ * Retrieves an instance from the injector based on the provided token.
187
+ * If not found:
188
+ * - Throws {@link NoProviderError} if no `notFoundValue` that is not equal to
189
+ * Injector.THROW_IF_NOT_FOUND is given
190
+ * - Returns the `notFoundValue` otherwise
191
+ */
192
+ getService(token) {
193
+ return ServiceLocator.getService(token);
194
+ }
195
+ /**
196
+ * Gets base route
197
+ * @param snapshot
198
+ */
199
+ getMainRoute(snapshot) {
200
+ if (snapshot && !snapshot.data.menu) {
201
+ return this.getMainRoute(snapshot.parent);
202
+ }
203
+ return snapshot;
204
+ }
205
+ /**
206
+ * Shows a confirm dialog to delete an item
207
+ */
208
+ showDeleteItemDialog() {
209
+ return this.dialogService.openConfirm({
210
+ message: $localize `:@@dialog.message.delete.one:Are you sure you want to delete this item?`,
211
+ title: $localize `:@@dialog.title.delete:Confirm Delete`,
212
+ cancelButton: $localize `:@@cancel:Cancel`,
213
+ acceptButton: $localize `:@@delete:Delete`,
214
+ }).afterClosed();
215
+ }
216
+ /**
217
+ * Shows a confirm dialog to delete multiple items
218
+ */
219
+ showDeleteItemsDialog() {
220
+ return this.dialogService.openConfirm({
221
+ message: $localize `:@@dialog.message.delete.list:Are you sure you want to delete the selected items?`,
222
+ title: $localize `:@@dialog.title.delete:Confirm Delete`,
223
+ cancelButton: $localize `:@@cancel:Cancel`,
224
+ acceptButton: $localize `:@@delete:Delete`,
225
+ }).afterClosed();
226
+ }
227
+ /**
228
+ * Shows a confirm dialog to send some data
229
+ * @param message The message to display
230
+ * @param observabe The observable instance
231
+ * @param successCallback A success callback
232
+ * @param errorCallback An error callback
233
+ */
234
+ showConfirmationDialog(message, observabe, successCallback = null, errorCallback = null) {
235
+ this.dialogService
236
+ .openConfirm({
237
+ message: message,
238
+ title: $localize `:@@dialog.title.confirm:Confirm`,
239
+ cancelButton: $localize `:@@cancel:Cancel`,
240
+ acceptButton: $localize `:@@ok:Ok`,
241
+ })
242
+ .afterClosed().subscribe((accept) => {
243
+ if (accept) {
244
+ observabe.subscribe(x => {
245
+ this.showMessage($localize `:@@snackbar.send.success:Data sent successfully.`);
246
+ if (successCallback) {
247
+ successCallback(x);
248
+ }
249
+ }, errors => {
250
+ this.isSaving = false;
251
+ if (errorCallback) {
252
+ errorCallback(errors);
253
+ }
254
+ });
255
+ }
256
+ });
257
+ }
258
+ /**
259
+ * Shows a message
260
+ * @param message The message to display
261
+ * @param type The type of the message
262
+ */
263
+ showMessage(message, type = MessageType.Success) {
264
+ var snackBarClass = 'primary';
265
+ switch (type) {
266
+ case MessageType.Success:
267
+ snackBarClass = 'primary';
268
+ break;
269
+ case MessageType.Warning:
270
+ snackBarClass = 'warn';
271
+ break;
272
+ case MessageType.Error:
273
+ snackBarClass = 'error';
274
+ break;
275
+ default:
276
+ break;
277
+ }
278
+ this.snackBarService.open(message || $localize `:@@snackbar.send.success:Data sent successfully.`, null, {
279
+ duration: 3000,
280
+ panelClass: [snackBarClass]
281
+ });
282
+ }
283
+ /**
284
+ * Initoalizes the tinymce editor
285
+ */
286
+ initEditor(editorConfig = {}) {
287
+ Object.assign(this.editorConfig, {
288
+ suffix: '.min',
289
+ skin: false,
290
+ height: '170px',
291
+ content_css: false,
292
+ plugins: this.editorPlugins,
293
+ toolbar: this.editorToolbar,
294
+ paste_as_text: true,
295
+ language: 'de',
296
+ language_url: '/assets/tinymce/langs/de.js',
297
+ document_base_url: `${this.appSetting.apiUrl}file/`,
298
+ automatic_uploads: true,
299
+ relative_urls: true,
300
+ convert_urls: false,
301
+ extended_valid_elements: 'span[id|class|style],+@[data-options]',
302
+ allow_html_in_named_anchor: true
303
+ }, editorConfig);
304
+ this.isEditorInitialzed = true;
305
+ }
306
+ /**
307
+ * Sets subtitle from curren menu
308
+ */
309
+ setTitles() {
310
+ if (this.menu) {
311
+ this.titleService.setTitle(this.menu.title);
312
+ this.title = this.titleService.getTitle();
313
+ if (this.menu.items) {
314
+ var submenu = this.menu.items.filter(x => x.path == this.router.url)[0];
315
+ if (submenu) {
316
+ this.subtitle = submenu.title;
317
+ }
318
+ }
319
+ }
320
+ }
321
+ /**
322
+ * Navigate based on the provided array of commands and a starting point.
323
+ * @param commands
324
+ */
325
+ navigate(commands, queryParams) {
326
+ this.router.navigate(commands, { queryParams: Object.assign({ returnUrl: this.currentRoute }, queryParams || {}), relativeTo: this.route });
327
+ }
328
+ /**
329
+ * Convert Object to HttpHeaders
330
+ *
331
+ * @param body
332
+ */
333
+ toHttpHeaders(body) {
334
+ if (!body) {
335
+ return new HttpHeaders();
336
+ }
337
+ return Object.getOwnPropertyNames(body)
338
+ .filter(key => body[key] != null && body[key] != '')
339
+ .reduce((p, key) => p.set(key, body[key]), new HttpHeaders());
340
+ }
341
+ /**
342
+ * Parses http response errors
343
+ * @param errors
344
+ */
345
+ parseErrors(errors) {
346
+ this.errors = [];
347
+ this.isLoading = false;
348
+ this.isSaving = false;
349
+ if (errors) {
350
+ Object.keys(errors).forEach(el => {
351
+ let error = errors[el];
352
+ if (Array.isArray(error)) {
353
+ error.forEach(err => {
354
+ this.errors.push(err);
355
+ });
356
+ }
357
+ else if (typeof error === "string") {
358
+ this.errors.push(error);
359
+ }
360
+ });
361
+ }
362
+ }
363
+ /**
364
+ * Handle Http operation that failed.
365
+ * Let the app continue.
366
+ * @param operation - name of the operation that failed
367
+ * @param result - optional value to return as the observable result
368
+ */
369
+ handleError(operation = 'operation', result) {
370
+ return (error) => {
371
+ /* Parse the error messages */
372
+ this.parseErrors(error);
373
+ /* Log to console */
374
+ this.warn(`${operation} failed: ${error.message}`);
375
+ /* Let the app keep running by returning an empty result */
376
+ return of(result);
377
+ };
378
+ }
379
+ /**
380
+ * Log to console
381
+ * @param message
382
+ * @param optionalParams
383
+ */
384
+ log(message, ...optionalParams) {
385
+ if (this.debug) {
386
+ console.log(message, optionalParams);
387
+ }
388
+ }
389
+ /**
390
+ * Log to console
391
+ * @param message
392
+ * @param optionalParams
393
+ */
394
+ warn(message, ...optionalParams) {
395
+ if (this.debug) {
396
+ console.warn(message, optionalParams);
397
+ }
398
+ }
399
+ /**
400
+ * Cleans the objects
401
+ * Removes empty properties
402
+ * @param obj
403
+ */
404
+ clean(obj) {
405
+ try {
406
+ for (var propName in obj) {
407
+ if (obj[propName] === null || obj[propName] === undefined || obj[propName] === "") {
408
+ delete obj[propName];
409
+ }
410
+ }
411
+ }
412
+ catch (error) { }
413
+ return obj;
414
+ }
415
+ /**
416
+ * Sanitizes the specified object
417
+ * @param obj
418
+ * @returns
419
+ */
420
+ sanitizeObject(obj, ...ignore) {
421
+ return Object.keys(obj)
422
+ .filter(x => obj[x])
423
+ .filter(x => !(ignore || []).map(x => x.toLowerCase()).includes(x.toLowerCase()))
424
+ .reduce((result, key) => {
425
+ result[key] = isNaN(+obj[key]) ? obj[key] : +obj[key];
426
+ return result;
427
+ }, {});
428
+ }
429
+ }
430
+ /** @nocollapse */ /** @nocollapse */ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: BaseComponent, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
431
+ /** @nocollapse */ /** @nocollapse */ BaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: BaseComponent, viewQueries: [{ propertyName: "matExpansionPanelElementQueryList", predicate: MatExpansionPanel, descendants: true, read: ElementRef }, { propertyName: "matExpansionPanelQueryList", predicate: MatExpansionPanel, descendants: true }], ngImport: i0 });
432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: BaseComponent, decorators: [{
433
+ type: Directive
434
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { matExpansionPanelElementQueryList: [{
435
+ type: ViewChildren,
436
+ args: [MatExpansionPanel, { read: ElementRef }]
437
+ }], matExpansionPanelQueryList: [{
438
+ type: ViewChildren,
439
+ args: [MatExpansionPanel]
440
+ }] } });
441
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9iYXNlL2NvbXBvbmVudHMvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsU0FBUyxFQUFRLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1B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QUMsQ0FBQyxDQUFDLENBQUM7YUFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7YUFDaEYsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxPQUFPLE1BQU0sQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7O2dKQTdpQm9CLGFBQWE7b0lBQWIsYUFBYSxnRkE2SXBCLGlCQUFpQiwyQkFBVSxVQUFVLDZEQU1yQyxpQkFBaUI7MkZBbkpWLGFBQWE7a0JBRGxDLFNBQVM7cUlBK0lDLGlDQUFpQztzQkFEMUMsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBTzNDLDBCQUEwQjtzQkFEbkMsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIFF1ZXJ5TGlzdCwgVHlwZSwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29udGV4dEhlbHBlciB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcclxuaW1wb3J0IHsgQXBwU2V0dGluZyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvYXBwLXNldHRpbmcnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlTG9jYXRvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9zZXJ2aWNlLWxvY2F0b3InO1xyXG5pbXBvcnQgeyBWZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kaWFsb2dzL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmRNZWRpYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tZWRpYS9zZXJ2aWNlcy9tZWRpYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudSB9IGZyb20gJy4uLy4uL21lbnUvbW9kZWxzL21lbnUnO1xyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi9jb25zdGFudHMvY29tbW9uJztcclxuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuLi9lbnVtcy9tZXNzYWdlLXR5cGUnO1xyXG5pbXBvcnQgeyBBdXRoSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9hdXRoLWhlbHBlcic7XHJcbmltcG9ydCB7IEF1dGhVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2F1dGgtdXNlcic7XHJcblxyXG4vKipcclxuICogQSBiYXNlIGxpc3QgY29tcG9uZW50IGZvciBjb21wb25lbnRzIHdpdGggcGFnaW5hdGlvbiBzdXBwb3J0XHJcbiAqL1xyXG4vLyBAZHluYW1pY1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cdC8qKlxyXG5cdCAqIEFwcCBzZXR0aW5nc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhcHBTZXR0aW5nOiBBcHBTZXR0aW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBNZW51IGl0ZW1zXHJcblx0ICovXHJcblx0cHVibGljIG1lbnU6IE1lbnU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0XHJcblx0ICovXHJcblx0cHVibGljIHByb2plY3ROYW1lOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlXHJcblx0ICovXHJcblx0cHVibGljIHRpdGxlOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBzdWJ0aXRsZSBvZiB0aGUgY3VycmVudCBvdXRsZXRcclxuXHQgKi9cclxuXHRwdWJsaWMgc3VidGl0bGU6IHN0cmluZyA9ICcnO1xyXG5cclxuXHQvKipcclxuXHQgKiBJZiB0cnVlLCB1c2Ugc29tZSBkdW1teSBkYXRhIGFuZCBzaG93IGRlYnVnIGxvZ3NcclxuXHQgKi9cclxuXHRwdWJsaWMgZGVidWc6IGJvb2xlYW47XHJcblxyXG5cdC8qKlx0IFxyXG5cdCAqIExvYWRpbmcgc3RhdHVzXHJcblx0ICovXHJcblx0cHVibGljIGlzTG9hZGluZzogYm9vbGVhbjtcclxuXHJcblx0LyoqXHJcblx0ICogU2F2aW5nIHN0YXR1c1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBfaXNTYXZpbmc6IGJvb2xlYW47XHJcblx0Z2V0IGlzU2F2aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNTYXZpbmcgfHwgdGhpcy5pc0xvYWRpbmc7IH1cclxuXHRzZXQgaXNTYXZpbmcoaXNTYXZpbmc6IGJvb2xlYW4pIHsgdGhpcy5pc0xvYWRpbmcgPSB0aGlzLl9pc1NhdmluZyA9IGlzU2F2aW5nOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgZmxhZyBlaW5kaWNhdGVzIHRoYXQgdGhlIGVkaXRvciBpcyBpbml0ZWRcclxuXHQgKi9cclxuXHRwdWJsaWMgaXNFZGl0b3JJbml0aWFsemVkOiBib29sZWFuO1xyXG5cclxuXHQvKipcclxuXHQgKiBSZXByZXNlbnRzIHRoZSByZXF1ZXN0IGVycm9yc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBlcnJvcnM6IEFycmF5PHN0cmluZz4gPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG5cclxuXHQvKipcclxuXHQgKiBVc2VkIHRvIGV2YWx1YXRlIHdoZXRoZXIgYSBnaXZlbiBtZWRpYSBxdWVyeSBpcyB0cnVlIG9yIGZhbHNlIGdpdmVuIHRoZSBjdXJyZW50IGRldmljZSdzIHNjcmVlbiAvIHdpbmRvdyBzaXplLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBtZWRpYTogVmRNZWRpYVNlcnZpY2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEFsbG93ZWQgZmlsZSBleHRlbnNpb25zXHJcblx0ICovXHJcblx0cHVibGljIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IENvbW1vbi5hbGxvd2VkRXh0ZW5zaW9ucztcclxuXHJcblx0LyoqXHJcblx0ICogdGlueU1DRSBwbHVnaW5zXHJcblx0ICovXHJcblx0cHVibGljIGVkaXRvclBsdWdpbnM6IHN0cmluZyA9IENvbW1vbi5lZGl0b3JQbHVnaW5zO1xyXG5cclxuXHQvKipcclxuXHQgKiB0aW55TUNFIGVkaXRvclxyXG5cdCAqL1xyXG5cdHB1YmxpYyBlZGl0b3JUb29sYmFyOiBzdHJpbmcgPSBDb21tb24uZWRpdG9yVG9vbGJhcjtcclxuXHJcblx0LyoqXHJcblx0ICogRWRpdG9yIGNvbmZpZ3VyYXRpb25cclxuXHQgKi9cclxuXHRwdWJsaWMgZWRpdG9yQ29uZmlnOiBhbnkgPSB7fTtcclxuXHJcblx0LyoqXHJcblx0ICogUHJvdmlkZXMgdGhlIG5hdmlnYXRpb24gYW5kIHVybCBtYW5pcHVsYXRpb24gY2FwYWJpbGl0aWVzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyByb3V0ZXI6IFJvdXRlcjtcclxuXHJcblx0LyoqXHJcblx0ICogdXJsSGFzaDogc3RyaW5nXHJcblx0ICovXHJcblx0cHVibGljIHVybEhhc2g6IHN0cmluZyA9IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsYXNzIG5hbWVcclxuXHQgKi9cclxuXHRwdWJsaWMgY2xhc3NOYW1lOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENyZWF0ZSBwZXJtaXNzaW9uXHJcblx0ICovXHJcblx0cHVibGljIGNhbkNyZWF0ZTogYm9vbGVhbjtcclxuXHJcblx0LyoqXHJcblx0ICogVXBkYXRlIHBlcm1pc3Npb25cclxuXHQgKi9cclxuXHRwdWJsaWMgY2FuVXBkYXRlOiBib29sZWFuO1xyXG5cclxuXHQvKipcclxuXHQgKiBDdXJyZW50IHJvdXRlXHJcblx0ICovXHJcblx0cHVibGljIGN1cnJlbnRSb3V0ZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBDdXJyZW50IHVzZXIgb2JqZWN0XHJcblx0ICovXHJcblx0cHVibGljIGN1cnJlbnRVc2VyOiBBdXRoVXNlciA9IEF1dGhIZWxwZXIudXNlcjtcclxuXHJcblx0LyoqXHJcblx0ICogQSBzZXJ2aWNlIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ2V0IGFuZCBzZXQgdGhlIHRpdGxlIG9mIGEgY3VycmVudCBIVE1MIGRvY3VtZW50LlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB0aXRsZVNlcnZpY2U6IFRpdGxlO1xyXG5cclxuXHQvKipcclxuXHQgKiBBIHNlcnZpY2UgdG8gZGlzcGF0Y2ggTWF0ZXJpYWwgRGVzaWduIHNuYWNrIGJhciBtZXNzYWdlcy5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc25hY2tCYXJTZXJ2aWNlOiBNYXRTbmFja0JhcjtcclxuXHJcblx0LyoqXHJcblx0ICogQSBzZXJ2aWNlIHRvIHNob3cgY29uaXJtIGFuZCBwcm9tcHQgZGlhbG9ncy5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogVmREaWFsb2dTZXJ2aWNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBsb2NhdGlvbjogTG9jYXRpb25cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uO1xyXG5cclxuXHQvKipcclxuXHQgKiBJZiB0cnVlLCBzZXQgdXJsIGhhc2hcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2V0VXJsSGFzaDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE1hdEV4cGFuc2lvblBhbmVsIHJlZlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGRyZW4oTWF0RXhwYW5zaW9uUGFuZWwsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG5cdHByb3RlY3RlZCBtYXRFeHBhbnNpb25QYW5lbEVsZW1lbnRRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcblx0LyoqXHJcblx0ICogTWF0RXhwYW5zaW9uUGFuZWwgcmVmXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZHJlbihNYXRFeHBhbnNpb25QYW5lbClcclxuXHRwcm90ZWN0ZWQgbWF0RXhwYW5zaW9uUGFuZWxRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxNYXRFeHBhbnNpb25QYW5lbD47XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnN0cnVjdG9yXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cdFx0dGhpcy50aXRsZVNlcnZpY2UgPSB0aGlzLmdldFNlcnZpY2UoVGl0bGUpO1xyXG5cdFx0dGhpcy5kaWFsb2dTZXJ2aWNlID0gdGhpcy5nZXRTZXJ2aWNlKFZkRGlhbG9nU2VydmljZSk7XHJcblx0XHR0aGlzLm1lZGlhID0gdGhpcy5nZXRTZXJ2aWNlKFZkTWVkaWFTZXJ2aWNlKTtcclxuXHRcdHRoaXMuc25hY2tCYXJTZXJ2aWNlID0gdGhpcy5nZXRTZXJ2aWNlKE1hdFNuYWNrQmFyKTtcclxuXHRcdHRoaXMucm91dGVyID0gdGhpcy5nZXRTZXJ2aWNlKFJvdXRlcik7XHJcblx0XHR0aGlzLmFwcFNldHRpbmcgPSB0aGlzLmdldFNlcnZpY2UoQXBwU2V0dGluZyk7XHJcblx0XHR0aGlzLmxvY2F0aW9uID0gdGhpcy5nZXRTZXJ2aWNlKExvY2F0aW9uKTtcclxuXHJcblx0XHRDb250ZXh0SGVscGVyLmFjdGl2YXRlZFJvdXRlID0gcm91dGU7XHJcblx0XHRDb250ZXh0SGVscGVyLnJvdXRlciA9IHRoaXMucm91dGVyO1xyXG5cdFx0Q29udGV4dEhlbHBlci5hcHBTZXR0aW5nID0gdGhpcy5hcHBTZXR0aW5nO1xyXG5cclxuXHRcdHRoaXMuaW5pdEVkaXRvcigpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIFxyXG5cdCAqIG9mIGEgZGlyZWN0aXZlIGFyZSBpbml0aWFsaXplZC5cclxuXHQgKi9cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdC8qIEdldCBtZW51IGl0ZW1zIGZyb20gcm91dGUgc25hcHNob3QgKi9cclxuXHRcdHZhciBtYWluUm91dGUgPSB0aGlzLmdldE1haW5Sb3V0ZSh0aGlzLnJvdXRlLnNuYXBzaG90KTtcclxuXHRcdGlmIChtYWluUm91dGUpIHtcclxuXHRcdFx0dGhpcy5tZW51ID0gbWFpblJvdXRlLmRhdGEubWVudTtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBTZXQgcHJvamVjdCBuYW1lICYgZGVidWcgbW9kZSAqL1xyXG5cdFx0dGhpcy5wcm9qZWN0TmFtZSA9IHRoaXMuYXBwU2V0dGluZy5wcm9qZWN0TmFtZTtcclxuXHRcdHRoaXMuZGVidWcgPSB0aGlzLmFwcFNldHRpbmcuZGVidWc7XHJcblxyXG5cdFx0LyogR2V0IHRoZSBoYXNoIGZyb20gdGhlIHVybCAqL1xyXG5cdFx0dGhpcy5yb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoKGZyYWdtZW50OiBzdHJpbmcpID0+IHRoaXMudXJsSGFzaCA9IGZyYWdtZW50KTtcclxuXHJcblx0XHQvKipcclxuXHRcdCAqIENoZWNrIHBlcm1pc3Npb25zXHJcblx0XHQgKi9cclxuXHRcdGlmICh0aGlzLnJvdXRlLnBhcmVudCkge1xyXG5cdFx0XHR0aGlzLnJvdXRlLnBhcmVudC51cmwuc3Vic2NyaWJlKCh1cmw6IFVybFNlZ21lbnRbXSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuY2xhc3NOYW1lID0gdXJsLmxlbmd0aCA/IHVybFswXS5wYXRoLnJlcGxhY2UoLyguKilzJC8sICckMScpLnJlcGxhY2UoL14uLywgKHVybFswXS5wYXRoWzBdIHx8ICcnKS50b1VwcGVyQ2FzZSgpKSA6ICcnO1xyXG5cdFx0XHRcdHRoaXMuY2FuQ3JlYXRlID0gQXV0aEhlbHBlci5pc1Blcm1pdHRlZCgnQ3JlYXRlJywgYENyZWF0ZSR7dGhpcy5jbGFzc05hbWV9YCk7XHJcblx0XHRcdFx0dGhpcy5jYW5VcGRhdGUgPSBBdXRoSGVscGVyLmlzUGVybWl0dGVkKCdVcGRhdGUnLCBgVXBkYXRlJHt0aGlzLmNsYXNzTmFtZX1gKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogU2V0IGN1cnJlbnQgcm91dGUgKi9cclxuXHRcdHRoaXMuY3VycmVudFJvdXRlID0gYnRvYSh0aGlzLnJvdXRlci51cmwpO1xyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogU2V0IHBhZ2UgdGl0bGVcclxuXHRcdCAqL1xyXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0aWYgKHggaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcblx0XHRcdFx0dGhpcy5zZXRUaXRsZXMoKTtcclxuXHRcdFx0XHR0aGlzLmN1cnJlbnRSb3V0ZSA9IGJ0b2EoeC51cmwpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGEgY29tcG9uZW50J3MgdmlldyBoYXMgYmVlbiBmdWxseSBpbml0aWFsaXplZC5cclxuXHQgKi9cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHQvKiBCcm9hZGNhc3QgdG8gYWxsIGxpc3RlbmVyIG9ic2VydmFibGVzIHdoZW4gbG9hZGluZyB0aGUgcGFnZSAqL1xyXG5cdFx0dGhpcy5tZWRpYS5icm9hZGNhc3QoKTtcclxuXHJcblx0XHQvKiBTZXQgdGl0bGVzICovXHJcblx0XHR0aGlzLnNldFRpdGxlcygpO1xyXG5cclxuXHRcdC8qIFxyXG5cdFx0ICogRm9yY2UgYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBzaW5jZSBjaGFuZ2UgZGV0ZWN0aW9ucyBcclxuXHRcdCAqIGhhdmUgZmluaXNoZWQgd2hlbiBgbmdBZnRlclZpZXdJbml0YCBpcyBleGVjdXRlZFxyXG5cdFx0ICovXHJcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcblx0XHQvKiBMaXN0ZW4gZm9yIGV4cGFuc2lvbiBwYW5lbCBjaGFuZ2VzICovXHJcblx0XHR0aGlzLm9uRXhwYW5zaW9uUGFuZWxDaGFuZ2VzKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZWZyZXNocyB0aGlzIHBhZ2UvY29tcG9uZW50XHJcblx0ICovXHJcblx0cHVibGljIHJlbG9hZFBhZ2UoKTogdm9pZCB7XHJcblx0XHRsZXQgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcclxuXHRcdHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nLCB7IHJlcGxhY2VVcmw6IHRydWUgfSkudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGN1cnJlbnRVcmwsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaXN0ZW4gZm9yIGV4cGFuc2lvbiBwYW5lbCBjaGFuZ2VzXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIG9uRXhwYW5zaW9uUGFuZWxDaGFuZ2VzKCk6IHZvaWQge1xyXG5cdFx0LyogTGlzdGVuIGZvciBleHBhbnNpb24gcGFuZWwgY2hhbmdlcyAqL1xyXG5cdFx0dGhpcy5tYXRFeHBhbnNpb25QYW5lbFF1ZXJ5TGlzdD8uY2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuXHRcdFx0LyogRmluZCB0aGUgaW5kZXggb2YgdGhlIHBhbmVsIHdpdGggdGhlIHNwZWNpZmllZCBlbGVtZW50IElEICovXHJcblx0XHRcdHRoaXMudXJsSGFzaD8uc3BsaXQoJy4nKVxyXG5cdFx0XHRcdD8ucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlLCBpbmRleCkgPT4gYWNjdW11bGF0b3IuY29uY2F0KChpbmRleCA+IDAgPyAoYWNjdW11bGF0b3Iuc2xpY2UoLTEpLmpvaW4oJy4nKSArICcuJykgOiAnJykgKyBjdXJyZW50VmFsdWUpLCBbXSlcclxuXHRcdFx0XHQ/LmZvckVhY2goKGhhc2g6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRcdFx0dmFyIGV4cGFuc2lvblBhbmVsSW5kZXggPSB0aGlzLm1hdEV4cGFuc2lvblBhbmVsRWxlbWVudFF1ZXJ5TGlzdD8udG9BcnJheSgpPy5maW5kSW5kZXgoeCA9PiB4Lm5hdGl2ZUVsZW1lbnQuaWQgPT0gaGFzaCk7XHJcblx0XHRcdFx0XHRpZiAoZXhwYW5zaW9uUGFuZWxJbmRleCA+PSAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMubWF0RXhwYW5zaW9uUGFuZWxRdWVyeUxpc3Q/LnRvQXJyYXkoKVtleHBhbnNpb25QYW5lbEluZGV4XT8ub3BlbigpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdC8qIERldGVjdCBjaGFuZ2VzIGZvciBvcGVuZWQgcGFuZWxzICovXHJcblx0XHRcdHRoaXMubWF0RXhwYW5zaW9uUGFuZWxRdWVyeUxpc3Q/LmZvckVhY2goeSA9PiB7XHJcblx0XHRcdFx0eS5vcGVuZWQuc3Vic2NyaWJlKF8gPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuc2V0VXJsSGFzaCkge1xyXG5cdFx0XHRcdFx0XHQvKiBHZXQgdGhlIGlkIG9mIHRoZSBjdXJyZW50IG9wZW5lZCBwYW5lbCAqL1xyXG5cdFx0XHRcdFx0XHR2YXIgY3VycmVudFBhbmVsSWQgPSB5Wydfdmlld0NvbnRhaW5lclJlZiddPy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5pZDtcclxuXHJcblx0XHRcdFx0XHRcdC8qIElmIHRoZSBwYW5lbCBJRCBpcyBzZXQsIHNldCBpdCBhcyB1cmwgc2VnbWVudCAoaGFzaCkgKi9cclxuXHRcdFx0XHRcdFx0aWYgKGN1cnJlbnRQYW5lbElkKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgZnJhZ21lbnQ6IGN1cnJlbnRQYW5lbElkLCByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvKiBPdGhlcndpc2UgcmVtb3ZlIHRoZSBzZWdtZW50IGZyb20gdGhlIHVybCAqL1xyXG5cdFx0XHRcdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LyogRGV0ZWN0IGNoYW5nZXMgKi9cclxuXHRcdFx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdC8qIE5vdGlmeSBleHBhbnNpb24gcGFuZWwgbGlzdCBjaGFuZ2VzICovXHJcblx0XHR0aGlzLm1hdEV4cGFuc2lvblBhbmVsUXVlcnlMaXN0Lm5vdGlmeU9uQ2hhbmdlcygpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmV0cmlldmVzIGFuIGluc3RhbmNlIGZyb20gdGhlIGluamVjdG9yIGJhc2VkIG9uIHRoZSBwcm92aWRlZCB0b2tlbi5cclxuXHQgKiBJZiBub3QgZm91bmQ6XHJcblx0ICogLSBUaHJvd3Mge0BsaW5rIE5vUHJvdmlkZXJFcnJvcn0gaWYgbm8gYG5vdEZvdW5kVmFsdWVgIHRoYXQgaXMgbm90IGVxdWFsIHRvXHJcblx0ICogSW5qZWN0b3IuVEhST1dfSUZfTk9UX0ZPVU5EIGlzIGdpdmVuXHJcblx0ICogLSBSZXR1cm5zIHRoZSBgbm90Rm91bmRWYWx1ZWAgb3RoZXJ3aXNlXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGdldFNlcnZpY2U8VD4odG9rZW46IFR5cGU8VD4pOiBUIHtcclxuXHRcdHJldHVybiBTZXJ2aWNlTG9jYXRvci5nZXRTZXJ2aWNlKHRva2VuKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgYmFzZSByb3V0ZVxyXG5cdCAqIEBwYXJhbSBzbmFwc2hvdCBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgZ2V0TWFpblJvdXRlKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XHJcblx0XHRpZiAoc25hcHNob3QgJiYgIXNuYXBzaG90LmRhdGEubWVudSkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRNYWluUm91dGUoc25hcHNob3QucGFyZW50KTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gc25hcHNob3Q7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHRcdCAqIFNob3dzIGEgY29uZmlybSBkaWFsb2cgdG8gZGVsZXRlIGFuIGl0ZW0gXHJcblx0XHQgKi9cclxuXHRwcm90ZWN0ZWQgc2hvd0RlbGV0ZUl0ZW1EaWFsb2coKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkNvbmZpcm0oe1xyXG5cdFx0XHRtZXNzYWdlOiAkbG9jYWxpemVgOkBAZGlhbG9nLm1lc3NhZ2UuZGVsZXRlLm9uZTpBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgaXRlbT9gLFxyXG5cdFx0XHR0aXRsZTogJGxvY2FsaXplYDpAQGRpYWxvZy50aXRsZS5kZWxldGU6Q29uZmlybSBEZWxldGVgLFxyXG5cdFx0XHRjYW5jZWxCdXR0b246ICRsb2NhbGl6ZWA6QEBjYW5jZWw6Q2FuY2VsYCxcclxuXHRcdFx0YWNjZXB0QnV0dG9uOiAkbG9jYWxpemVgOkBAZGVsZXRlOkRlbGV0ZWAsXHJcblx0XHR9KS5hZnRlckNsb3NlZCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2hvd3MgYSBjb25maXJtIGRpYWxvZyB0byBkZWxldGUgbXVsdGlwbGUgaXRlbXNcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2hvd0RlbGV0ZUl0ZW1zRGlhbG9nKCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5Db25maXJtKHtcclxuXHRcdFx0bWVzc2FnZTogJGxvY2FsaXplYDpAQGRpYWxvZy5tZXNzYWdlLmRlbGV0ZS5saXN0OkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIHNlbGVjdGVkIGl0ZW1zP2AsXHJcblx0XHRcdHRpdGxlOiAkbG9jYWxpemVgOkBAZGlhbG9nLnRpdGxlLmRlbGV0ZTpDb25maXJtIERlbGV0ZWAsXHJcblx0XHRcdGNhbmNlbEJ1dHRvbjogJGxvY2FsaXplYDpAQGNhbmNlbDpDYW5jZWxgLFxyXG5cdFx0XHRhY2NlcHRCdXR0b246ICRsb2NhbGl6ZWA6QEBkZWxldGU6RGVsZXRlYCxcclxuXHRcdH0pLmFmdGVyQ2xvc2VkKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTaG93cyBhIGNvbmZpcm0gZGlhbG9nIHRvIHNlbmQgc29tZSBkYXRhXHJcblx0ICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheVxyXG5cdCAqIEBwYXJhbSBvYnNlcnZhYmUgVGhlIG9ic2VydmFibGUgaW5zdGFuY2VcclxuXHQgKiBAcGFyYW0gc3VjY2Vzc0NhbGxiYWNrIEEgc3VjY2VzcyBjYWxsYmFja1xyXG5cdCAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEFuIGVycm9yIGNhbGxiYWNrXHJcblx0ICovXHJcblx0cHVibGljIHNob3dDb25maXJtYXRpb25EaWFsb2cobWVzc2FnZTogc3RyaW5nLCBvYnNlcnZhYmU6IE9ic2VydmFibGU8YW55Piwgc3VjY2Vzc0NhbGxiYWNrOiBGdW5jdGlvbiA9IG51bGwsIGVycm9yQ2FsbGJhY2s6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG5cdFx0dGhpcy5kaWFsb2dTZXJ2aWNlXHJcblx0XHRcdC5vcGVuQ29uZmlybSh7XHJcblx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZSxcclxuXHRcdFx0XHR0aXRsZTogJGxvY2FsaXplYDpAQGRpYWxvZy50aXRsZS5jb25maXJtOkNvbmZpcm1gLFxyXG5cdFx0XHRcdGNhbmNlbEJ1dHRvbjogJGxvY2FsaXplYDpAQGNhbmNlbDpDYW5jZWxgLFxyXG5cdFx0XHRcdGFjY2VwdEJ1dHRvbjogJGxvY2FsaXplYDpAQG9rOk9rYCxcclxuXHRcdFx0fSlcclxuXHRcdFx0LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChhY2NlcHQ6IGJvb2xlYW4pID0+IHtcclxuXHRcdFx0XHRpZiAoYWNjZXB0KSB7XHJcblx0XHRcdFx0XHRvYnNlcnZhYmUuc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNob3dNZXNzYWdlKCRsb2NhbGl6ZWA6QEBzbmFja2Jhci5zZW5kLnN1Y2Nlc3M6RGF0YSBzZW50IHN1Y2Nlc3NmdWxseS5gKTtcclxuXHJcblx0XHRcdFx0XHRcdGlmIChzdWNjZXNzQ2FsbGJhY2spIHtcclxuXHRcdFx0XHRcdFx0XHRzdWNjZXNzQ2FsbGJhY2soeCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sIGVycm9ycyA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0aWYgKGVycm9yQ2FsbGJhY2spIHtcclxuXHRcdFx0XHRcdFx0XHRlcnJvckNhbGxiYWNrKGVycm9ycyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTaG93cyBhIG1lc3NhZ2VcclxuXHQgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5XHJcblx0ICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2hvd01lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdHlwZTogTWVzc2FnZVR5cGUgPSBNZXNzYWdlVHlwZS5TdWNjZXNzKTogdm9pZCB7XHJcblx0XHR2YXIgc25hY2tCYXJDbGFzcyA9ICdwcmltYXJ5JztcclxuXHRcdHN3aXRjaCAodHlwZSkge1xyXG5cdFx0XHRjYXNlIE1lc3NhZ2VUeXBlLlN1Y2Nlc3M6XHJcblx0XHRcdFx0c25hY2tCYXJDbGFzcyA9ICdwcmltYXJ5JztcclxuXHRcdFx0XHRicmVhaztcclxuXHJcblx0XHRcdGNhc2UgTWVzc2FnZVR5cGUuV2FybmluZzpcclxuXHRcdFx0XHRzbmFja0JhckNsYXNzID0gJ3dhcm4nO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0Y2FzZSBNZXNzYWdlVHlwZS5FcnJvcjpcclxuXHRcdFx0XHRzbmFja0JhckNsYXNzID0gJ2Vycm9yJztcclxuXHRcdFx0XHRicmVhaztcclxuXHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihtZXNzYWdlIHx8ICRsb2NhbGl6ZWA6QEBzbmFja2Jhci5zZW5kLnN1Y2Nlc3M6RGF0YSBzZW50IHN1Y2Nlc3NmdWxseS5gLCBudWxsLCB7XHJcblx0XHRcdGR1cmF0aW9uOiAzMDAwLFxyXG5cdFx0XHRwYW5lbENsYXNzOiBbc25hY2tCYXJDbGFzc11cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSW5pdG9hbGl6ZXMgdGhlIHRpbnltY2UgZWRpdG9yXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGluaXRFZGl0b3IoZWRpdG9yQ29uZmlnOiBhbnkgPSB7fSkge1xyXG5cdFx0T2JqZWN0LmFzc2lnbih0aGlzLmVkaXRvckNvbmZpZywge1xyXG5cdFx0XHRzdWZmaXg6ICcubWluJyxcclxuXHRcdFx0c2tpbjogZmFsc2UsXHJcblx0XHRcdGhlaWdodDogJzE3MHB4JyxcclxuXHRcdFx0Y29udGVudF9jc3M6IGZhbHNlLFxyXG5cdFx0XHRwbHVnaW5zOiB0aGlzLmVkaXRvclBsdWdpbnMsXHJcblx0XHRcdHRvb2xiYXI6IHRoaXMuZWRpdG9yVG9vbGJhcixcclxuXHRcdFx0cGFzdGVfYXNfdGV4dDogdHJ1ZSxcclxuXHRcdFx0bGFuZ3VhZ2U6ICdkZScsXHJcblx0XHRcdGxhbmd1YWdlX3VybDogJy9hc3NldHMvdGlueW1jZS9sYW5ncy9kZS5qcycsXHJcblx0XHRcdGRvY3VtZW50X2Jhc2VfdXJsOiBgJHt0aGlzLmFwcFNldHRpbmcuYXBpVXJsfWZpbGUvYCxcclxuXHRcdFx0YXV0b21hdGljX3VwbG9hZHM6IHRydWUsXHJcblx0XHRcdHJlbGF0aXZlX3VybHM6IHRydWUsXHJcblx0XHRcdGNvbnZlcnRfdXJsczogZmFsc2UsXHJcblx0XHRcdGV4dGVuZGVkX3ZhbGlkX2VsZW1lbnRzOiAnc3BhbltpZHxjbGFzc3xzdHlsZV0sK0BbZGF0YS1vcHRpb25zXScsXHJcblx0XHRcdGFsbG93X2h0bWxfaW5fbmFtZWRfYW5jaG9yOiB0cnVlXHJcblx0XHR9LCBlZGl0b3JDb25maWcpO1xyXG5cclxuXHRcdHRoaXMuaXNFZGl0b3JJbml0aWFsemVkID0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgc3VidGl0bGUgZnJvbSBjdXJyZW4gbWVudVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBzZXRUaXRsZXMoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5tZW51KSB7XHJcblx0XHRcdHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMubWVudS50aXRsZSk7XHJcblx0XHRcdHRoaXMudGl0bGUgPSB0aGlzLnRpdGxlU2VydmljZS5nZXRUaXRsZSgpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMubWVudS5pdGVtcykge1xyXG5cdFx0XHRcdHZhciBzdWJtZW51ID0gdGhpcy5tZW51Lml0ZW1zLmZpbHRlcih4ID0+IHgucGF0aCA9PSB0aGlzLnJvdXRlci51cmwpWzBdO1xyXG5cdFx0XHRcdGlmIChzdWJtZW51KSB7XHJcblx0XHRcdFx0XHR0aGlzLnN1YnRpdGxlID0gc3VibWVudS50aXRsZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE5hdmlnYXRlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcnJheSBvZiBjb21tYW5kcyBhbmQgYSBzdGFydGluZyBwb2ludC5cclxuXHQgKiBAcGFyYW0gY29tbWFuZHMgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIG5hdmlnYXRlKGNvbW1hbmRzOiBhbnlbXSwgcXVlcnlQYXJhbXM/OiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCB7IHF1ZXJ5UGFyYW1zOiBPYmplY3QuYXNzaWduKHsgcmV0dXJuVXJsOiB0aGlzLmN1cnJlbnRSb3V0ZSB9LCBxdWVyeVBhcmFtcyB8fCB7fSksIHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb252ZXJ0IE9iamVjdCB0byBIdHRwSGVhZGVyc1xyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBib2R5XHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHRvSHR0cEhlYWRlcnMoYm9keTogT2JqZWN0KTogSHR0cEhlYWRlcnMge1xyXG5cdFx0aWYgKCFib2R5KSB7XHJcblx0XHRcdHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYm9keSlcclxuXHRcdFx0LmZpbHRlcihrZXkgPT4gYm9keVtrZXldICE9IG51bGwgJiYgYm9keVtrZXldICE9ICcnKVxyXG5cdFx0XHQucmVkdWNlKChwLCBrZXkpID0+IHAuc2V0KGtleSwgYm9keVtrZXldKSwgbmV3IEh0dHBIZWFkZXJzKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUGFyc2VzIGh0dHAgcmVzcG9uc2UgZXJyb3JzXHJcblx0ICogQHBhcmFtIGVycm9ycyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgcGFyc2VFcnJvcnMoZXJyb3JzOiBPYmplY3QpOiB2b2lkIHtcclxuXHRcdHRoaXMuZXJyb3JzID0gW107XHJcblx0XHR0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0dGhpcy5pc1NhdmluZyA9IGZhbHNlO1xyXG5cclxuXHRcdGlmIChlcnJvcnMpIHtcclxuXHRcdFx0T2JqZWN0LmtleXMoZXJyb3JzKS5mb3JFYWNoKGVsID0+IHtcclxuXHRcdFx0XHRsZXQgZXJyb3IgPSBlcnJvcnNbZWxdO1xyXG5cdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KGVycm9yKSkge1xyXG5cdFx0XHRcdFx0ZXJyb3IuZm9yRWFjaChlcnIgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9ycy5wdXNoKGVycik7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIikge1xyXG5cdFx0XHRcdFx0dGhpcy5lcnJvcnMucHVzaChlcnJvcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRsZSBIdHRwIG9wZXJhdGlvbiB0aGF0IGZhaWxlZC5cclxuXHQgKiBMZXQgdGhlIGFwcCBjb250aW51ZS5cclxuXHQgKiBAcGFyYW0gb3BlcmF0aW9uIC0gbmFtZSBvZiB0aGUgb3BlcmF0aW9uIHRoYXQgZmFpbGVkXHJcblx0ICogQHBhcmFtIHJlc3VsdCAtIG9wdGlvbmFsIHZhbHVlIHRvIHJldHVybiBhcyB0aGUgb2JzZXJ2YWJsZSByZXN1bHRcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgaGFuZGxlRXJyb3I8VD4ob3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdD86IFQpIHtcclxuXHRcdHJldHVybiAoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8VD4gPT4ge1xyXG5cclxuXHRcdFx0LyogUGFyc2UgdGhlIGVycm9yIG1lc3NhZ2VzICovXHJcblx0XHRcdHRoaXMucGFyc2VFcnJvcnMoZXJyb3IpO1xyXG5cclxuXHRcdFx0LyogTG9nIHRvIGNvbnNvbGUgKi9cclxuXHRcdFx0dGhpcy53YXJuKGAke29wZXJhdGlvbn0gZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCk7XHJcblxyXG5cdFx0XHQvKiBMZXQgdGhlIGFwcCBrZWVwIHJ1bm5pbmcgYnkgcmV0dXJuaW5nIGFuIGVtcHR5IHJlc3VsdCAqL1xyXG5cdFx0XHRyZXR1cm4gb2YocmVzdWx0IGFzIFQpO1xyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExvZyB0byBjb25zb2xlXHJcblx0ICogQHBhcmFtIG1lc3NhZ2UgXHJcblx0ICogQHBhcmFtIG9wdGlvbmFsUGFyYW1zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBsb2cobWVzc2FnZTogc3RyaW5nLCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pIHtcclxuXHRcdGlmICh0aGlzLmRlYnVnKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKG1lc3NhZ2UsIG9wdGlvbmFsUGFyYW1zKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExvZyB0byBjb25zb2xlXHJcblx0ICogQHBhcmFtIG1lc3NhZ2UgXHJcblx0ICogQHBhcmFtIG9wdGlvbmFsUGFyYW1zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB3YXJuKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcblx0XHRpZiAodGhpcy5kZWJ1Zykge1xyXG5cdFx0XHRjb25zb2xlLndhcm4obWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2xlYW5zIHRoZSBvYmplY3RzXHJcblx0ICogUmVtb3ZlcyBlbXB0eSBwcm9wZXJ0aWVzXHJcblx0ICogQHBhcmFtIG9iaiBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgY2xlYW4ob2JqOiBhbnkpOiBhbnkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Zm9yICh2YXIgcHJvcE5hbWUgaW4gb2JqKSB7XHJcblx0XHRcdFx0aWYgKG9ialtwcm9wTmFtZV0gPT09IG51bGwgfHwgb2JqW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkIHx8IG9ialtwcm9wTmFtZV0gPT09IFwiXCIpIHtcclxuXHRcdFx0XHRcdGRlbGV0ZSBvYmpbcHJvcE5hbWVdO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHsgfVxyXG5cclxuXHRcdHJldHVybiBvYmo7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTYW5pdGl6ZXMgdGhlIHNwZWNpZmllZCBvYmplY3RcclxuXHQgKiBAcGFyYW0gb2JqIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBzYW5pdGl6ZU9iamVjdChvYmo6IGFueSwgLi4uaWdub3JlOiBzdHJpbmdbXSk6IGFueSB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmtleXMob2JqKVxyXG5cdFx0XHQuZmlsdGVyKHggPT4gb2JqW3hdKVxyXG5cdFx0XHQuZmlsdGVyKHggPT4gIShpZ25vcmUgfHwgW10pLm1hcCh4ID0+IHgudG9Mb3dlckNhc2UoKSkuaW5jbHVkZXMoeC50b0xvd2VyQ2FzZSgpKSlcclxuXHRcdFx0LnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcclxuXHRcdFx0XHRyZXN1bHRba2V5XSA9IGlzTmFOKCtvYmpba2V5XSkgPyBvYmpba2V5XSA6ICtvYmpba2V5XTtcclxuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdFx0XHR9LCB7fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVja3MgaWYgdGhlIHVzZXIgc2VsZWNldGVkIGFueSB0ZXh0IGluIHRoZSBkb2N1bWVudFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBpc1RleHRTZWxlY3RlZCA9ICgpOiBib29sZWFuID0+IHdpbmRvdz8uZ2V0U2VsZWN0aW9uKCk/LnRvU3RyaW5nKCk/Lmxlbmd0aCA+IDBcclxufSJdfQ==