fabrikantencore 2.6.11 → 2.6.13

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 (281) hide show
  1. package/{esm2020 → esm2022}/fabrikantencore.mjs +4 -4
  2. package/{esm2020 → esm2022}/public_api.mjs +12 -12
  3. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.mjs +49 -0
  4. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +73 -0
  5. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +54 -0
  6. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.mjs +30 -0
  7. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +139 -0
  8. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +211 -0
  9. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +88 -0
  10. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.mjs +59 -0
  11. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +99 -0
  12. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +34 -0
  13. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +80 -0
  14. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +49 -0
  15. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +21 -0
  16. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +47 -0
  17. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +56 -0
  18. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +125 -0
  19. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +185 -0
  20. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +216 -0
  21. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.mjs +18 -0
  22. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +143 -0
  23. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +32 -0
  24. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +150 -0
  25. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.mjs +87 -0
  26. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.mjs +85 -0
  27. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.mjs +299 -0
  28. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +101 -0
  29. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.mjs +82 -0
  30. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.mjs +43 -0
  31. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.mjs +27 -0
  32. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.mjs +27 -0
  33. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.mjs +30 -0
  34. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +289 -0
  35. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +143 -0
  36. package/esm2022/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +158 -0
  37. package/esm2022/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.mjs +15 -0
  38. package/esm2022/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +86 -0
  39. package/esm2022/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.mjs +36 -0
  40. package/esm2022/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +69 -0
  41. package/esm2022/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +55 -0
  42. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +134 -0
  43. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +320 -0
  44. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +64 -0
  45. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +64 -0
  46. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +94 -0
  47. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +134 -0
  48. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +49 -0
  49. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +59 -0
  50. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.mjs +34 -0
  51. package/esm2022/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.mjs +18 -0
  52. package/esm2022/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +63 -0
  53. package/esm2022/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.mjs +31 -0
  54. package/esm2022/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.mjs +31 -0
  55. package/esm2022/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.mjs +26 -0
  56. package/esm2022/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.mjs +16 -0
  57. package/esm2022/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +53 -0
  58. package/esm2022/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +45 -0
  59. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +53 -0
  60. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.mjs +36 -0
  61. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.mjs +24 -0
  62. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +47 -0
  63. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +115 -0
  64. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +100 -0
  65. package/esm2022/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +79 -0
  66. package/esm2022/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +59 -0
  67. package/esm2022/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +99 -0
  68. package/esm2022/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.mjs +45 -0
  69. package/esm2022/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.mjs +30 -0
  70. package/esm2022/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +31 -0
  71. package/esm2022/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +75 -0
  72. package/esm2022/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +48 -0
  73. package/{esm2020 → esm2022}/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +96 -89
  74. package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +483 -0
  75. package/esm2022/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +33 -0
  76. package/esm2022/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.mjs +28 -0
  77. package/esm2022/src/app/modules/fabrikantencore/helpers/error.interceptor.mjs +29 -0
  78. package/esm2022/src/app/modules/fabrikantencore/services/authentication.service.mjs +74 -0
  79. package/esm2022/src/app/modules/fabrikantencore/services/bestek.service.mjs +90 -0
  80. package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +988 -0
  81. package/esm2022/src/app/modules/fabrikantencore/services/importsets.service.mjs +137 -0
  82. package/esm2022/src/app/modules/fabrikantencore/services/mobile.service.mjs +50 -0
  83. package/esm2022/src/app/modules/fabrikantencore/services/navigate.service.mjs +42 -0
  84. package/esm2022/src/app/modules/fabrikantencore/services/photo.service.mjs +102 -0
  85. package/esm2022/src/app/modules/fabrikantencore/services/products.service.mjs +223 -0
  86. package/esm2022/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +94 -0
  87. package/esm2022/src/app/modules/fabrikantencore/services/statistics.service.mjs +82 -0
  88. package/esm2022/src/app/modules/fabrikantencore/services/svg.service.mjs +79 -0
  89. package/esm2022/src/app/modules/fabrikantencore/services/texture.service.mjs +31 -0
  90. package/esm2022/src/app/modules/fabrikantencore/services/toebehoren.service.mjs +57 -0
  91. package/esm2022/src/app/modules/fabrikantencore/services/translate.service.mjs +135 -0
  92. package/esm2022/src/app/modules/fabrikantencore/services/webgl.service.mjs +64 -0
  93. package/{esm2020 → esm2022}/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +11481 -10774
  94. package/{fesm2020 → fesm2022}/fabrikantencore.mjs +18860 -17864
  95. package/fesm2022/fabrikantencore.mjs.map +1 -0
  96. package/index.d.ts +5 -5
  97. package/package.json +23 -27
  98. package/public_api.d.ts +12 -12
  99. package/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.d.ts +14 -14
  100. package/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.d.ts +22 -22
  101. package/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.d.ts +19 -19
  102. package/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.d.ts +11 -11
  103. package/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.d.ts +23 -23
  104. package/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.d.ts +30 -30
  105. package/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.d.ts +24 -24
  106. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.d.ts +20 -20
  107. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.d.ts +29 -29
  108. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.d.ts +14 -14
  109. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.d.ts +23 -23
  110. package/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.d.ts +21 -21
  111. package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +10 -10
  112. package/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.d.ts +19 -19
  113. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.d.ts +17 -17
  114. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +34 -34
  115. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +36 -36
  116. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +30 -30
  117. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.d.ts +10 -10
  118. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +36 -36
  119. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.d.ts +14 -14
  120. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +26 -26
  121. package/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.d.ts +17 -17
  122. package/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.d.ts +23 -23
  123. package/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.d.ts +41 -41
  124. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.d.ts +30 -30
  125. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.d.ts +25 -23
  126. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.d.ts +14 -14
  127. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.d.ts +12 -12
  128. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.d.ts +12 -12
  129. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.d.ts +11 -11
  130. package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +44 -28
  131. package/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.d.ts +25 -25
  132. package/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.d.ts +51 -51
  133. package/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.d.ts +8 -8
  134. package/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.d.ts +24 -24
  135. package/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.d.ts +15 -15
  136. package/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.d.ts +23 -23
  137. package/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.d.ts +22 -22
  138. package/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.d.ts +28 -28
  139. package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.d.ts +38 -38
  140. package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.d.ts +22 -22
  141. package/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.d.ts +22 -22
  142. package/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.d.ts +28 -28
  143. package/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.d.ts +28 -28
  144. package/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.d.ts +23 -23
  145. package/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.d.ts +19 -19
  146. package/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.d.ts +12 -12
  147. package/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.d.ts +9 -9
  148. package/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.d.ts +20 -20
  149. package/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.d.ts +12 -12
  150. package/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.d.ts +9 -9
  151. package/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.d.ts +13 -13
  152. package/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.d.ts +8 -8
  153. package/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.d.ts +20 -20
  154. package/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.d.ts +20 -20
  155. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.d.ts +23 -23
  156. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.d.ts +15 -15
  157. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.d.ts +12 -12
  158. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.d.ts +17 -17
  159. package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +36 -36
  160. package/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.d.ts +28 -28
  161. package/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.d.ts +28 -28
  162. package/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.d.ts +24 -24
  163. package/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.d.ts +25 -25
  164. package/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.d.ts +20 -20
  165. package/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.d.ts +15 -15
  166. package/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.d.ts +15 -15
  167. package/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.d.ts +26 -26
  168. package/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.d.ts +20 -20
  169. package/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.d.ts +25 -25
  170. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +105 -104
  171. package/src/app/modules/fabrikantencore/helpers/auth.guard.d.ts +11 -11
  172. package/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.d.ts +11 -11
  173. package/src/app/modules/fabrikantencore/helpers/error.interceptor.d.ts +11 -11
  174. package/src/app/modules/fabrikantencore/services/authentication.service.d.ts +20 -20
  175. package/src/app/modules/fabrikantencore/services/bestek.service.d.ts +20 -20
  176. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +99 -99
  177. package/src/app/modules/fabrikantencore/services/importsets.service.d.ts +31 -31
  178. package/src/app/modules/fabrikantencore/services/mobile.service.d.ts +19 -19
  179. package/src/app/modules/fabrikantencore/services/navigate.service.d.ts +15 -15
  180. package/src/app/modules/fabrikantencore/services/photo.service.d.ts +20 -20
  181. package/src/app/modules/fabrikantencore/services/products.service.d.ts +31 -31
  182. package/src/app/modules/fabrikantencore/services/projectsetting.service.d.ts +20 -20
  183. package/src/app/modules/fabrikantencore/services/statistics.service.d.ts +17 -17
  184. package/src/app/modules/fabrikantencore/services/svg.service.d.ts +27 -27
  185. package/src/app/modules/fabrikantencore/services/texture.service.d.ts +12 -12
  186. package/src/app/modules/fabrikantencore/services/toebehoren.service.d.ts +18 -18
  187. package/src/app/modules/fabrikantencore/services/translate.service.d.ts +27 -27
  188. package/src/app/modules/fabrikantencore/services/webgl.service.d.ts +21 -21
  189. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +2970 -2955
  190. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.mjs +0 -56
  191. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +0 -77
  192. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +0 -49
  193. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.mjs +0 -28
  194. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +0 -133
  195. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +0 -225
  196. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +0 -87
  197. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.mjs +0 -56
  198. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +0 -90
  199. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +0 -30
  200. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +0 -74
  201. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +0 -44
  202. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +0 -19
  203. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +0 -48
  204. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +0 -56
  205. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +0 -111
  206. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +0 -175
  207. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +0 -208
  208. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.mjs +0 -16
  209. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +0 -144
  210. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +0 -28
  211. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +0 -150
  212. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.mjs +0 -87
  213. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.mjs +0 -89
  214. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.mjs +0 -299
  215. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +0 -104
  216. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.mjs +0 -76
  217. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.mjs +0 -40
  218. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.mjs +0 -24
  219. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.mjs +0 -24
  220. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.mjs +0 -27
  221. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +0 -126
  222. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +0 -143
  223. package/esm2020/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +0 -147
  224. package/esm2020/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.mjs +0 -14
  225. package/esm2020/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +0 -80
  226. package/esm2020/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.mjs +0 -31
  227. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +0 -68
  228. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +0 -49
  229. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +0 -128
  230. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +0 -305
  231. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +0 -57
  232. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +0 -57
  233. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +0 -88
  234. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +0 -128
  235. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +0 -42
  236. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +0 -55
  237. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.mjs +0 -32
  238. package/esm2020/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.mjs +0 -16
  239. package/esm2020/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +0 -57
  240. package/esm2020/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.mjs +0 -29
  241. package/esm2020/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.mjs +0 -29
  242. package/esm2020/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.mjs +0 -23
  243. package/esm2020/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.mjs +0 -15
  244. package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +0 -48
  245. package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +0 -40
  246. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +0 -46
  247. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.mjs +0 -32
  248. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.mjs +0 -21
  249. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +0 -42
  250. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +0 -106
  251. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +0 -93
  252. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +0 -70
  253. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +0 -52
  254. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +0 -92
  255. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.mjs +0 -40
  256. package/esm2020/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.mjs +0 -26
  257. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +0 -26
  258. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +0 -66
  259. package/esm2020/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +0 -42
  260. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +0 -478
  261. package/esm2020/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +0 -30
  262. package/esm2020/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.mjs +0 -26
  263. package/esm2020/src/app/modules/fabrikantencore/helpers/error.interceptor.mjs +0 -27
  264. package/esm2020/src/app/modules/fabrikantencore/services/authentication.service.mjs +0 -70
  265. package/esm2020/src/app/modules/fabrikantencore/services/bestek.service.mjs +0 -91
  266. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +0 -1066
  267. package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +0 -137
  268. package/esm2020/src/app/modules/fabrikantencore/services/mobile.service.mjs +0 -47
  269. package/esm2020/src/app/modules/fabrikantencore/services/navigate.service.mjs +0 -39
  270. package/esm2020/src/app/modules/fabrikantencore/services/photo.service.mjs +0 -99
  271. package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +0 -226
  272. package/esm2020/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +0 -90
  273. package/esm2020/src/app/modules/fabrikantencore/services/statistics.service.mjs +0 -82
  274. package/esm2020/src/app/modules/fabrikantencore/services/svg.service.mjs +0 -78
  275. package/esm2020/src/app/modules/fabrikantencore/services/texture.service.mjs +0 -33
  276. package/esm2020/src/app/modules/fabrikantencore/services/toebehoren.service.mjs +0 -58
  277. package/esm2020/src/app/modules/fabrikantencore/services/translate.service.mjs +0 -127
  278. package/esm2020/src/app/modules/fabrikantencore/services/webgl.service.mjs +0 -66
  279. package/fesm2015/fabrikantencore.mjs +0 -18179
  280. package/fesm2015/fabrikantencore.mjs.map +0 -1
  281. package/fesm2020/fabrikantencore.mjs.map +0 -1
