@ecodev/natural 41.3.0 → 42.2.0

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 (350) hide show
  1. package/ecodev-natural.d.ts +1 -9
  2. package/esm2020/ecodev-natural.mjs +5 -0
  3. package/esm2020/lib/classes/abstract-controller.mjs +30 -0
  4. package/esm2020/lib/classes/abstract-detail.mjs +152 -0
  5. package/esm2020/lib/classes/abstract-editable-list.mjs +96 -0
  6. package/esm2020/lib/classes/abstract-list.mjs +406 -0
  7. package/esm2020/lib/classes/abstract-navigable-list.mjs +126 -0
  8. package/{esm2015/lib/classes/apollo-utils.js → esm2020/lib/classes/apollo-utils.mjs} +0 -0
  9. package/esm2020/lib/classes/data-source.mjs +76 -0
  10. package/{esm2015/lib/classes/query-variable-manager-utils.js → esm2020/lib/classes/query-variable-manager-utils.mjs} +0 -0
  11. package/esm2020/lib/classes/query-variable-manager.mjs +172 -0
  12. package/{esm2015/lib/classes/rxjs.js → esm2020/lib/classes/rxjs.mjs} +0 -0
  13. package/{esm2015/lib/classes/tld.js → esm2020/lib/classes/tld.mjs} +0 -0
  14. package/{esm2015/lib/classes/utility.js → esm2020/lib/classes/utility.mjs} +0 -0
  15. package/esm2020/lib/classes/validators.mjs +179 -0
  16. package/esm2020/lib/directives/http-prefix.directive.mjs +50 -0
  17. package/esm2020/lib/modules/alert/alert.module.mjs +20 -0
  18. package/esm2020/lib/modules/alert/alert.service.mjs +55 -0
  19. package/esm2020/lib/modules/alert/confirm.component.mjs +20 -0
  20. package/{esm2015/lib/modules/alert/public-api.js → esm2020/lib/modules/alert/public-api.mjs} +0 -0
  21. package/esm2020/lib/modules/avatar/avatar.module.mjs +19 -0
  22. package/esm2020/lib/modules/avatar/component/avatar.component.mjs +190 -0
  23. package/{esm2015/lib/modules/avatar/public-api.js → esm2020/lib/modules/avatar/public-api.mjs} +0 -0
  24. package/esm2020/lib/modules/avatar/service/avatar.service.mjs +66 -0
  25. package/esm2020/lib/modules/avatar/sources/gravatar.mjs +29 -0
  26. package/{esm2015/lib/modules/avatar/sources/image.js → esm2020/lib/modules/avatar/sources/image.mjs} +0 -0
  27. package/{esm2015/lib/modules/avatar/sources/initials.js → esm2020/lib/modules/avatar/sources/initials.mjs} +0 -0
  28. package/{esm2015/lib/modules/avatar/sources/source.js → esm2020/lib/modules/avatar/sources/source.mjs} +1 -1
  29. package/esm2020/lib/modules/columns-picker/columns-picker-column.directive.mjs +43 -0
  30. package/esm2020/lib/modules/columns-picker/columns-picker.component.mjs +84 -0
  31. package/esm2020/lib/modules/columns-picker/columns-picker.module.mjs +47 -0
  32. package/{esm2015/lib/modules/columns-picker/public-api.js → esm2020/lib/modules/columns-picker/public-api.mjs} +0 -0
  33. package/esm2020/lib/modules/common/common-module.mjs +50 -0
  34. package/esm2020/lib/modules/common/directives/linkable-tab.directive.mjs +79 -0
  35. package/esm2020/lib/modules/common/directives/src-density.directive.mjs +62 -0
  36. package/esm2020/lib/modules/common/pipes/capitalize.pipe.mjs +18 -0
  37. package/esm2020/lib/modules/common/pipes/ellipsis.pipe.mjs +14 -0
  38. package/esm2020/lib/modules/common/pipes/enum.pipe.mjs +25 -0
  39. package/esm2020/lib/modules/common/pipes/swiss-date.pipe.mjs +20 -0
  40. package/esm2020/lib/modules/common/public-api.mjs +13 -0
  41. package/esm2020/lib/modules/common/services/memory-storage.mjs +112 -0
  42. package/esm2020/lib/modules/common/services/seo.service.mjs +114 -0
  43. package/esm2020/lib/modules/detail-header/detail-header.component.mjs +76 -0
  44. package/esm2020/lib/modules/detail-header/detail-header.module.mjs +21 -0
  45. package/{esm2015/lib/modules/detail-header/public-api.js → esm2020/lib/modules/detail-header/public-api.mjs} +0 -0
  46. package/esm2020/lib/modules/dialog-trigger/dialog-trigger.component.mjs +69 -0
  47. package/esm2020/lib/modules/dialog-trigger/dialog-trigger.module.mjs +19 -0
  48. package/{esm2015/lib/modules/dialog-trigger/public-api.js → esm2020/lib/modules/dialog-trigger/public-api.mjs} +0 -0
  49. package/esm2020/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +98 -0
  50. package/esm2020/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +92 -0
  51. package/{esm2015/lib/modules/dropdown-components/public-api.js → esm2020/lib/modules/dropdown-components/public-api.mjs} +0 -0
  52. package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +133 -0
  53. package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +137 -0
  54. package/esm2020/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +69 -0
  55. package/esm2020/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +38 -0
  56. package/esm2020/lib/modules/dropdown-components/type-number/type-number.component.mjs +104 -0
  57. package/esm2020/lib/modules/dropdown-components/type-select/type-select.component.mjs +169 -0
  58. package/esm2020/lib/modules/dropdown-components/type-text/type-text.component.mjs +57 -0
  59. package/{esm2015/lib/modules/dropdown-components/types.js → esm2020/lib/modules/dropdown-components/types.mjs} +0 -0
  60. package/{esm2015/lib/modules/dropdown-components/utils.js → esm2020/lib/modules/dropdown-components/utils.mjs} +0 -0
  61. package/esm2020/lib/modules/file/abstract-file.mjs +231 -0
  62. package/esm2020/lib/modules/file/component/file.component.mjs +143 -0
  63. package/esm2020/lib/modules/file/file-drop.directive.mjs +110 -0
  64. package/esm2020/lib/modules/file/file-select.directive.mjs +28 -0
  65. package/esm2020/lib/modules/file/file.module.mjs +24 -0
  66. package/esm2020/lib/modules/file/file.service.mjs +48 -0
  67. package/{esm2015/lib/modules/file/public-api.js → esm2020/lib/modules/file/public-api.mjs} +0 -0
  68. package/{esm2015/lib/modules/file/types.js → esm2020/lib/modules/file/types.mjs} +0 -0
  69. package/{esm2015/lib/modules/file/utils.js → esm2020/lib/modules/file/utils.mjs} +3 -4
  70. package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +27 -0
  71. package/esm2020/lib/modules/fixed-button/fixed-button.module.mjs +21 -0
  72. package/{esm2015/lib/modules/fixed-button/public-api.js → esm2020/lib/modules/fixed-button/public-api.mjs} +0 -0
  73. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +36 -0
  74. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +20 -0
  75. package/{esm2015/lib/modules/fixed-button-detail/public-api.js → esm2020/lib/modules/fixed-button-detail/public-api.mjs} +0 -0
  76. package/{esm2015/lib/modules/hierarchic-selector/classes/flat-node.js → esm2020/lib/modules/hierarchic-selector/classes/flat-node.mjs} +1 -1
  77. package/{esm2015/lib/modules/hierarchic-selector/classes/hierarchic-configuration.js → esm2020/lib/modules/hierarchic-selector/classes/hierarchic-configuration.mjs} +0 -0
  78. package/{esm2015/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.js → esm2020/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs} +0 -0
  79. package/{esm2015/lib/modules/hierarchic-selector/classes/model-node.js → esm2020/lib/modules/hierarchic-selector/classes/model-node.mjs} +1 -1
  80. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +364 -0
  81. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +258 -0
  82. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +31 -0
  83. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +23 -0
  84. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +81 -0
  85. package/{esm2015/lib/modules/hierarchic-selector/public-api.js → esm2020/lib/modules/hierarchic-selector/public-api.mjs} +0 -0
  86. package/esm2020/lib/modules/icon/icon.component.mjs +92 -0
  87. package/esm2020/lib/modules/icon/icon.module.mjs +30 -0
  88. package/{esm2015/lib/modules/icon/public-api.js → esm2020/lib/modules/icon/public-api.mjs} +0 -0
  89. package/esm2020/lib/modules/matomo/matomo-module.module.mjs +12 -0
  90. package/esm2020/lib/modules/matomo/matomo.service.mjs +105 -0
  91. package/{esm2015/lib/modules/matomo/public-api.js → esm2020/lib/modules/matomo/public-api.mjs} +0 -0
  92. package/esm2020/lib/modules/panels/abstract-panel.mjs +56 -0
  93. package/{esm2015/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.js → esm2020/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs} +0 -0
  94. package/esm2020/lib/modules/panels/panels.component.mjs +26 -0
  95. package/esm2020/lib/modules/panels/panels.module.mjs +33 -0
  96. package/esm2020/lib/modules/panels/panels.service.mjs +325 -0
  97. package/{esm2015/lib/modules/panels/panels.urlmatcher.js → esm2020/lib/modules/panels/panels.urlmatcher.mjs} +0 -0
  98. package/{esm2015/lib/modules/panels/public-api.js → esm2020/lib/modules/panels/public-api.mjs} +0 -0
  99. package/{esm2015/lib/modules/panels/types.js → esm2020/lib/modules/panels/types.mjs} +0 -0
  100. package/{esm2015/lib/modules/relations/public-api.js → esm2020/lib/modules/relations/public-api.mjs} +0 -0
  101. package/esm2020/lib/modules/relations/relations.component.mjs +198 -0
  102. package/esm2020/lib/modules/relations/relations.module.mjs +58 -0
  103. package/{esm2015/lib/modules/search/classes/graphql-doctrine.js → esm2020/lib/modules/search/classes/graphql-doctrine.mjs} +0 -0
  104. package/{esm2015/lib/modules/search/classes/graphql-doctrine.types.js → esm2020/lib/modules/search/classes/graphql-doctrine.types.mjs} +0 -0
  105. package/{esm2015/lib/modules/search/classes/transformers.js → esm2020/lib/modules/search/classes/transformers.mjs} +0 -0
  106. package/{esm2015/lib/modules/search/classes/url.js → esm2020/lib/modules/search/classes/url.mjs} +0 -0
  107. package/{esm2015/lib/modules/search/classes/utils.js → esm2020/lib/modules/search/classes/utils.mjs} +0 -0
  108. package/{esm2015/lib/modules/search/dropdown-container/dropdown-container-animations.js → esm2020/lib/modules/search/dropdown-container/dropdown-container-animations.mjs} +0 -0
  109. package/esm2020/lib/modules/search/dropdown-container/dropdown-container.component.mjs +88 -0
  110. package/{esm2015/lib/modules/search/dropdown-container/dropdown-ref.js → esm2020/lib/modules/search/dropdown-container/dropdown-ref.mjs} +1 -1
  111. package/esm2020/lib/modules/search/dropdown-container/dropdown.service.mjs +93 -0
  112. package/esm2020/lib/modules/search/facet-selector/facet-selector.component.mjs +50 -0
  113. package/esm2020/lib/modules/search/group/group.component.mjs +45 -0
  114. package/esm2020/lib/modules/search/input/input.component.mjs +328 -0
  115. package/{esm2015/lib/modules/search/public-api.js → esm2020/lib/modules/search/public-api.mjs} +0 -0
  116. package/esm2020/lib/modules/search/search/search.component.mjs +78 -0
  117. package/esm2020/lib/modules/search/search.module.mjs +84 -0
  118. package/{esm2015/lib/modules/search/types/dropdown-component.js → esm2020/lib/modules/search/types/dropdown-component.mjs} +0 -0
  119. package/{esm2015/lib/modules/search/types/facet.js → esm2020/lib/modules/search/types/facet.mjs} +0 -0
  120. package/{esm2015/lib/modules/search/types/values.js → esm2020/lib/modules/search/types/values.mjs} +0 -0
  121. package/esm2020/lib/modules/select/abstract-select.component.mjs +186 -0
  122. package/{esm2015/lib/modules/select/public-api.js → esm2020/lib/modules/select/public-api.mjs} +0 -0
  123. package/esm2020/lib/modules/select/select/select.component.mjs +207 -0
  124. package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +47 -0
  125. package/esm2020/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +127 -0
  126. package/esm2020/lib/modules/select/select.module.mjs +68 -0
  127. package/{esm2015/lib/modules/sidenav/public-api.js → esm2020/lib/modules/sidenav/public-api.mjs} +0 -0
  128. package/esm2020/lib/modules/sidenav/sidenav/sidenav.component.mjs +15 -0
  129. package/esm2020/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +87 -0
  130. package/esm2020/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +12 -0
  131. package/esm2020/lib/modules/sidenav/sidenav-stack.service.mjs +52 -0
  132. package/esm2020/lib/modules/sidenav/sidenav.module.mjs +25 -0
  133. package/esm2020/lib/modules/sidenav/sidenav.service.mjs +195 -0
  134. package/{esm2015/lib/modules/stamp/public-api.js → esm2020/lib/modules/stamp/public-api.mjs} +0 -0
  135. package/esm2020/lib/modules/stamp/stamp-module.module.mjs +18 -0
  136. package/esm2020/lib/modules/stamp/stamp.component.mjs +14 -0
  137. package/{esm2015/lib/modules/table-button/public-api.js → esm2020/lib/modules/table-button/public-api.mjs} +0 -0
  138. package/esm2020/lib/modules/table-button/table-button.component.mjs +48 -0
  139. package/esm2020/lib/modules/table-button/table-button.module.mjs +21 -0
  140. package/esm2020/lib/services/abstract-model.service.mjs +509 -0
  141. package/esm2020/lib/services/enum.service.mjs +67 -0
  142. package/esm2020/lib/services/link-mutation.service.mjs +153 -0
  143. package/esm2020/lib/services/persistence.service.mjs +113 -0
  144. package/esm2020/lib/services/swiss-parsing-date-adapter.service.mjs +55 -0
  145. package/{esm2015/lib/types/types.js → esm2020/lib/types/types.mjs} +0 -0
  146. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  147. package/fesm2015/{ecodev-natural.js → ecodev-natural.mjs} +2808 -2392
  148. package/fesm2015/ecodev-natural.mjs.map +1 -0
  149. package/fesm2020/ecodev-natural.mjs +10495 -0
  150. package/fesm2020/ecodev-natural.mjs.map +1 -0
  151. package/lib/classes/abstract-controller.d.ts +3 -0
  152. package/lib/classes/abstract-detail.d.ts +3 -0
  153. package/lib/classes/abstract-editable-list.d.ts +3 -0
  154. package/lib/classes/abstract-list.d.ts +3 -0
  155. package/lib/classes/abstract-navigable-list.d.ts +3 -0
  156. package/lib/classes/query-variable-manager.d.ts +19 -8
  157. package/lib/directives/http-prefix.directive.d.ts +3 -0
  158. package/lib/modules/alert/alert.module.d.ts +9 -0
  159. package/lib/modules/alert/alert.service.d.ts +3 -0
  160. package/lib/modules/alert/confirm.component.d.ts +3 -0
  161. package/lib/modules/avatar/avatar.module.d.ts +6 -0
  162. package/lib/modules/avatar/component/avatar.component.d.ts +4 -0
  163. package/lib/modules/avatar/service/avatar.service.d.ts +3 -0
  164. package/lib/modules/columns-picker/columns-picker-column.directive.d.ts +3 -0
  165. package/lib/modules/columns-picker/columns-picker.component.d.ts +3 -0
  166. package/lib/modules/columns-picker/columns-picker.module.d.ts +13 -0
  167. package/lib/modules/common/common-module.d.ts +15 -0
  168. package/lib/modules/common/directives/linkable-tab.directive.d.ts +3 -0
  169. package/lib/modules/common/directives/src-density.directive.d.ts +3 -0
  170. package/lib/modules/common/pipes/capitalize.pipe.d.ts +3 -0
  171. package/lib/modules/common/pipes/ellipsis.pipe.d.ts +3 -0
  172. package/lib/modules/common/pipes/enum.pipe.d.ts +3 -0
  173. package/lib/modules/common/pipes/swiss-date.pipe.d.ts +3 -0
  174. package/lib/modules/common/public-api.d.ts +0 -1
  175. package/lib/modules/common/services/memory-storage.d.ts +3 -0
  176. package/lib/modules/common/services/seo.service.d.ts +3 -0
  177. package/lib/modules/detail-header/detail-header.component.d.ts +3 -0
  178. package/lib/modules/detail-header/detail-header.module.d.ts +9 -0
  179. package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +3 -0
  180. package/lib/modules/dialog-trigger/dialog-trigger.module.d.ts +7 -0
  181. package/lib/modules/dropdown-components/abstract-association-select-component.directive.d.ts +3 -0
  182. package/lib/modules/dropdown-components/natural-dropdown-components.module.d.ts +22 -0
  183. package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +3 -0
  184. package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +3 -0
  185. package/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.d.ts +3 -0
  186. package/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.d.ts +3 -0
  187. package/lib/modules/dropdown-components/type-number/type-number.component.d.ts +3 -0
  188. package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +3 -0
  189. package/lib/modules/dropdown-components/type-text/type-text.component.d.ts +3 -0
  190. package/lib/modules/file/abstract-file.d.ts +3 -0
  191. package/lib/modules/file/component/file.component.d.ts +3 -0
  192. package/lib/modules/file/file-drop.directive.d.ts +3 -0
  193. package/lib/modules/file/file-select.directive.d.ts +3 -0
  194. package/lib/modules/file/file.module.d.ts +11 -0
  195. package/lib/modules/file/file.service.d.ts +3 -0
  196. package/lib/modules/fixed-button/fixed-button.component.d.ts +3 -0
  197. package/lib/modules/fixed-button/fixed-button.module.d.ts +9 -0
  198. package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +3 -0
  199. package/lib/modules/fixed-button-detail/fixed-button-detail.module.d.ts +8 -0
  200. package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +3 -0
  201. package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.d.ts +3 -0
  202. package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +3 -0
  203. package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.d.ts +3 -0
  204. package/lib/modules/hierarchic-selector/hierarchic-selector.module.d.ts +21 -0
  205. package/lib/modules/icon/icon.component.d.ts +3 -0
  206. package/lib/modules/icon/icon.module.d.ts +7 -0
  207. package/lib/modules/matomo/matomo-module.module.d.ts +4 -0
  208. package/lib/modules/matomo/matomo.service.d.ts +3 -0
  209. package/lib/modules/panels/abstract-panel.d.ts +3 -0
  210. package/lib/modules/panels/panels.component.d.ts +3 -0
  211. package/lib/modules/panels/panels.module.d.ts +8 -0
  212. package/lib/modules/panels/panels.service.d.ts +3 -0
  213. package/lib/modules/relations/relations.component.d.ts +3 -0
  214. package/lib/modules/relations/relations.module.d.ts +15 -0
  215. package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +3 -0
  216. package/lib/modules/search/dropdown-container/dropdown-ref.d.ts +1 -1
  217. package/lib/modules/search/dropdown-container/dropdown.service.d.ts +3 -0
  218. package/lib/modules/search/facet-selector/facet-selector.component.d.ts +3 -0
  219. package/lib/modules/search/group/group.component.d.ts +3 -0
  220. package/lib/modules/search/input/input.component.d.ts +3 -0
  221. package/lib/modules/search/search/search.component.d.ts +3 -0
  222. package/lib/modules/search/search.module.d.ts +19 -0
  223. package/lib/modules/select/abstract-select.component.d.ts +4 -1
  224. package/lib/modules/select/select/select.component.d.ts +3 -0
  225. package/lib/modules/select/select-enum/select-enum.component.d.ts +9 -2
  226. package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +3 -0
  227. package/lib/modules/select/select.module.d.ts +19 -0
  228. package/lib/modules/sidenav/sidenav/sidenav.component.d.ts +3 -0
  229. package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +3 -0
  230. package/lib/modules/sidenav/sidenav-content/sidenav-content.component.d.ts +3 -0
  231. package/lib/modules/sidenav/sidenav-stack.service.d.ts +4 -1
  232. package/lib/modules/sidenav/sidenav.module.d.ts +11 -0
  233. package/lib/modules/sidenav/sidenav.service.d.ts +3 -0
  234. package/lib/modules/stamp/stamp-module.module.d.ts +6 -0
  235. package/lib/modules/stamp/stamp.component.d.ts +3 -0
  236. package/lib/modules/table-button/table-button.component.d.ts +3 -0
  237. package/lib/modules/table-button/table-button.module.d.ts +9 -0
  238. package/lib/services/enum.service.d.ts +3 -0
  239. package/lib/services/link-mutation.service.d.ts +3 -0
  240. package/lib/services/persistence.service.d.ts +3 -0
  241. package/lib/services/swiss-parsing-date-adapter.service.d.ts +4 -1
  242. package/package.json +25 -12
  243. package/src/lib/modules/alert/_alert.theme.scss +1 -1
  244. package/src/lib/modules/file/component/_file.theme.scss +1 -1
  245. package/src/lib/modules/icon/_icon.theme.scss +1 -1
  246. package/src/lib/modules/search/dropdown-container/_dropdown-container.theme.scss +1 -1
  247. package/src/lib/modules/table-button/_table-button.theme.scss +1 -1
  248. package/src/lib/styles/_table.scss +1 -1
  249. package/theming/_natural.theme.scss +1 -1
  250. package/bundles/ecodev-natural.umd.js +0 -11318
  251. package/bundles/ecodev-natural.umd.js.map +0 -1
  252. package/ecodev-natural.metadata.json +0 -1
  253. package/esm2015/ecodev-natural.js +0 -14
  254. package/esm2015/lib/classes/abstract-controller.js +0 -29
  255. package/esm2015/lib/classes/abstract-detail.js +0 -157
  256. package/esm2015/lib/classes/abstract-editable-list.js +0 -97
  257. package/esm2015/lib/classes/abstract-list.js +0 -409
  258. package/esm2015/lib/classes/abstract-navigable-list.js +0 -126
  259. package/esm2015/lib/classes/data-source.js +0 -76
  260. package/esm2015/lib/classes/query-variable-manager.js +0 -161
  261. package/esm2015/lib/classes/validators.js +0 -176
  262. package/esm2015/lib/directives/http-prefix.directive.js +0 -46
  263. package/esm2015/lib/modules/alert/alert.module.js +0 -15
  264. package/esm2015/lib/modules/alert/alert.service.js +0 -59
  265. package/esm2015/lib/modules/alert/confirm.component.js +0 -17
  266. package/esm2015/lib/modules/avatar/avatar.module.js +0 -14
  267. package/esm2015/lib/modules/avatar/component/avatar.component.js +0 -158
  268. package/esm2015/lib/modules/avatar/service/avatar.service.js +0 -65
  269. package/esm2015/lib/modules/avatar/sources/gravatar.js +0 -29
  270. package/esm2015/lib/modules/columns-picker/columns-picker-column.directive.js +0 -41
  271. package/esm2015/lib/modules/columns-picker/columns-picker.component.js +0 -82
  272. package/esm2015/lib/modules/columns-picker/columns-picker.module.js +0 -28
  273. package/esm2015/lib/modules/common/common-module.js +0 -35
  274. package/esm2015/lib/modules/common/directives/linkable-tab.directive.js +0 -82
  275. package/esm2015/lib/modules/common/directives/reactive-asterisk.directive.js +0 -31
  276. package/esm2015/lib/modules/common/directives/src-density.directive.js +0 -63
  277. package/esm2015/lib/modules/common/pipes/capitalize.pipe.js +0 -14
  278. package/esm2015/lib/modules/common/pipes/ellipsis.pipe.js +0 -10
  279. package/esm2015/lib/modules/common/pipes/enum.pipe.js +0 -24
  280. package/esm2015/lib/modules/common/pipes/swiss-date.pipe.js +0 -16
  281. package/esm2015/lib/modules/common/public-api.js +0 -14
  282. package/esm2015/lib/modules/common/services/memory-storage.js +0 -110
  283. package/esm2015/lib/modules/common/services/seo.service.js +0 -120
  284. package/esm2015/lib/modules/detail-header/detail-header.component.js +0 -63
  285. package/esm2015/lib/modules/detail-header/detail-header.module.js +0 -16
  286. package/esm2015/lib/modules/dialog-trigger/dialog-trigger.component.js +0 -68
  287. package/esm2015/lib/modules/dialog-trigger/dialog-trigger.module.js +0 -14
  288. package/esm2015/lib/modules/dropdown-components/abstract-association-select-component.directive.js +0 -96
  289. package/esm2015/lib/modules/dropdown-components/natural-dropdown-components.module.js +0 -51
  290. package/esm2015/lib/modules/dropdown-components/type-date/type-date.component.js +0 -123
  291. package/esm2015/lib/modules/dropdown-components/type-date-range/type-date-range.component.js +0 -128
  292. package/esm2015/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.js +0 -63
  293. package/esm2015/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.js +0 -31
  294. package/esm2015/lib/modules/dropdown-components/type-number/type-number.component.js +0 -99
  295. package/esm2015/lib/modules/dropdown-components/type-select/type-select.component.js +0 -161
  296. package/esm2015/lib/modules/dropdown-components/type-text/type-text.component.js +0 -53
  297. package/esm2015/lib/modules/file/abstract-file.js +0 -223
  298. package/esm2015/lib/modules/file/component/file.component.js +0 -133
  299. package/esm2015/lib/modules/file/file-drop.directive.js +0 -99
  300. package/esm2015/lib/modules/file/file-select.directive.js +0 -25
  301. package/esm2015/lib/modules/file/file.module.js +0 -19
  302. package/esm2015/lib/modules/file/file.service.js +0 -47
  303. package/esm2015/lib/modules/fixed-button/fixed-button.component.js +0 -23
  304. package/esm2015/lib/modules/fixed-button/fixed-button.module.js +0 -16
  305. package/esm2015/lib/modules/fixed-button-detail/fixed-button-detail.component.js +0 -31
  306. package/esm2015/lib/modules/fixed-button-detail/fixed-button-detail.module.js +0 -15
  307. package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.js +0 -351
  308. package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.js +0 -258
  309. package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.js +0 -28
  310. package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.js +0 -23
  311. package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector.module.js +0 -46
  312. package/esm2015/lib/modules/icon/icon.component.js +0 -78
  313. package/esm2015/lib/modules/icon/icon.module.js +0 -25
  314. package/esm2015/lib/modules/matomo/matomo-module.module.js +0 -7
  315. package/esm2015/lib/modules/matomo/matomo.service.js +0 -106
  316. package/esm2015/lib/modules/panels/abstract-panel.js +0 -50
  317. package/esm2015/lib/modules/panels/panels.component.js +0 -26
  318. package/esm2015/lib/modules/panels/panels.module.js +0 -28
  319. package/esm2015/lib/modules/panels/panels.service.js +0 -331
  320. package/esm2015/lib/modules/relations/relations.component.js +0 -181
  321. package/esm2015/lib/modules/relations/relations.module.js +0 -33
  322. package/esm2015/lib/modules/search/dropdown-container/dropdown-container.component.js +0 -87
  323. package/esm2015/lib/modules/search/dropdown-container/dropdown.service.js +0 -95
  324. package/esm2015/lib/modules/search/facet-selector/facet-selector.component.js +0 -47
  325. package/esm2015/lib/modules/search/group/group.component.js +0 -39
  326. package/esm2015/lib/modules/search/input/input.component.js +0 -316
  327. package/esm2015/lib/modules/search/search/search.component.js +0 -71
  328. package/esm2015/lib/modules/search/search.module.js +0 -52
  329. package/esm2015/lib/modules/select/abstract-select.component.js +0 -176
  330. package/esm2015/lib/modules/select/select/select.component.js +0 -190
  331. package/esm2015/lib/modules/select/select-enum/select-enum.component.js +0 -34
  332. package/esm2015/lib/modules/select/select-hierarchic/select-hierarchic.component.js +0 -120
  333. package/esm2015/lib/modules/select/select.module.js +0 -39
  334. package/esm2015/lib/modules/sidenav/sidenav/sidenav.component.js +0 -12
  335. package/esm2015/lib/modules/sidenav/sidenav-container/sidenav-container.component.js +0 -79
  336. package/esm2015/lib/modules/sidenav/sidenav-content/sidenav-content.component.js +0 -13
  337. package/esm2015/lib/modules/sidenav/sidenav-stack.service.js +0 -50
  338. package/esm2015/lib/modules/sidenav/sidenav.module.js +0 -20
  339. package/esm2015/lib/modules/sidenav/sidenav.service.js +0 -199
  340. package/esm2015/lib/modules/stamp/stamp-module.module.js +0 -13
  341. package/esm2015/lib/modules/stamp/stamp.component.js +0 -13
  342. package/esm2015/lib/modules/table-button/table-button.component.js +0 -38
  343. package/esm2015/lib/modules/table-button/table-button.module.js +0 -16
  344. package/esm2015/lib/services/abstract-model.service.js +0 -509
  345. package/esm2015/lib/services/enum.service.js +0 -68
  346. package/esm2015/lib/services/link-mutation.service.js +0 -155
  347. package/esm2015/lib/services/persistence.service.js +0 -114
  348. package/esm2015/lib/services/swiss-parsing-date-adapter.service.js +0 -55
  349. package/fesm2015/ecodev-natural.js.map +0 -1
  350. package/lib/modules/common/directives/reactive-asterisk.directive.d.ts +0 -10