@@ -0,0 +1,211 @@
1
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { SortFilterRequest, SetFilterOptionRequiredRequest, SetFilterRequiredRequest } from '../../../swagger/SwaggerClient';
4
+ import { BeheerSelectFilterDialogComponent } from '../beheer-select-filter-dialog/beheer-select-filter-dialog.component';
5
+ import { BeheerSelectFilteroptionDialogComponent } from '../beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../swagger/SwaggerClient";
8
+ import * as i2 from "../../../services/authentication.service";
9
+ import * as i3 from "@angular/material/legacy-dialog";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/material/legacy-form-field";
12
+ import * as i6 from "@angular/material/legacy-input";
13
+ import * as i7 from "@angular/forms";
14
+ import * as i8 from "@angular/material/legacy-button";
15
+ import * as i9 from "@angular/material/legacy-card";
16
+ import * as i10 from "@angular/cdk/drag-drop";
17
+ class BeheerFilterComponent {
18
+ FiltersApiClient;
19
+ authenticationService;
20
+ dialog;
21
+ ChangeDetectorRef;
22
+ filter;
23
+ reload = new EventEmitter();
24
+ FilterOptionViewModel = null;
25
+ constructor(FiltersApiClient, authenticationService, dialog, ChangeDetectorRef) {
26
+ this.FiltersApiClient = FiltersApiClient;
27
+ this.authenticationService = authenticationService;
28
+ this.dialog = dialog;
29
+ this.ChangeDetectorRef = ChangeDetectorRef;
30
+ }
31
+ drop(event) {
32
+ if (this.filter.filterOptionViewModels != null) {
33
+ moveItemInArray(this.filter.filterOptionViewModels, event.previousIndex, event.currentIndex);
34
+ for (var i = 0; i < this.filter.filterOptionViewModels.length; i++) {
35
+ this.filter.filterOptionViewModels[i].position = i;
36
+ }
37
+ this.Save();
38
+ }
39
+ }
40
+ Open(option) {
41
+ this.FilterOptionViewModel = option;
42
+ }
43
+ Sort() {
44
+ if (this.filter != null) {
45
+ var request = new SortFilterRequest();
46
+ request.loginResponseModel = this.authenticationService.currentUserValue;
47
+ request.filterId = this.filter.id;
48
+ this.FiltersApiClient.sortFilter(request).subscribe(() => {
49
+ this.reload.emit();
50
+ }, (error) => {
51
+ if (error.status == 400)
52
+ console.log(error.json());
53
+ else {
54
+ console.log('An unexpected error occured');
55
+ console.log(error);
56
+ }
57
+ });
58
+ }
59
+ }
60
+ RequireFilter() {
61
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent);
62
+ dialogRef.afterClosed().subscribe((result) => {
63
+ if (result?.filter != null && this.filter != null) {
64
+ if (result.filter > 0) {
65
+ if (confirm("Weet je het zeker?")) {
66
+ this.ChangeDetectorRef.detectChanges();
67
+ var request = new SetFilterRequiredRequest();
68
+ request.filterAffectsId = this.filter.id;
69
+ request.filterRequiredId = result.filter;
70
+ this.FiltersApiClient.setFilterRequired(request).subscribe(() => {
71
+ this.reload.emit();
72
+ }, (error) => {
73
+ if (error.status == 400)
74
+ console.log(error.json());
75
+ else {
76
+ console.log('An unexpected error occured');
77
+ console.log(error);
78
+ }
79
+ });
80
+ }
81
+ }
82
+ }
83
+ });
84
+ }
85
+ RequireFilterOption() {
86
+ var dialogRef = this.dialog.open(BeheerSelectFilteroptionDialogComponent);
87
+ dialogRef.afterClosed().subscribe((result) => {
88
+ if (result?.filteroption != null && this.filter) {
89
+ if (result.filteroption > 0) {
90
+ if (confirm("Weet je het zeker?")) {
91
+ this.ChangeDetectorRef.detectChanges();
92
+ var request = new SetFilterOptionRequiredRequest();
93
+ request.filterId = this.filter.id;
94
+ request.rangeInputId = 0;
95
+ request.filterOptionId = result.filteroption;
96
+ this.FiltersApiClient.setFilterOptionRequired(request).subscribe(() => {
97
+ this.reload.emit();
98
+ }, (error) => {
99
+ alert('An unexpected error occured');
100
+ });
101
+ }
102
+ }
103
+ }
104
+ });
105
+ }
106
+ RequireFilterOptionFilterOption() {
107
+ var dialogRef = this.dialog.open(BeheerSelectFilteroptionDialogComponent);
108
+ dialogRef.afterClosed().subscribe((result) => {
109
+ if (result?.filteroption != null && this.filter) {
110
+ if (result.filteroption > 0) {
111
+ if (confirm("Weet je het zeker?")) {
112
+ this.ChangeDetectorRef.detectChanges();
113
+ //var request = new SetFilterOptionRequiredRequest();
114
+ //request.filterId = this.filter.id;
115
+ //request.rangeInputId = 0;
116
+ //request.filterOptionId = result.filteroption;
117
+ //this.FiltersApiClient.setFilterOptionRequired(request).subscribe(() => {
118
+ // this.reload.emit();
119
+ //}, (error: Response) => {
120
+ // if (error.status == 400)
121
+ // console.log(error.json());
122
+ // else {
123
+ // console.log('An unexpected error occured');
124
+ // console.log(error);
125
+ // }
126
+ //});
127
+ }
128
+ }
129
+ }
130
+ });
131
+ }
132
+ RemoveRequireFilterOption(require) {
133
+ if (confirm("Weet je het zeker?")) {
134
+ this.ChangeDetectorRef.detectChanges();
135
+ var request = new SetFilterOptionRequiredRequest();
136
+ request.filterId = require.affectedFilterId;
137
+ request.rangeInputId = 0;
138
+ request.filterOptionId = require.requiredFilterOptionId;
139
+ this.FiltersApiClient.removeFilterOptionRequired(request).subscribe(() => {
140
+ this.reload.emit();
141
+ }, (error) => {
142
+ if (error.status == 400)
143
+ console.log(error.json());
144
+ else {
145
+ console.log('An unexpected error occured');
146
+ console.log(error);
147
+ }
148
+ });
149
+ }
150
+ }
151
+ RemoveRequireFilterOptionFilterOption(require) {
152
+ if (confirm("Weet je het zeker?")) {
153
+ this.ChangeDetectorRef.detectChanges();
154
+ //var request = new SetFilterOptionRequiredRequest();
155
+ //request.filterId = require.affectedFilterId;
156
+ //request.rangeInputId = 0;
157
+ //request.filterOptionId = require.requiredFilterOptionId;
158
+ //this.FiltersApiClient.removeFilterOptionRequired(request).subscribe(() => {
159
+ // this.reload.emit();
160
+ //}, (error: Response) => {
161
+ // if (error.status == 400)
162
+ // console.log(error.json());
163
+ // else {
164
+ // console.log('An unexpected error occured');
165
+ // console.log(error);
166
+ // }
167
+ //});
168
+ }
169
+ }
170
+ RemoveFilterOption(option) {
171
+ this.FiltersApiClient.removeFilterOption(option).subscribe(() => {
172
+ this.reload.emit();
173
+ }, (error) => {
174
+ alert('An unexpected error occured');
175
+ });
176
+ }
177
+ SaveFilterOption(option) {
178
+ this.FiltersApiClient.saveFilterOption(option).subscribe(() => {
179
+ this.reload.emit();
180
+ }, (error) => {
181
+ alert('An unexpected error occured');
182
+ });
183
+ }
184
+ GetFilterOptions() {
185
+ if (this.filter?.filterOptionViewModels != undefined) {
186
+ return this.filter.filterOptionViewModels;
187
+ }
188
+ else {
189
+ return new Array();
190
+ }
191
+ }
192
+ Save() {
193
+ this.FiltersApiClient.saveFilterViewModel(this.filter).subscribe(() => {
194
+ this.reload.emit();
195
+ }, (error) => {
196
+ alert('An unexpected error occured');
197
+ });
198
+ }
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerFilterComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.AuthenticationService }, { token: i3.MatLegacyDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: BeheerFilterComponent, selector: "app-beheer-filter", inputs: { filter: "filter" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"filter.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilter()\">Filter</button>\r\n <button mat-raised-button (click)=\"RequireFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of filter.requiresFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOption(option)\">Remove</button>\r\n </div>\r\n <div *ngFor=\"let filter of filter.requiresFilters\" class=\"required-option\">\r\n {{ filter.requiredFilterName }}\r\n <button mat-raised-button>Remove</button>\r\n </div>\r\n</div>\r\n<div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n</div>\r\n<div class=\"filter-options-container\">\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let option of GetFilterOptions()\" cdkDrag>\r\n <span [ngClass]=\"{'selected': option.id == FilterOptionViewModel?.id }\">\r\n {{ option.name }}\r\n </span>\r\n\r\n <button (click)=\"Open(option)\">Select</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-card *ngIf=\"FilterOptionViewModel != null\">\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"filter-option-name flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name (#{{ FilterOptionViewModel.id }})</mat-label>\r\n <input matInput [(ngModel)]=\"FilterOptionViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"SaveFilterOption(FilterOptionViewModel)\">Save</button>\r\n <button mat-raised-button (click)=\"RemoveFilterOption(FilterOptionViewModel)\">Remove</button>\r\n </div>\r\n <div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilterOptionFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of FilterOptionViewModel.required\" class=\"required-option\">\r\n {{ option.filterName }}: {{ option.filterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOptionFilterOption(option)\">Remove</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.input-list{border:solid 1px #ccc;display:block;background:white;border-radius:4px}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }] });
201
+ }
202
+ export { BeheerFilterComponent };
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerFilterComponent, decorators: [{
204
+ type: Component,
205
+ args: [{ selector: 'app-beheer-filter', template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"filter.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilter()\">Filter</button>\r\n <button mat-raised-button (click)=\"RequireFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of filter.requiresFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOption(option)\">Remove</button>\r\n </div>\r\n <div *ngFor=\"let filter of filter.requiresFilters\" class=\"required-option\">\r\n {{ filter.requiredFilterName }}\r\n <button mat-raised-button>Remove</button>\r\n </div>\r\n</div>\r\n<div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n</div>\r\n<div class=\"filter-options-container\">\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let option of GetFilterOptions()\" cdkDrag>\r\n <span [ngClass]=\"{'selected': option.id == FilterOptionViewModel?.id }\">\r\n {{ option.name }}\r\n </span>\r\n\r\n <button (click)=\"Open(option)\">Select</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-card *ngIf=\"FilterOptionViewModel != null\">\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"filter-option-name flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name (#{{ FilterOptionViewModel.id }})</mat-label>\r\n <input matInput [(ngModel)]=\"FilterOptionViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"SaveFilterOption(FilterOptionViewModel)\">Save</button>\r\n <button mat-raised-button (click)=\"RemoveFilterOption(FilterOptionViewModel)\">Remove</button>\r\n </div>\r\n <div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilterOptionFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of FilterOptionViewModel.required\" class=\"required-option\">\r\n {{ option.filterName }}: {{ option.filterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOptionFilterOption(option)\">Remove</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.input-list{border:solid 1px #ccc;display:block;background:white;border-radius:4px}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
206
+ }], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.AuthenticationService }, { type: i3.MatLegacyDialog }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
207
+ type: Input
208
+ }], reload: [{
209
+ type: Output
210
+ }] } });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFzSSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pRLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDOzs7Ozs7Ozs7Ozs7QUFFM0ksTUFLYSxxQkFBcUI7SUFPWjtJQUNWO0lBQ0Q7SUFDQztJQVRELE1BQU0sQ0FBa0I7SUFFdkIsTUFBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXpELHFCQUFxQixHQUFpQyxJQUFJLENBQUM7SUFFbEUsWUFBb0IsZ0JBQWtDLEVBQzVDLHFCQUE0QyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFIMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzdDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIs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QyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQTZCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDcEIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsSUFBSSxTQUFTLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDO1NBQzNDO2FBQ0k7WUFDSCxPQUFPLElBQUksS0FBSyxFQUF5QixDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNwQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBek5VLHFCQUFxQjsyRkFBckIscUJBQXFCLHNIQ2JsQyxxOEZBd0VBOztTRDNEYSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7eU1BS3BCLE1BQU07c0JBQWQsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgRmlsdGVyc0FwaUNsaWVudCwgRmlsdGVyVmlld01vZGVsLCBTb3J0RmlsdGVyUmVxdWVzdCwgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0LCBTZXRGaWx0ZXJSZXF1aXJlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckZpbHRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBGaWx0ZXJWaWV3TW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIEZpbHRlck9wdGlvblZpZXdNb2RlbDogRmlsdGVyT3B0aW9uVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCkge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLlNhdmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkZpbHRlck9wdGlvblZpZXdNb2RlbCA9IG9wdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTb3J0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU29ydEZpbHRlclJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZTtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG5cclxuICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNvcnRGaWx0ZXIocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXF1aXJlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlciAhPSBudWxsICYmIHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmZpbHRlciA+IDApIHtcclxuICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJBZmZlY3RzSWQgPSB0aGlzLmZpbHRlci5pZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJSZXF1aXJlZElkID0gcmVzdWx0LmZpbHRlcjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zZXRGaWx0ZXJSZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVxdWlyZUZpbHRlck9wdGlvbigpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0Py5maWx0ZXJvcHRpb24gIT0gbnVsbCAmJiB0aGlzLmZpbHRlcikge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlcklkID0gdGhpcy5maWx0ZXIuaWQ7XHJcbiAgICAgICAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2V0RmlsdGVyT3B0aW9uUmVxdWlyZWQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbigpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0Py5maWx0ZXJvcHRpb24gIT0gbnVsbCAmJiB0aGlzLmZpbHRlcikge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgLy92YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIC8vcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICAvL3JlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgICAgICAgLy9yZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVzdWx0LmZpbHRlcm9wdGlvbjtcclxuXHJcbiAgICAgICAgICAgIC8vdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIC8vfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgIC8vICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgICAgIC8vICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAgIC8vfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZW1vdmVSZXF1aXJlRmlsdGVyT3B0aW9uKHJlcXVpcmU6IEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlcXVpcmUucmVxdWlyZWRGaWx0ZXJPcHRpb25JZDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb24ocmVxdWlyZTogRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIC8vdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIC8vcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXF1aXJlLnJlcXVpcmVkRmlsdGVyT3B0aW9uSWQ7XHJcblxyXG4gICAgICAvL3RoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAvLyAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAvL30sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAvLyAgZWxzZSB7XHJcbiAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgLy8gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvL30pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZUZpbHRlck9wdGlvbihvcHRpb246IEZpbHRlck9wdGlvblZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvbihvcHRpb24pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmVGaWx0ZXJPcHRpb24ob3B0aW9uOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlRmlsdGVyT3B0aW9uKG9wdGlvbikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RmlsdGVyT3B0aW9ucygpOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWxbXSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXI/LmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlci5maWx0ZXJPcHRpb25WaWV3TW9kZWxzO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZUZpbHRlclZpZXdNb2RlbCh0aGlzLmZpbHRlcikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItbmFtZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+TmFtZTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWx0ZXIubmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2F2ZS1kaXZcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgUmVxdWlyZXNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZUZpbHRlcigpXCI+RmlsdGVyPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyT3B0aW9uKClcIj5GaWx0ZXJPcHRpb248L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5yZXF1aXJlc0ZpbHRlck9wdGlvbnNcIiBjbGFzcz1cInJlcXVpcmVkLW9wdGlvblwiIFtuZ0NsYXNzXT1cInsgJ0FORCc6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMCwgJ09SJzogb3B0aW9uLmZpbHRlck9wdGlvblJlcXVpcmVkVHlwZSA9PSAxIH1cIj5cclxuICAgIHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck9wdGlvbk5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb24ob3B0aW9uKVwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXIucmVxdWlyZXNGaWx0ZXJzXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIj5cclxuICAgIHt7IGZpbHRlci5yZXF1aXJlZEZpbHRlck5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2PlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNvcnQoKVwiPlNvcnQ8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9ucy1jb250YWluZXJcIj5cclxuICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiaW5wdXQtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaXRlbVwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgR2V0RmlsdGVyT3B0aW9ucygpXCIgY2RrRHJhZz5cclxuICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IG9wdGlvbi5pZCA9PSBGaWx0ZXJPcHRpb25WaWV3TW9kZWw/LmlkIH1cIj5cclxuICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJPcGVuKG9wdGlvbilcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxtYXQtY2FyZCAqbmdJZj1cIkZpbHRlck9wdGlvblZpZXdNb2RlbCAhPSBudWxsXCI+XHJcbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb24tbmFtZSBmbGV4YXV0b1wiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5OYW1lICgje3sgRmlsdGVyT3B0aW9uVmlld01vZGVsLmlkIH19KTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uVmlld01vZGVsLm5hbWVcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZUZpbHRlck9wdGlvbihGaWx0ZXJPcHRpb25WaWV3TW9kZWwpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVGaWx0ZXJPcHRpb24oRmlsdGVyT3B0aW9uVmlld01vZGVsKVwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgICAgIFJlcXVpcmVzXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbigpXCI+RmlsdGVyT3B0aW9uPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIEZpbHRlck9wdGlvblZpZXdNb2RlbC5yZXF1aXJlZFwiIGNsYXNzPVwicmVxdWlyZWQtb3B0aW9uXCI+XHJcbiAgICAgICAge3sgb3B0aW9uLmZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5maWx0ZXJPcHRpb25OYW1lIH19XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG48L21hdC1jYXJkPlxyXG5cclxuIl19
@@ -0,0 +1,88 @@
1
+ import { Component } from '@angular/core';
2
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../swagger/SwaggerClient";
5
+ import * as i2 from "../../../services/authentication.service";
6
+ import * as i3 from "@angular/material/legacy-dialog";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/material/legacy-button";
9
+ import * as i6 from "@angular/material/legacy-card";
10
+ import * as i7 from "@angular/cdk/drag-drop";
11
+ import * as i8 from "../beheer-nav/beheer-nav.component";
12
+ import * as i9 from "../../../components/fab-loader/fab-loader.component";
13
+ import * as i10 from "../beheer-filter/beheer-filter.component";
14
+ import * as i11 from "../beheer-rangeinput/beheer-rangeinput.component";
15
+ class BeheerFiltersComponent {
16
+ FiltersApiClient;
17
+ authenticationService;
18
+ dialog;
19
+ ChangeDetectorRef;
20
+ Loading = true;
21
+ InputsViewModel;
22
+ InputViewModel = undefined;
23
+ constructor(FiltersApiClient, authenticationService, dialog, ChangeDetectorRef) {
24
+ this.FiltersApiClient = FiltersApiClient;
25
+ this.authenticationService = authenticationService;
26
+ this.dialog = dialog;
27
+ this.ChangeDetectorRef = ChangeDetectorRef;
28
+ }
29
+ ngOnInit() {
30
+ this.LoadInputs();
31
+ }
32
+ drop(event) {
33
+ if (this.InputsViewModel.inputs != null) {
34
+ moveItemInArray(this.InputsViewModel.inputs, event.previousIndex, event.currentIndex);
35
+ this.SaveInputs();
36
+ }
37
+ }
38
+ Open(input) {
39
+ this.InputViewModel = input;
40
+ }
41
+ AddCategory() {
42
+ }
43
+ LoadInputs() {
44
+ this.Loading = true;
45
+ this.FiltersApiClient.getInputsViewModel(this.authenticationService.currentUserValue).subscribe((model) => {
46
+ this.InputsViewModel = model;
47
+ if (this.InputViewModel != null && this.InputsViewModel.inputs != null) {
48
+ for (var i = 0; i < this.InputsViewModel.inputs.length; i++) {
49
+ if ((this.InputViewModel.filter?.id == this.InputsViewModel.inputs[i].filter?.id) &&
50
+ (this.InputViewModel.range?.id == this.InputsViewModel.inputs[i].range?.id)) {
51
+ this.InputViewModel = this.InputsViewModel.inputs[i];
52
+ }
53
+ }
54
+ }
55
+ this.Loading = false;
56
+ }, (error) => {
57
+ alert('An unexpected error occured');
58
+ this.Loading = false;
59
+ });
60
+ }
61
+ SaveInputs() {
62
+ if (this.InputsViewModel.inputs != null) {
63
+ this.Loading = true;
64
+ for (var i = 0; i < this.InputsViewModel.inputs.length; i++) {
65
+ this.InputsViewModel.inputs[i].position = i;
66
+ }
67
+ this.FiltersApiClient.saveInputsViewModel(this.InputsViewModel).subscribe(() => {
68
+ this.LoadInputs();
69
+ }, (error) => {
70
+ if (error.status == 400)
71
+ console.log(error.json());
72
+ else {
73
+ console.log('An unexpected error occured');
74
+ console.log(error);
75
+ }
76
+ this.Loading = false;
77
+ });
78
+ }
79
+ }
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerFiltersComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.AuthenticationService }, { token: i3.MatLegacyDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: BeheerFiltersComponent, selector: "app-beheer-filters", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\" class=\"loader\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"InputsViewModel\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"AddCategory()\">Categorie toevoegen</button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let input of InputsViewModel.inputs\" cdkDrag>\r\n <ng-container *ngIf=\"input.filter\">\r\n <span [ngClass]=\"{'selected': input.filter?.id == InputViewModel?.filter?.id }\">\r\n {{ input.filter.name }} (#{{ input.filter.id }})\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range\">\r\n <span [ngClass]=\"{'selected': input.range?.id == InputViewModel?.range?.id }\">\r\n {{ input.range.name }} (#{{ input.range.id }})\r\n </span>\r\n \r\n </ng-container>\r\n <button (click)=\"Open(input)\">Select</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"InputViewModel != undefined\">\r\n <ng-container *ngIf=\"InputViewModel.filter\">\r\n <app-beheer-filter [filter]=\"InputViewModel.filter\" (reload)=\"LoadInputs()\"></app-beheer-filter>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"InputViewModel.range\">\r\n <app-beheer-rangeinput [rangeinput]=\"InputViewModel.range\" (reload)=\"LoadInputs()\"></app-beheer-rangeinput>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.loader{position:fixed;z-index:100;width:100%;background-color:#fffa;top:0;height:100%}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.selected{font-weight:700}.input-list{max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:white;border-radius:4px;overflow-y:scroll;height:calc(100vH - 188px)}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i6.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i8.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i9.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i10.BeheerFilterComponent, selector: "app-beheer-filter", inputs: ["filter"], outputs: ["reload"] }, { kind: "component", type: i11.BeheerRangeinputComponent, selector: "app-beheer-rangeinput", inputs: ["rangeinput"], outputs: ["reload"] }] });
82
+ }
83
+ export { BeheerFiltersComponent };
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerFiltersComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'app-beheer-filters', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\" class=\"loader\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"InputsViewModel\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"AddCategory()\">Categorie toevoegen</button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let input of InputsViewModel.inputs\" cdkDrag>\r\n <ng-container *ngIf=\"input.filter\">\r\n <span [ngClass]=\"{'selected': input.filter?.id == InputViewModel?.filter?.id }\">\r\n {{ input.filter.name }} (#{{ input.filter.id }})\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range\">\r\n <span [ngClass]=\"{'selected': input.range?.id == InputViewModel?.range?.id }\">\r\n {{ input.range.name }} (#{{ input.range.id }})\r\n </span>\r\n \r\n </ng-container>\r\n <button (click)=\"Open(input)\">Select</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"InputViewModel != undefined\">\r\n <ng-container *ngIf=\"InputViewModel.filter\">\r\n <app-beheer-filter [filter]=\"InputViewModel.filter\" (reload)=\"LoadInputs()\"></app-beheer-filter>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"InputViewModel.range\">\r\n <app-beheer-rangeinput [rangeinput]=\"InputViewModel.range\" (reload)=\"LoadInputs()\"></app-beheer-rangeinput>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.loader{position:fixed;z-index:100;width:100%;background-color:#fffa;top:0;height:100%}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.selected{font-weight:700}.input-list{max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:white;border-radius:4px;overflow-y:scroll;height:calc(100vH - 188px)}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
87
+ }], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.AuthenticationService }, { type: i3.MatLegacyDialog }, { type: i0.ChangeDetectorRef }]; } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVycy9iZWhlZXItZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU10RSxNQUthLHNCQUFzQjtJQVFiO0lBQ1Y7SUFDRDtJQUNDO0lBVEgsT0FBTyxHQUFZLElBQUksQ0FBQztJQUV4QixlQUFlLENBQWtCO0lBRWpDLGNBQWMsR0FBK0IsU0FBUyxDQUFDO0lBRTlELFlBQW9CLGdCQUFrQyxFQUM1QyxxQkFBNEMsRUFDN0MsTUFBaUIsRUFDaEIsaUJBQW9DO1FBSDFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUN2QyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxN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QXNEQTs7U0R6Q2Esc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIElucHV0c1ZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIFJhbmdlSW5wdXRGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgSW5wdXRWaWV3TW9kZWwsIFNvcnRGaWx0ZXJSZXF1ZXN0LCBGaWx0ZXJPcHRpb25WaWV3TW9kZWwsIFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCwgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1maWx0ZXJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBJbnB1dHNWaWV3TW9kZWw6IElucHV0c1ZpZXdNb2RlbDtcclxuXHJcbiAgcHVibGljIElucHV0Vmlld01vZGVsOiBJbnB1dFZpZXdNb2RlbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBGaWx0ZXJzQXBpQ2xpZW50OiBGaWx0ZXJzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRJbnB1dHMoKTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcblxyXG4gICAgICB0aGlzLlNhdmVJbnB1dHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKGlucHV0OiBJbnB1dFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5JbnB1dFZpZXdNb2RlbCA9IGlucHV0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZENhdGVnb3J5KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkSW5wdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0SW5wdXRzVmlld01vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpLnN1YnNjcmliZSgobW9kZWw6IElucHV0c1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLklucHV0c1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgaWYgKHRoaXMuSW5wdXRWaWV3TW9kZWwgIT0gbnVsbCAmJiB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAoKHRoaXMuSW5wdXRWaWV3TW9kZWwuZmlsdGVyPy5pZCA9PSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0uZmlsdGVyPy5pZCkgJiZcclxuICAgICAgICAgICAgKHRoaXMuSW5wdXRWaWV3TW9kZWwucmFuZ2U/LmlkID09IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0c1tpXS5yYW5nZT8uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuSW5wdXRWaWV3TW9kZWwgPSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2F2ZUlucHV0cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlSW5wdXRzVmlld01vZGVsKHRoaXMuSW5wdXRzVmlld01vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuTG9hZElucHV0cygpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJlaGVlci1uYXY+PC9hcHAtYmVoZWVyLW5hdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJMb2FkaW5nXCIgY2xhc3M9XCJsb2FkZXJcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiSW5wdXRzVmlld01vZGVsXCIgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQWRkQ2F0ZWdvcnkoKVwiPkNhdGVnb3JpZSB0b2V2b2VnZW48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICA8L21hdC1jYXJkPlxyXG4gIDxiciAvPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCBjbGFzcz1cImlucHV0LWxpc3RcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaXRlbVwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBJbnB1dHNWaWV3TW9kZWwuaW5wdXRzXCIgY2RrRHJhZz5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogaW5wdXQuZmlsdGVyPy5pZCA9PSBJbnB1dFZpZXdNb2RlbD8uZmlsdGVyPy5pZCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGlucHV0LmZpbHRlci5uYW1lIH19ICgje3sgaW5wdXQuZmlsdGVyLmlkIH19KVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5yYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGlucHV0LnJhbmdlPy5pZCA9PSBJbnB1dFZpZXdNb2RlbD8ucmFuZ2U/LmlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAge3sgaW5wdXQucmFuZ2UubmFtZSB9fSAoI3t7IGlucHV0LnJhbmdlLmlkIH19KVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiT3BlbihpbnB1dClcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICA8bWF0LWNhcmQ+XHJcbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgIDxkaXYgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiSW5wdXRWaWV3TW9kZWwuZmlsdGVyXCI+XHJcbiAgICAgICAgICAgICA8YXBwLWJlaGVlci1maWx0ZXIgW2ZpbHRlcl09XCJJbnB1dFZpZXdNb2RlbC5maWx0ZXJcIiAocmVsb2FkKT1cIkxvYWRJbnB1dHMoKVwiPjwvYXBwLWJlaGVlci1maWx0ZXI+XHJcbiAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbC5yYW5nZVwiPlxyXG4gICAgICAgICAgICA8YXBwLWJlaGVlci1yYW5nZWlucHV0IFtyYW5nZWlucHV0XT1cIklucHV0Vmlld01vZGVsLnJhbmdlXCIgKHJlbG9hZCk9XCJMb2FkSW5wdXRzKClcIj48L2FwcC1iZWhlZXItcmFuZ2VpbnB1dD5cclxuICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
3
+ import { SaveImportSetRequest } from '../../../../swagger/SwaggerClient';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../services/importsets.service";
6
+ import * as i2 from "@angular/material/legacy-dialog";
7
+ import * as i3 from "../../../../swagger/SwaggerClient";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/material/legacy-form-field";
10
+ import * as i6 from "@angular/material/legacy-input";
11
+ import * as i7 from "@angular/forms";
12
+ import * as i8 from "@angular/material/legacy-button";
13
+ import * as i9 from "../../../../components/fab-loader/fab-loader.component";
14
+ class BeheerImportSetsDialogComponent {
15
+ ChangeDetectorRef;
16
+ ImportSetsService;
17
+ dialogRef;
18
+ data;
19
+ ImportApiClient;
20
+ id;
21
+ name;
22
+ Loading = false;
23
+ constructor(ChangeDetectorRef, ImportSetsService, dialogRef, data, ImportApiClient) {
24
+ this.ChangeDetectorRef = ChangeDetectorRef;
25
+ this.ImportSetsService = ImportSetsService;
26
+ this.dialogRef = dialogRef;
27
+ this.data = data;
28
+ this.ImportApiClient = ImportApiClient;
29
+ this.id = data.id;
30
+ this.name = data.name;
31
+ }
32
+ ngOnInit() {
33
+ }
34
+ Opslaan() {
35
+ this.Loading = true;
36
+ var model = new SaveImportSetRequest();
37
+ model.id = this.id;
38
+ model.name = this.name;
39
+ this.ImportApiClient.saveImportSet(model).subscribe(() => {
40
+ this.Loading = false;
41
+ this.ImportSetsService.LoadImportSets(this.ChangeDetectorRef);
42
+ this.dialogRef.close();
43
+ }, (error) => {
44
+ alert('An unexpected error occured');
45
+ this.Loading = false;
46
+ });
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerImportSetsDialogComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ImportSetsService }, { token: i2.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }, { token: i3.ImportApiClient }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: BeheerImportSetsDialogComponent, selector: "app-beheer-import-sets-dialog", ngImport: i0, template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"name\">\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"Opslaan()\">Opslaan</button>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.FabLoaderComponent, selector: "app-fab-loader" }] });
50
+ }
51
+ export { BeheerImportSetsDialogComponent };
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerImportSetsDialogComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'app-beheer-import-sets-dialog', template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"name\">\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"Opslaan()\">Opslaan</button>\r\n</div>\r\n" }]
55
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ImportSetsService }, { type: i2.MatLegacyDialogRef }, { type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: [MAT_DIALOG_DATA]
58
+ }] }, { type: i3.ImportApiClient }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWltcG9ydC1zZXRzLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1pbXBvcnQtc2V0cy9iZWhlZXItaW1wb3J0LXNldHMtZGlhbG9nL2JlaGVlci1pbXBvcnQtc2V0cy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLWRpYWxvZy9iZWhlZXItaW1wb3J0LXNldHMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhJLE9BQU8sRUFBRSxvQkFBb0IsRUFBbUIsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFFMUYsTUFLYSwrQkFBK0I7SUFRakM7SUFDQztJQUNEO0lBQ3lCO0lBQ3hCO0lBVkgsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFTO0lBRWIsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVoQyxZQUNTLGlCQUFvQyxFQUNuQyxpQkFBb0MsRUFDckMsU0FBd0QsRUFDL0IsSUFBUyxFQUNqQyxlQUFnQztRQUpqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBK0M7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDeEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxLQUFLLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUU3RCxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUU5RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0F0Q1UsK0JBQStCLHNIQVdoQyxlQUFlOzJGQVhkLCtCQUErQixxRUNWNUMsbVZBWUE7O1NERmEsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsK0JBQStCOzswQkFldEMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nUmVmIGFzIE1hdERpYWxvZ1JlZiwgTUFUX0xFR0FDWV9ESUFMT0dfREFUQSBhcyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgSW1wb3J0U2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9pbXBvcnRzZXRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTYXZlSW1wb3J0U2V0UmVxdWVzdCwgSW1wb3J0QXBpQ2xpZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1pbXBvcnQtc2V0cy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItaW1wb3J0LXNldHMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItaW1wb3J0LXNldHMtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckltcG9ydFNldHNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgaWQ6IG51bWJlcjtcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIEltcG9ydFNldHNTZXJ2aWNlOiBJbXBvcnRTZXRzU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCZWhlZXJJbXBvcnRTZXRzRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBJbXBvcnRBcGlDbGllbnQ6IEltcG9ydEFwaUNsaWVudCkge1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcHNsYWFuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgbW9kZWw6IFNhdmVJbXBvcnRTZXRSZXF1ZXN0ID0gbmV3IFNhdmVJbXBvcnRTZXRSZXF1ZXN0KCk7XHJcblxyXG4gICAgbW9kZWwuaWQgPSB0aGlzLmlkO1xyXG4gICAgbW9kZWwubmFtZSA9IHRoaXMubmFtZTtcclxuXHJcbiAgICB0aGlzLkltcG9ydEFwaUNsaWVudC5zYXZlSW1wb3J0U2V0KG1vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5JbXBvcnRTZXRzU2VydmljZS5Mb2FkSW1wb3J0U2V0cyh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgPG1hdC1sYWJlbD5OYWFtPC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJuYW1lXCI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiT3BzbGFhbigpXCI+T3BzbGFhbjwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19