@@ -1,181 +0,0 @@
1
- import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
2
- import { forkJoin } from 'rxjs';
3
- import { NaturalAbstractController } from '../../classes/abstract-controller';
4
- import { NaturalDataSource } from '../../classes/data-source';
5
- import { NaturalQueryVariablesManager } from '../../classes/query-variable-manager';
6
- import { NaturalLinkMutationService } from '../../services/link-mutation.service';
7
- import { NaturalHierarchicSelectorDialogService } from '../hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service';
8
- import { NaturalSelectComponent } from '../select/select/select.component';
9
- import { finalize, takeUntil } from 'rxjs/operators';
10
- /**
11
- * Custom template usage :
12
- * <natural-relations [main]="owner" [service]="svc" [filter]="{}" placeholder="Select an item">
13
- * <ng-template let-item="item">
14
- * <span>{{ item.xxx }}</span>
15
- * </ng-template>
16
- * </natural-relations>
17
- */
18
- export class NaturalRelationsComponent extends NaturalAbstractController {
19
- constructor(linkMutationService, hierarchicSelectorDialog) {
20
- super();
21
- this.linkMutationService = linkMutationService;
22
- this.hierarchicSelectorDialog = hierarchicSelectorDialog;
23
- /**
24
- * The placeholder used in the button to add a new relation
25
- */
26
- this.placeholder = '';
27
- /**
28
- * Whether the relations can be changed
29
- */
30
- this.disabled = false;
31
- this.selectionChange = new EventEmitter();
32
- this.loading = false;
33
- /**
34
- * Table columns
35
- */
36
- this.displayedColumns = ['name'];
37
- this.pageSizeOptions = [5, 10, 50, 100];
38
- this.defaultPagination = {
39
- pageIndex: 0,
40
- pageSize: 25,
41
- };
42
- /**
43
- * Observable variables/options for listing service usage and apollo watchQuery
44
- */
45
- this.variablesManager = new NaturalQueryVariablesManager();
46
- }
47
- /**
48
- * The filter used to filter relations
49
- *
50
- * So if the relations are from one action -> to many objectives, then the filter must filter
51
- * the objectives that have indeed a relation to the particular action.
52
- */
53
- set filter(filter) {
54
- this.variablesManager.set('relations-filter', { filter: filter });
55
- }
56
- ngOnInit() {
57
- this.pagination();
58
- // Force disabled if cannot update object
59
- if (this.main && this.main.permissions) {
60
- this.disabled = this.disabled || !this.main.permissions.update;
61
- }
62
- }
63
- ngOnChanges(changes) {
64
- if (this.service) {
65
- this.queryItems();
66
- }
67
- if (this.disabled && this.displayedColumns.indexOf('unlink') > -1) {
68
- this.displayedColumns.pop();
69
- }
70
- else if (!this.disabled && this.displayedColumns.indexOf('unlink') === -1) {
71
- this.displayedColumns.push('unlink');
72
- }
73
- }
74
- /**
75
- * Unlink action
76
- * Refetch result to display it in table
77
- */
78
- removeRelation(relation) {
79
- this.linkMutationService.unlink(this.main, relation, this.otherName).subscribe();
80
- }
81
- /**
82
- * Link action
83
- * Refetch result to display it in table
84
- * TODO : could maybe use "update" attribute of apollo.mutate function to update table faster (but hard to do it here)
85
- */
86
- addRelations(relations) {
87
- const observables = relations.map(relation => this.linkMutationService.link(this.main, relation, this.otherName));
88
- forkJoin(observables).subscribe(() => {
89
- this.selectionChange.emit();
90
- if (this.select) {
91
- this.select.clear(false);
92
- }
93
- });
94
- }
95
- pagination(event) {
96
- let pagination = null;
97
- if (event &&
98
- (event.pageIndex !== this.defaultPagination.pageIndex || event.pageSize !== this.defaultPagination.pageSize)) {
99
- pagination = {
100
- pageIndex: event.pageIndex,
101
- pageSize: event.pageSize,
102
- };
103
- }
104
- this.variablesManager.set('pagination', { pagination: pagination ? pagination : this.defaultPagination });
105
- }
106
- getDisplayFn() {
107
- if (this.displayWith) {
108
- return this.displayWith;
109
- }
110
- return item => (item ? item.fullName || item.name : '');
111
- }
112
- openNaturalHierarchicSelector() {
113
- const selectAtKey = this.getSelectKey();
114
- if (!selectAtKey || !this.hierarchicSelectorConfig) {
115
- return;
116
- }
117
- const selected = {};
118
- const hierarchicConfig = {
119
- hierarchicConfig: this.hierarchicSelectorConfig,
120
- hierarchicSelection: selected,
121
- hierarchicFilters: this.hierarchicSelectorFilters,
122
- multiple: true,
123
- };
124
- this.hierarchicSelectorDialog
125
- .open(hierarchicConfig)
126
- .afterClosed()
127
- .subscribe(result => {
128
- if (result && result.hierarchicSelection !== undefined) {
129
- const selection = result.hierarchicSelection[selectAtKey];
130
- if (selection.length) {
131
- this.addRelations(selection);
132
- }
133
- }
134
- });
135
- }
136
- /**
137
- * Get list from database
138
- */
139
- queryItems() {
140
- if (!this.service) {
141
- return;
142
- }
143
- this.loading = true;
144
- const queryRef = this.service.watchAll(this.variablesManager).pipe(takeUntil(this.ngUnsubscribe));
145
- queryRef.pipe(finalize(() => (this.loading = false))).subscribe(() => (this.loading = false));
146
- this.dataSource = new NaturalDataSource(queryRef);
147
- }
148
- getSelectKey() {
149
- if (!this.hierarchicSelectorConfig) {
150
- return;
151
- }
152
- return this.hierarchicSelectorConfig.filter(c => !!c.selectableAtKey)[0].selectableAtKey;
153
- }
154
- }
155
- NaturalRelationsComponent.decorators = [
156
- { type: Component, args: [{
157
- selector: 'natural-relations',
158
- template: "<div class=\"body\">\n <ng-template #defaultNameCell let-item=\"item\">\n {{ getDisplayFn()(item) }}\n </ng-template>\n\n <table *ngIf=\"dataSource\" [dataSource]=\"dataSource\" class=\"natural-row-click\" mat-table>\n <tr *matHeaderRowDef=\"displayedColumns\" mat-header-row style=\"display: none\"></tr>\n <tr *matRowDef=\"let row; columns: displayedColumns\" mat-row></tr>\n\n <ng-container matColumnDef=\"name\">\n <th *matHeaderCellDef i18n mat-header-cell>Titre</th>\n <td *matCellDef=\"let item\" mat-cell>\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultNameCell\"\n ></ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"unlink\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let element\" mat-cell>\n <button\n *ngIf=\"!disabled\"\n (click)=\"removeRelation(element)\"\n color=\"warn\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Dissocier\"\n >\n <natural-icon name=\"link_off\"></natural-icon>\n </button>\n </td>\n </ng-container>\n </table>\n\n <mat-paginator\n (page)=\"pagination($event)\"\n *ngIf=\"dataSource?.data && (dataSource?.data?.length || 0) > (dataSource?.data?.pageSize || 0)\"\n [length]=\"dataSource?.data?.length || 0\"\n [pageIndex]=\"dataSource?.data?.pageIndex || 0\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [pageSize]=\"dataSource?.data?.pageSize || 0\"\n ></mat-paginator>\n\n <div *ngIf=\"!loading && dataSource?.data?.length === 0\" class=\"margin-v mat-body\">\n <span i18n>Aucun r\u00E9sultat</span>\n </div>\n\n <mat-progress-spinner *ngIf=\"loading\" [diameter]=\"40\" class=\"loading\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n\n<natural-select\n #select\n (selectionChange)=\"addRelations([$any($event)])\"\n *ngIf=\"!hierarchicSelectorConfig && service && !disabled\"\n [displayWith]=\"getDisplayFn()\"\n [filter]=\"autocompleteSelectorFilter\"\n [placeholder]=\"placeholder\"\n [service]=\"service\"\n [showIcon]=\"false\"\n></natural-select>\n\n<div *ngIf=\"hierarchicSelectorConfig && !disabled\">\n <button (click)=\"openNaturalHierarchicSelector()\" color=\"primary\" mat-flat-button>{{ placeholder }}</button>\n</div>\n",
159
- styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .body{display:flex;flex-direction:column}:host .loading{margin:20px auto}:host .mat-column-unlink{width:2.5em}\n"]
160
- },] }
161
- ];
162
- NaturalRelationsComponent.ctorParameters = () => [
163
- { type: NaturalLinkMutationService },
164
- { type: NaturalHierarchicSelectorDialogService }
165
- ];
166
- NaturalRelationsComponent.propDecorators = {
167
- select: [{ type: ViewChild, args: [NaturalSelectComponent,] }],
168
- itemTemplate: [{ type: ContentChild, args: [TemplateRef,] }],
169
- service: [{ type: Input }],
170
- placeholder: [{ type: Input }],
171
- autocompleteSelectorFilter: [{ type: Input }],
172
- displayWith: [{ type: Input }],
173
- disabled: [{ type: Input }],
174
- main: [{ type: Input }],
175
- selectionChange: [{ type: Output }],
176
- hierarchicSelectorFilters: [{ type: Input }],
177
- hierarchicSelectorConfig: [{ type: Input }],
178
- otherName: [{ type: Input }],
179
- filter: [{ type: Input }]
180
- };
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9yZWxhdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFDLDRCQUE0QixFQUFrQyxNQUFNLHNDQUFzQyxDQUFDO0FBRW5ILE9BQU8sRUFBaUIsMEJBQTBCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUdoRyxPQUFPLEVBQUMsc0NBQXNDLEVBQUMsTUFBTSxzRkFBc0YsQ0FBQztBQUU1SSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSW5EOzs7Ozs7O0dBT0c7QUFPSCxNQUFNLE9BQU8seUJBY1QsU0FBUSx5QkFBeUI7SUF3RWpDLFlBQ3FCLG1CQUErQyxFQUMvQyx3QkFBZ0U7UUFFakYsS0FBSyxFQUFFLENBQUM7UUFIUyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTRCO1FBQy9DLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBd0M7UUFsRXJGOztXQUVHO1FBQ2EsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFZakM7O1dBRUc7UUFDYSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBT1Asb0JB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NUM7OztZQXZCdUIsMEJBQTBCO1lBRzFDLHNDQUFzQzs7O3FCQXNDekMsU0FBUyxTQUFDLHNCQUFzQjsyQkFDaEMsWUFBWSxTQUFDLFdBQVc7c0JBRXhCLEtBQUs7MEJBS0wsS0FBSzt5Q0FLTCxLQUFLOzBCQUtMLEtBQUs7dUJBS0wsS0FBSzttQkFLTCxLQUFLOzhCQUVMLE1BQU07d0NBS04sS0FBSzt1Q0FLTCxLQUFLO3dCQUtMLEtBQUs7cUJBcUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhZ2VFdmVudH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7Zm9ya0pvaW59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsRGF0YVNvdXJjZSwgUGFnaW5hdGVkRGF0YX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFBhZ2luYXRpb25JbnB1dCwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4uLy4uL2NsYXNzZXMvcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0hpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vLi4vbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL2NsYXNzZXMvaGllcmFyY2hpYy1maWx0ZXJzLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtMaW5rYWJsZU9iamVjdCwgTmF0dXJhbExpbmtNdXRhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmstbXV0YXRpb24uc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0hpZXJhcmNoaWNEaWFsb2dDb25maWd9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge05hdHVyYWxTZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge2ZpbmFsaXplLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7TGl0ZXJhbH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG4vKipcbiAqIEN1c3RvbSB0ZW1wbGF0ZSB1c2FnZSA6XG4gKiA8bmF0dXJhbC1yZWxhdGlvbnMgW21haW5dPVwib3duZXJcIiBbc2VydmljZV09XCJzdmNcIiBbZmlsdGVyXT1cInt9XCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYW4gaXRlbVwiPlxuICogICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAqICAgICAgICAgPHNwYW4+e3sgaXRlbS54eHggfX08L3NwYW4+XG4gKiAgICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvbmF0dXJhbC1yZWxhdGlvbnM+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLXJlbGF0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVsYXRpb25zLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxSZWxhdGlvbnNDb21wb25lbnQ8XG4gICAgICAgIFRTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlPFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgUGFnaW5hdGVkRGF0YTxMaXRlcmFsPixcbiAgICAgICAgICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0Q29udHJvbGxlclxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICAgIEBWaWV3Q2hpbGQoTmF0dXJhbFNlbGVjdENvbXBvbmVudCkgcHJpdmF0ZSBzZWxlY3Q/OiBOYXR1cmFsU2VsZWN0Q29tcG9uZW50PFRTZXJ2aWNlPjtcbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSBwdWJsaWMgaXRlbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlPzogVFNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2Vob2xkZXIgdXNlZCBpbiB0aGUgYnV0dG9uIHRvIGFkZCBhIG5ldyByZWxhdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIGZvciBhdXRvY29tcGxldGUgc2VsZWN0b3JcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlU2VsZWN0b3JGaWx0ZXI/OiBGaWx0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBjdXN0b21pemUgdGhlIHJlbmRlcmluZyBvZiB0aGUgc2VsZWN0ZWQgaXRlbSBhcyB0ZXh0IGluIGlucHV0XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGRpc3BsYXlXaXRoPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcmVsYXRpb25zIGNhbiBiZSBjaGFuZ2VkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWFpbiBvYmplY3QgdG8gd2hpY2ggYWxsIHJlbGF0aW9ucyBiZWxvbmcgdG9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbWFpbiE6IExpbmthYmxlT2JqZWN0ICYge3Blcm1pc3Npb25zPzoge3VwZGF0ZTogYm9vbGVhbn19O1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIGZvciBoaWVyYXJjaGljIHNlbGVjdG9yXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGhpZXJhcmNoaWNTZWxlY3RvckZpbHRlcnM/OiBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb24gfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBpbiBjYXNlIHdlIHByZWZlciBoaWVyYXJjaGljIHNlbGVjdGlvbiBvdmVyIGF1dG9jb21wbGV0ZSBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnPzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG5cbiAgICAvKipcbiAgICAgKiBMaW5rIG11dGF0aW9uIHNlbWFudGljXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG90aGVyTmFtZT86IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBMaXN0aW5nIHNlcnZpY2UgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YVNvdXJjZT86IE5hdHVyYWxEYXRhU291cmNlO1xuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUYWJsZSBjb2x1bW5zXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbnMgPSBbJ25hbWUnXTtcblxuICAgIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbnMgPSBbNSwgMTAsIDUwLCAxMDBdO1xuICAgIHByb3RlY3RlZCBkZWZhdWx0UGFnaW5hdGlvbiA9IHtcbiAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICBwYWdlU2l6ZTogMjUsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgdmFyaWFibGVzL29wdGlvbnMgZm9yIGxpc3Rpbmcgc2VydmljZSB1c2FnZSBhbmQgYXBvbGxvIHdhdGNoUXVlcnlcbiAgICAgKi9cbiAgICBwcml2YXRlIHZhcmlhYmxlc01hbmFnZXI6IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXI8UXVlcnlWYXJpYWJsZXM+ID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtNdXRhdGlvblNlcnZpY2U6IE5hdHVyYWxMaW5rTXV0YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZzogTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGZpbHRlciB1c2VkIHRvIGZpbHRlciByZWxhdGlvbnNcbiAgICAgKlxuICAgICAqIFNvIGlmIHRoZSByZWxhdGlvbnMgYXJlIGZyb20gb25lIGFjdGlvbiAtPiB0byBtYW55IG9iamVjdGl2ZXMsIHRoZW4gdGhlIGZpbHRlciBtdXN0IGZpbHRlclxuICAgICAqIHRoZSBvYmplY3RpdmVzIHRoYXQgaGF2ZSBpbmRlZWQgYSByZWxhdGlvbiB0byB0aGUgcGFydGljdWxhciBhY3Rpb24uXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IGZpbHRlcihmaWx0ZXI6IEZpbHRlcikge1xuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdyZWxhdGlvbnMtZmlsdGVyJywge2ZpbHRlcjogZmlsdGVyfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24oKTtcblxuICAgICAgICAvLyBGb3JjZSBkaXNhYmxlZCBpZiBjYW5ub3QgdXBkYXRlIG9iamVjdFxuICAgICAgICBpZiAodGhpcy5tYWluICYmIHRoaXMubWFpbi5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMubWFpbi5wZXJtaXNzaW9ucy51cGRhdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5SXRlbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkICYmIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5pbmRleE9mKCd1bmxpbmsnKSA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucG9wKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmluZGV4T2YoJ3VubGluaycpID09PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ3VubGluaycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5saW5rIGFjdGlvblxuICAgICAqIFJlZmV0Y2ggcmVzdWx0IHRvIGRpc3BsYXkgaXQgaW4gdGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUmVsYXRpb24ocmVsYXRpb246IExpbmthYmxlT2JqZWN0KTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlua011dGF0aW9uU2VydmljZS51bmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpbmsgYWN0aW9uXG4gICAgICogUmVmZXRjaCByZXN1bHQgdG8gZGlzcGxheSBpdCBpbiB0YWJsZVxuICAgICAqIFRPRE8gOiBjb3VsZCBtYXliZSB1c2UgXCJ1cGRhdGVcIiBhdHRyaWJ1dGUgb2YgYXBvbGxvLm11dGF0ZSBmdW5jdGlvbiB0byB1cGRhdGUgdGFibGUgZmFzdGVyIChidXQgaGFyZCB0byBkbyBpdCBoZXJlKVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRSZWxhdGlvbnMocmVsYXRpb25zOiBMaW5rYWJsZU9iamVjdFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVzID0gcmVsYXRpb25zLm1hcChyZWxhdGlvbiA9PlxuICAgICAgICAgICAgdGhpcy5saW5rTXV0YXRpb25TZXJ2aWNlLmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpLFxuICAgICAgICApO1xuXG4gICAgICAgIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuY2xlYXIoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFnaW5hdGlvbihldmVudD86IFBhZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICBsZXQgcGFnaW5hdGlvbjogUGFnaW5hdGlvbklucHV0IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50ICYmXG4gICAgICAgICAgICAoZXZlbnQucGFnZUluZGV4ICE9PSB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uLnBhZ2VJbmRleCB8fCBldmVudC5wYWdlU2l6ZSAhPT0gdGhpcy5kZWZhdWx0UGFnaW5hdGlvbi5wYWdlU2l6ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uID0ge1xuICAgICAgICAgICAgICAgIHBhZ2VJbmRleDogZXZlbnQucGFnZUluZGV4LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiBldmVudC5wYWdlU2l6ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb246IHBhZ2luYXRpb24gPyBwYWdpbmF0aW9uIDogdGhpcy5kZWZhdWx0UGFnaW5hdGlvbn0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaXNwbGF5Rm4oKTogKGl0ZW06IGFueSkgPT4gc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheVdpdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlXaXRoO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW0gPT4gKGl0ZW0gPyBpdGVtLmZ1bGxOYW1lIHx8IGl0ZW0ubmFtZSA6ICcnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3Blbk5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3IoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdEF0S2V5ID0gdGhpcy5nZXRTZWxlY3RLZXkoKTtcblxuICAgICAgICBpZiAoIXNlbGVjdEF0S2V5IHx8ICF0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB7fTtcblxuICAgICAgICBjb25zdCBoaWVyYXJjaGljQ29uZmlnOiBIaWVyYXJjaGljRGlhbG9nQ29uZmlnID0ge1xuICAgICAgICAgICAgaGllcmFyY2hpY0NvbmZpZzogdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JDb25maWcsXG4gICAgICAgICAgICBoaWVyYXJjaGljU2VsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgICAgIGhpZXJhcmNoaWNGaWx0ZXJzOiB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckZpbHRlcnMsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1xuICAgICAgICAgICAgLm9wZW4oaGllcmFyY2hpY0NvbmZpZylcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuaGllcmFyY2hpY1NlbGVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uW3NlbGVjdEF0S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkUmVsYXRpb25zKHNlbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgbGlzdCBmcm9tIGRhdGFiYXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBxdWVyeUl0ZW1zKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcXVlcnlSZWYgPSB0aGlzLnNlcnZpY2Uud2F0Y2hBbGwodGhpcy52YXJpYWJsZXNNYW5hZ2VyKS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKTtcbiAgICAgICAgcXVlcnlSZWYucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSkuc3Vic2NyaWJlKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTmF0dXJhbERhdGFTb3VyY2UocXVlcnlSZWYpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0S2V5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZy5maWx0ZXIoYyA9PiAhIWMuc2VsZWN0YWJsZUF0S2V5KVswXS5zZWxlY3RhYmxlQXRLZXk7XG4gICAgfVxufVxuIl19
@@ -1,33 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatInputModule } from '@angular/material/input';
5
- import { MatPaginatorModule } from '@angular/material/paginator';
6
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
7
- import { MatTableModule } from '@angular/material/table';
8
- import { NaturalHierarchicSelectorModule } from '../hierarchic-selector/hierarchic-selector.module';
9
- import { NaturalIconModule } from '../icon/icon.module';
10
- import { NaturalSelectModule } from '../select/select.module';
11
- import { NaturalRelationsComponent } from './relations.component';
12
- import { MatTooltipModule } from '@angular/material/tooltip';
13
- export class NaturalRelationsModule {
14
- }
15
- NaturalRelationsModule.decorators = [
16
- { type: NgModule, args: [{
17
- declarations: [NaturalRelationsComponent],
18
- imports: [
19
- CommonModule,
20
- MatInputModule,
21
- MatButtonModule,
22
- MatProgressSpinnerModule,
23
- NaturalIconModule,
24
- MatTableModule,
25
- NaturalSelectModule,
26
- NaturalHierarchicSelectorModule,
27
- MatPaginatorModule,
28
- MatTooltipModule,
29
- ],
30
- exports: [NaturalRelationsComponent],
31
- },] }
32
- ];
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9yZWxhdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBa0IzRCxNQUFNLE9BQU8sc0JBQXNCOzs7WUFoQmxDLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekMsT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxlQUFlO29CQUNmLHdCQUF3QjtvQkFDeEIsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsK0JBQStCO29CQUMvQixrQkFBa0I7b0JBQ2xCLGdCQUFnQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdFBhZ2luYXRvck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7TWF0VGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3Rvck1vZHVsZX0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQge05hdHVyYWxJY29uTW9kdWxlfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7TmF0dXJhbFNlbGVjdE1vZHVsZX0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHtOYXR1cmFsUmVsYXRpb25zQ29tcG9uZW50fSBmcm9tICcuL3JlbGF0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOYXR1cmFsUmVsYXRpb25zQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBOYXR1cmFsSWNvbk1vZHVsZSxcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXG4gICAgICAgIE5hdHVyYWxTZWxlY3RNb2R1bGUsXG4gICAgICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JNb2R1bGUsXG4gICAgICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtOYXR1cmFsUmVsYXRpb25zQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFJlbGF0aW9uc01vZHVsZSB7fVxuIl19
@@ -1,87 +0,0 @@
1
- import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
2
- import { BasePortalOutlet, CdkPortalOutlet } from '@angular/cdk/portal';
3
- import { Component, ElementRef, Inject, InjectionToken, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
4
- import { Subject } from 'rxjs';
5
- import { naturalDropdownAnimations } from './dropdown-container-animations';
6
- export function throwMatDialogContentAlreadyAttachedError() {
7
- throw Error('Attempting to attach dialog content after content is already attached');
8
- }
9
- export const NATURAL_DROPDOWN_CONTAINER_DATA = new InjectionToken('NaturalDropdownContainerData');
10
- export class NaturalDropdownContainerComponent extends BasePortalOutlet {
11
- constructor(elementRef, focusTrapFactory, data) {
12
- super();
13
- this.elementRef = elementRef;
14
- this.focusTrapFactory = focusTrapFactory;
15
- this.data = data;
16
- this.closed = new Subject();
17
- /** Current state of the panel animation. */
18
- this.panelAnimationState = 'void';
19
- /** Emits whenever an animation on the menu completes. */
20
- this.animationDone = new Subject();
21
- this.focusTrap = null;
22
- this.elementFocusedBeforeDialogWasOpened = null;
23
- }
24
- ngOnDestroy() {
25
- this.closed.complete();
26
- }
27
- close() {
28
- this.closed.next();
29
- }
30
- attachTemplatePortal(portal) {
31
- return this.portalOutlet.attachTemplatePortal(portal);
32
- }
33
- attachComponentPortal(portal) {
34
- if (this.portalOutlet.hasAttached()) {
35
- throwMatDialogContentAlreadyAttachedError();
36
- }
37
- return this.portalOutlet.attachComponentPortal(portal);
38
- }
39
- startAnimation() {
40
- this.panelAnimationState = 'enter';
41
- }
42
- onAnimationDone(event) {
43
- if (event.toState === 'enter') {
44
- this.trapFocus();
45
- }
46
- else if (event.toState === 'exit') {
47
- this.restoreFocus();
48
- }
49
- this.animationDone.next();
50
- }
51
- trapFocus() {
52
- if (!this.focusTrap) {
53
- this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);
54
- }
55
- this.focusTrap.focusInitialElementWhenReady();
56
- }
57
- /** Restores focus to the element that was focused before the dialog opened. */
58
- restoreFocus() {
59
- const toFocus = this.elementFocusedBeforeDialogWasOpened;
60
- // We need the extra check, because IE can set the `activeElement` to null in some cases.
61
- if (toFocus && typeof toFocus.focus === 'function') {
62
- toFocus.focus();
63
- }
64
- if (this.focusTrap) {
65
- this.focusTrap.destroy();
66
- }
67
- }
68
- }
69
- NaturalDropdownContainerComponent.decorators = [
70
- { type: Component, args: [{
71
- template: "<div\n (@transformMenu.done)=\"onAnimationDone($event)\"\n [@transformMenu]=\"panelAnimationState\"\n class=\"natural-dropdown-container mat-elevation-z2\"\n role=\"menu\"\n tabindex=\"-1\"\n>\n <div class=\"natural-dropdown-container-content\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div *ngIf=\"data.showValidateButton\" class=\"natural-dropdown-validate-button\">\n <button (click)=\"close()\" color=\"primary\" mat-raised-button>Valider</button>\n </div>\n</div>\n",
72
- encapsulation: ViewEncapsulation.None,
73
- preserveWhitespaces: false,
74
- animations: [naturalDropdownAnimations.transformMenu, naturalDropdownAnimations.fadeInItems],
75
- styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}\n"]
76
- },] }
77
- ];
78
- NaturalDropdownContainerComponent.ctorParameters = () => [
79
- { type: ElementRef },
80
- { type: ConfigurableFocusTrapFactory },
81
- { type: undefined, decorators: [{ type: Inject, args: [NATURAL_DROPDOWN_CONTAINER_DATA,] }] }
82
- ];
83
- NaturalDropdownContainerComponent.propDecorators = {
84
- portalOutlet: [{ type: ViewChild, args: [CdkPortalOutlet, { static: true },] }],
85
- templateRef: [{ type: ViewChild, args: [TemplateRef, { static: true },] }]
86
- };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsNEJBQTRCLEVBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFrQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUVWLE1BQU0sRUFDTixjQUFjLEVBRWQsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxNQUFNLFVBQVUseUNBQXlDO0lBQ3JELE1BQU0sS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQU1ELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksY0FBYyxDQUM3RCw4QkFBOEIsQ0FDakMsQ0FBQztBQVNGLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxnQkFBZ0I7SUFlbkUsWUFDcUIsVUFBc0IsRUFDdEIsZ0JBQThDLEVBQ2YsSUFBa0M7UUFFbEYsS0FBSyxFQUFFLENBQUM7UUFKUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBOEI7UUFDZixTQUFJLEdBQUosSUFBSSxDQUE4QjtRQWR0RSxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU3Qyw0Q0FBNEM7UUFDckMsd0JBQW1CLEdBQXFCLE1BQU0sQ0FBQztRQUV0RCx5REFBeUQ7UUFDakQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXBDLGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBQ25DLHdDQUFtQyxHQUF1QixJQUFJLENBQUM7SUFRdkUsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sb0JBQW9CLENBQUksTUFBeUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxxQkFBcUIsQ0FBSSxNQUEwQjtRQUN0RCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDakMseUNBQXlDLEVBQUUsQ0FBQztTQUMvQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBcUI7UUFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLFNBQVM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNoRjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsK0VBQStFO0lBQ3ZFLFlBQVk7UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO1FBRXpELHlGQUF5RjtRQUN6RixJQUFJLE9BQU8sSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFO1lBQ2hELE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQzs7O1lBcEZKLFNBQVMsU0FBQztnQkFDUCw4aEJBQWtEO2dCQUVsRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsVUFBVSxFQUFFLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQzs7YUFDL0Y7OztZQTlCRyxVQUFVO1lBTE4sNEJBQTRCOzRDQXNEM0IsTUFBTSxTQUFDLCtCQUErQjs7OzJCQWpCMUMsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7MEJBQ3pDLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25FdmVudH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0NvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksIEZvY3VzVHJhcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtCYXNlUG9ydGFsT3V0bGV0LCBDZGtQb3J0YWxPdXRsZXQsIENvbXBvbmVudFBvcnRhbCwgVGVtcGxhdGVQb3J0YWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge25hdHVyYWxEcm9wZG93bkFuaW1hdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tY29udGFpbmVyLWFuaW1hdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dNYXREaWFsb2dDb250ZW50QWxyZWFkeUF0dGFjaGVkRXJyb3IoKTogdm9pZCB7XG4gICAgdGhyb3cgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gYXR0YWNoIGRpYWxvZyBjb250ZW50IGFmdGVyIGNvbnRlbnQgaXMgYWxyZWFkeSBhdHRhY2hlZCcpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEge1xuICAgIHNob3dWYWxpZGF0ZUJ1dHRvbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5BVFVSQUxfRFJPUERPV05fQ09OVEFJTkVSX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbERyb3Bkb3duQ29udGFpbmVyRGF0YT4oXG4gICAgJ05hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEnLFxuKTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBhbmltYXRpb25zOiBbbmF0dXJhbERyb3Bkb3duQW5pbWF0aW9ucy50cmFuc2Zvcm1NZW51LCBuYXR1cmFsRHJvcGRvd25BbmltYXRpb25zLmZhZGVJbkl0ZW1zXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvcnRhbE91dGxldCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgcG9ydGFsT3V0bGV0ITogQ2RrUG9ydGFsT3V0bGV0O1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgdGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQ3VycmVudCBzdGF0ZSBvZiB0aGUgcGFuZWwgYW5pbWF0aW9uLiAqL1xuICAgIHB1YmxpYyBwYW5lbEFuaW1hdGlvblN0YXRlOiAndm9pZCcgfCAnZW50ZXInID0gJ3ZvaWQnO1xuXG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIGFuIGFuaW1hdGlvbiBvbiB0aGUgbWVudSBjb21wbGV0ZXMuICovXG4gICAgcHJpdmF0ZSBhbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgZm9jdXNUcmFwOiBGb2N1c1RyYXAgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIGVsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c1RyYXBGYWN0b3J5OiBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LFxuICAgICAgICBASW5qZWN0KE5BVFVSQUxfRFJPUERPV05fQ09OVEFJTkVSX0RBVEEpIHB1YmxpYyBkYXRhOiBOYXR1cmFsRHJvcGRvd25Db250YWluZXJEYXRhLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXR0YWNoVGVtcGxhdGVQb3J0YWw8Qz4ocG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxDPik6IEVtYmVkZGVkVmlld1JlZjxDPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VD4pOiBDb21wb25lbnRSZWY8VD4ge1xuICAgICAgICBpZiAodGhpcy5wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhyb3dNYXREaWFsb2dDb250ZW50QWxyZWFkeUF0dGFjaGVkRXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2hDb21wb25lbnRQb3J0YWwocG9ydGFsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFuZWxBbmltYXRpb25TdGF0ZSA9ICdlbnRlcic7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdlbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMudHJhcEZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2V4aXQnKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3RvcmVGb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbmltYXRpb25Eb25lLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYXBGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1RyYXAgPSB0aGlzLmZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKTtcbiAgICB9XG5cbiAgICAvKiogUmVzdG9yZXMgZm9jdXMgdG8gdGhlIGVsZW1lbnQgdGhhdCB3YXMgZm9jdXNlZCBiZWZvcmUgdGhlIGRpYWxvZyBvcGVuZWQuICovXG4gICAgcHJpdmF0ZSByZXN0b3JlRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvRm9jdXMgPSB0aGlzLmVsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkO1xuXG4gICAgICAgIC8vIFdlIG5lZWQgdGhlIGV4dHJhIGNoZWNrLCBiZWNhdXNlIElFIGNhbiBzZXQgdGhlIGBhY3RpdmVFbGVtZW50YCB0byBudWxsIGluIHNvbWUgY2FzZXMuXG4gICAgICAgIGlmICh0b0ZvY3VzICYmIHR5cGVvZiB0b0ZvY3VzLmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0b0ZvY3VzLmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb2N1c1RyYXApIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUcmFwLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,95 +0,0 @@
1
- import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
2
- import { ComponentPortal } from '@angular/cdk/portal';
3
- import { Injectable, InjectionToken, Injector } from '@angular/core';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { NATURAL_DROPDOWN_CONTAINER_DATA, NaturalDropdownContainerComponent, } from './dropdown-container.component';
6
- import { NaturalDropdownRef } from './dropdown-ref';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- export const NATURAL_DROPDOWN_DATA = new InjectionToken('NaturalDropdownData');
10
- export class NaturalDropdownService {
11
- constructor(overlay, injector) {
12
- this.overlay = overlay;
13
- this.injector = injector;
14
- }
15
- open(component, connectedElement, customProviders, showValidateButton) {
16
- // Container data
17
- const containerData = {
18
- showValidateButton: showValidateButton,
19
- };
20
- const injectionTokens = [
21
- {
22
- provide: NATURAL_DROPDOWN_CONTAINER_DATA,
23
- useValue: containerData,
24
- },
25
- ];
26
- const containerInjector = Injector.create({ providers: injectionTokens, parent: this.injector });
27
- // Container
28
- const overlayRef = this.overlay.create(this.getOverlayConfig(connectedElement));
29
- const containerPortal = new ComponentPortal(NaturalDropdownContainerComponent, undefined, containerInjector);
30
- const containerRef = overlayRef.attach(containerPortal);
31
- const dropdownContainer = containerRef.instance;
32
- const dropdownRef = new NaturalDropdownRef(dropdownContainer, component, customProviders, this.injector, containerRef);
33
- // Start animation that shows menu
34
- dropdownContainer.startAnimation();
35
- const close = () => {
36
- if (dropdownRef.componentInstance.isValid() && dropdownRef.componentInstance.isDirty()) {
37
- dropdownRef.close({
38
- condition: dropdownRef.componentInstance.getCondition(),
39
- });
40
- }
41
- else {
42
- dropdownRef.close();
43
- }
44
- };
45
- // When parent closes, remove overlay from dom and update "return" valu
46
- dropdownContainer.closed.subscribe(() => {
47
- overlayRef.dispose();
48
- close();
49
- });
50
- // When click on backdrop, validate result.. ?
51
- overlayRef
52
- .backdropClick()
53
- .pipe(takeUntil(dropdownContainer.closed))
54
- .subscribe(() => dropdownContainer.close());
55
- return dropdownRef;
56
- }
57
- /**
58
- * This method builds the configuration object needed to create the overlay, the OverlayState.
59
- */
60
- getOverlayConfig(element) {
61
- return new OverlayConfig({
62
- positionStrategy: this.getPosition(element),
63
- hasBackdrop: true,
64
- backdropClass: 'cdk-overlay-transparent-backdrop',
65
- });
66
- }
67
- getPosition(element) {
68
- return this.overlay
69
- .position()
70
- .flexibleConnectedTo(element)
71
- .withFlexibleDimensions(true)
72
- .withViewportMargin(30)
73
- .withPush(false)
74
- .withPositions([
75
- {
76
- originX: 'start',
77
- originY: 'bottom',
78
- overlayX: 'start',
79
- overlayY: 'top',
80
- offsetY: 10,
81
- },
82
- ]);
83
- }
84
- }
85
- NaturalDropdownService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NaturalDropdownService_Factory() { return new NaturalDropdownService(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i0.INJECTOR)); }, token: NaturalDropdownService, providedIn: "root" });
86
- NaturalDropdownService.decorators = [
87
- { type: Injectable, args: [{
88
- providedIn: 'root',
89
- },] }
90
- ];
91
- NaturalDropdownService.ctorParameters = () => [
92
- { type: Overlay },
93
- { type: Injector }
94
- ];
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRixPQUFPLEVBQUMsZUFBZSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBMkIsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLGlDQUFpQyxHQUVwQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFRbEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHFCQUFxQixDQUFDLENBQUM7QUFLcEcsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixZQUE2QixPQUFnQixFQUFtQixRQUFrQjtRQUFyRCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRS9FLElBQUksQ0FDUCxTQUEyQyxFQUMzQyxnQkFBNEIsRUFDNUIsZUFBaUMsRUFDakMsa0JBQTJCO1FBRTNCLGlCQUFpQjtRQUNqQixNQUFNLGFBQWEsR0FBaUM7WUFDaEQsa0JBQWtCLEVBQUUsa0JBQWtCO1NBQ3pDLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBcUI7WUFDdEM7Z0JBQ0ksT0FBTyxFQUFFLCtCQUErQjtnQkFDeEMsUUFBUSxFQUFFLGFBQWE7YUFDMUI7U0FDSixDQUFDO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFFL0YsWUFBWTtRQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsaUNBQWlDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDN0csTUFBTSxZQUFZLEdBQW9ELFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFekcsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ2hELE1BQU0sV0FBVyxHQUFHLElBQUksa0JBQWtCLENBQ3RDLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLElBQUksQ0FBQyxRQUFRLEVBQ2IsWUFBWSxDQUNmLENBQUM7UUFFRixrQ0FBa0M7UUFDbEMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFbkMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNwRixXQUFXLENBQUMsS0FBSyxDQUFDO29CQUNkLFNBQVMsRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFO2lCQUMxRCxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDSCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDdkI7UUFDTCxDQUFDLENBQUM7UUFFRix1RUFBdUU7UUFDdkUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEtBQUssRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFFSCw4Q0FBOEM7UUFDOUMsVUFBVTthQUNMLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFaEQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUMsT0FBbUI7UUFDeEMsT0FBTyxJQUFJLGFBQWEsQ0FBQztZQUNyQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1NBQ3BELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXLENBQUMsT0FBbUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNkLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLE9BQU8sQ0FBQzthQUM1QixzQkFBc0IsQ0FBQyxJQUFJLENBQUM7YUFDNUIsa0JBQWtCLENBQUMsRUFBRSxDQUFDO2FBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDZixhQUFhLENBQUM7WUFDWDtnQkFDSSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsRUFBRTthQUNkO1NBQ0osQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7OztZQS9GSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQXRCMEMsT0FBTztZQUVZLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZ30gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7XG4gICAgTkFUVVJBTF9EUk9QRE9XTl9DT05UQUlORVJfREFUQSxcbiAgICBOYXR1cmFsRHJvcGRvd25Db250YWluZXJDb21wb25lbnQsXG4gICAgTmF0dXJhbERyb3Bkb3duQ29udGFpbmVyRGF0YSxcbn0gZnJvbSAnLi9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7TmF0dXJhbERyb3Bkb3duUmVmfSBmcm9tICcuL2Ryb3Bkb3duLXJlZic7XG5pbXBvcnQge0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdHVyYWxEcm9wZG93bkRhdGE8QyA9IGFueT4ge1xuICAgIGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGw7XG4gICAgY29uZmlndXJhdGlvbjogQztcbn1cblxuZXhwb3J0IGNvbnN0IE5BVFVSQUxfRFJPUERPV05fREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsRHJvcGRvd25EYXRhPignTmF0dXJhbERyb3Bkb3duRGF0YScpO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsRHJvcGRvd25TZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gICAgcHVibGljIG9wZW4oXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxEcm9wZG93bkNvbXBvbmVudD4sXG4gICAgICAgIGNvbm5lY3RlZEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIGN1c3RvbVByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSxcbiAgICAgICAgc2hvd1ZhbGlkYXRlQnV0dG9uOiBib29sZWFuLFxuICAgICk6IE5hdHVyYWxEcm9wZG93blJlZiB7XG4gICAgICAgIC8vIENvbnRhaW5lciBkYXRhXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckRhdGE6IE5hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEgPSB7XG4gICAgICAgICAgICBzaG93VmFsaWRhdGVCdXR0b246IHNob3dWYWxpZGF0ZUJ1dHRvbixcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTkFUVVJBTF9EUk9QRE9XTl9DT05UQUlORVJfREFUQSxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogY29udGFpbmVyRGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgY29udGFpbmVySW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe3Byb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3J9KTtcblxuICAgICAgICAvLyBDb250YWluZXJcbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5nZXRPdmVybGF5Q29uZmlnKGNvbm5lY3RlZEVsZW1lbnQpKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChOYXR1cmFsRHJvcGRvd25Db250YWluZXJDb21wb25lbnQsIHVuZGVmaW5lZCwgY29udGFpbmVySW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWY6IENvbXBvbmVudFJlZjxOYXR1cmFsRHJvcGRvd25Db250YWluZXJDb21wb25lbnQ+ID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcblxuICAgICAgICBjb25zdCBkcm9wZG93bkNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25SZWYgPSBuZXcgTmF0dXJhbERyb3Bkb3duUmVmKFxuICAgICAgICAgICAgZHJvcGRvd25Db250YWluZXIsXG4gICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICBjdXN0b21Qcm92aWRlcnMsXG4gICAgICAgICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgY29udGFpbmVyUmVmLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFN0YXJ0IGFuaW1hdGlvbiB0aGF0IHNob3dzIG1lbnVcbiAgICAgICAgZHJvcGRvd25Db250YWluZXIuc3RhcnRBbmltYXRpb24oKTtcblxuICAgICAgICBjb25zdCBjbG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChkcm9wZG93blJlZi5jb21wb25lbnRJbnN0YW5jZS5pc1ZhbGlkKCkgJiYgZHJvcGRvd25SZWYuY29tcG9uZW50SW5zdGFuY2UuaXNEaXJ0eSgpKSB7XG4gICAgICAgICAgICAgICAgZHJvcGRvd25SZWYuY2xvc2Uoe1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb246IGRyb3Bkb3duUmVmLmNvbXBvbmVudEluc3RhbmNlLmdldENvbmRpdGlvbigpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkcm9wZG93blJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFdoZW4gcGFyZW50IGNsb3NlcywgcmVtb3ZlIG92ZXJsYXkgZnJvbSBkb20gYW5kIHVwZGF0ZSBcInJldHVyblwiIHZhbHVcbiAgICAgICAgZHJvcGRvd25Db250YWluZXIuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBvdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgICAgIGNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFdoZW4gY2xpY2sgb24gYmFja2Ryb3AsIHZhbGlkYXRlIHJlc3VsdC4uID9cbiAgICAgICAgb3ZlcmxheVJlZlxuICAgICAgICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGRyb3Bkb3duQ29udGFpbmVyLmNsb3NlZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IGRyb3Bkb3duQ29udGFpbmVyLmNsb3NlKCkpO1xuXG4gICAgICAgIHJldHVybiBkcm9wZG93blJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBidWlsZHMgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG5lZWRlZCB0byBjcmVhdGUgdGhlIG92ZXJsYXksIHRoZSBPdmVybGF5U3RhdGUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBPdmVybGF5Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0UG9zaXRpb24oZWxlbWVudCksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb24oZWxlbWVudDogRWxlbWVudFJlZik6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnModHJ1ZSlcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oMzApXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WTogMTAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { NaturalDropdownRef } from '../../search/dropdown-container/dropdown-ref';
4
- import { NATURAL_DROPDOWN_DATA } from '../../search/dropdown-container/dropdown.service';
5
- export class FacetSelectorComponent {
6
- constructor(data, dropdownRef) {
7
- this.dropdownRef = dropdownRef;
8
- // Never has a real value
9
- this.renderedValue = new BehaviorSubject('');
10
- this.selection = null;
11
- this.facets = data.configuration.facets;
12
- }
13
- /**
14
- * Get value, including rich object types
15
- */
16
- getCondition() {
17
- return {};
18
- }
19
- /**
20
- * Allow to close the dropdown with a valid value
21
- */
22
- close() {
23
- if (this.selection) {
24
- this.dropdownRef.close({
25
- condition: {},
26
- facet: this.selection,
27
- });
28
- }
29
- }
30
- isValid() {
31
- return !!this.selection;
32
- }
33
- isDirty() {
34
- return true;
35
- }
36
- }
37
- FacetSelectorComponent.decorators = [
38
- { type: Component, args: [{
39
- template: "<mat-nav-list>\n <mat-list-item (click)=\"selection = facet; close()\" *ngFor=\"let facet of facets\">\n <a matLine>{{ facet.display }}</a>\n </mat-list-item>\n</mat-nav-list>\n",
40
- styles: [":host .mat-nav-list{padding:0}\n"]
41
- },] }
42
- ];
43
- FacetSelectorComponent.ctorParameters = () => [
44
- { type: undefined, decorators: [{ type: Inject, args: [NATURAL_DROPDOWN_DATA,] }] },
45
- { type: NaturalDropdownRef }
46
- ];
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2ZhY2V0LXNlbGVjdG9yL2ZhY2V0LXNlbGVjdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQWU1RyxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ21DLElBQXFELEVBQzFFLFdBQStCO1FBQS9CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQVA3Qyx5QkFBeUI7UUFDbEIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVoRCxjQUFTLEdBQWlCLElBQUksQ0FBQztRQU1sQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQ25CLFNBQVMsRUFBRSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUzthQUN4QixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OztZQTFDSixTQUFTLFNBQUM7Z0JBQ1AsME1BQThDOzthQUVqRDs7OzRDQVFRLE1BQU0sU0FBQyxxQkFBcUI7WUF2QjdCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TmF0dXJhbERyb3Bkb3duUmVmfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLXJlZic7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge0ZhY2V0LCBOYXR1cmFsU2VhcmNoRmFjZXRzfSBmcm9tICcuLi90eXBlcy9mYWNldCc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgZmFjZXQgc2VsZWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjZXRTZWxlY3RvckNvbmZpZ3VyYXRpb24ge1xuICAgIGZhY2V0czogTmF0dXJhbFNlYXJjaEZhY2V0cztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZhY2V0LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGYWNldFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnQge1xuICAgIC8vIE5ldmVyIGhhcyBhIHJlYWwgdmFsdWVcbiAgICBwdWJsaWMgcmVuZGVyZWRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHVibGljIGZhY2V0czogTmF0dXJhbFNlYXJjaEZhY2V0cztcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBGYWNldCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9EQVRBKSBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9uPixcbiAgICAgICAgcHJvdGVjdGVkIGRyb3Bkb3duUmVmOiBOYXR1cmFsRHJvcGRvd25SZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZmFjZXRzID0gZGF0YS5jb25maWd1cmF0aW9uLmZhY2V0cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdmFsdWUsIGluY2x1ZGluZyByaWNoIG9iamVjdCB0eXBlc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbGxvdyB0byBjbG9zZSB0aGUgZHJvcGRvd24gd2l0aCBhIHZhbGlkIHZhbHVlXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjoge30sXG4gICAgICAgICAgICAgICAgZmFjZXQ6IHRoaXMuc2VsZWN0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWxlY3Rpb247XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { deepClone } from '../classes/utils';
3
- export class NaturalGroupComponent {
4
- constructor() {
5
- this.selectionChange = new EventEmitter();
6
- this.innerSelections = [];
7
- }
8
- set selections(selection) {
9
- this.innerSelections = deepClone(selection);
10
- }
11
- updateInput(selection, index) {
12
- this.innerSelections[index] = selection;
13
- this.selectionChange.emit(this.innerSelections);
14
- }
15
- addInput(selection) {
16
- this.newValueInput.clear();
17
- this.innerSelections.push(selection);
18
- this.selectionChange.emit(this.innerSelections);
19
- }
20
- removeInput(index) {
21
- this.innerSelections.splice(index, 1);
22
- this.selectionChange.emit(this.innerSelections);
23
- }
24
- }
25
- NaturalGroupComponent.decorators = [
26
- { type: Component, args: [{
27
- selector: 'natural-group',
28
- template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n",
29
- styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}\n"]
30
- },] }
31
- ];
32
- NaturalGroupComponent.propDecorators = {
33
- newValueInput: [{ type: ViewChild, args: ['newValueInput',] }],
34
- placeholder: [{ type: Input }],
35
- facets: [{ type: Input }],
36
- selectionChange: [{ type: Output }],
37
- selections: [{ type: Input }]
38
- };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2dyb3VwL2dyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFVM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQVU4QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQ3pFLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQXFCakQsQ0FBQztJQW5CRyxJQUFhLFVBQVUsQ0FBQyxTQUEwQjtRQUM5QyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQWlDLEVBQUUsS0FBYTtRQUMvRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxTQUFpQztRQUM3QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUEvQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixzY0FBcUM7O2FBRXhDOzs7NEJBRUksU0FBUyxTQUFDLGVBQWU7MEJBRXpCLEtBQUs7cUJBQ0wsS0FBSzs4QkFDTCxNQUFNO3lCQUdOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWVwQ2xvbmV9IGZyb20gJy4uL2NsYXNzZXMvdXRpbHMnO1xuaW1wb3J0IHtOYXR1cmFsSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxTZWFyY2hGYWNldHN9IGZyb20gJy4uL3R5cGVzL2ZhY2V0JztcbmltcG9ydCB7R3JvdXBTZWxlY3Rpb25zLCBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ufSBmcm9tICcuLi90eXBlcy92YWx1ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEdyb3VwQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCduZXdWYWx1ZUlucHV0JykgcHVibGljIG5ld1ZhbHVlSW5wdXQhOiBOYXR1cmFsSW5wdXRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGZhY2V0cyE6IE5hdHVyYWxTZWFyY2hGYWNldHM7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEdyb3VwU2VsZWN0aW9ucz4oKTtcbiAgICBwdWJsaWMgaW5uZXJTZWxlY3Rpb25zOiBHcm91cFNlbGVjdGlvbnMgPSBbXTtcblxuICAgIEBJbnB1dCgpIHNldCBzZWxlY3Rpb25zKHNlbGVjdGlvbjogR3JvdXBTZWxlY3Rpb25zKSB7XG4gICAgICAgIHRoaXMuaW5uZXJTZWxlY3Rpb25zID0gZGVlcENsb25lKHNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUlucHV0KHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmlubmVyU2VsZWN0aW9uc1tpbmRleF0gPSBzZWxlY3Rpb247XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5pbm5lclNlbGVjdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRJbnB1dChzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXdWYWx1ZUlucHV0LmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5uZXJTZWxlY3Rpb25zLnB1c2goc2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmlubmVyU2VsZWN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUlucHV0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbm5lclNlbGVjdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmlubmVyU2VsZWN0aW9ucyk7XG4gICAgfVxufVxuIl19