@igo2/geo 1.14.2 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +13 -11
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +10 -10
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +20 -17
  9. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
  11. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  12. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +7 -12
  13. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
  14. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
  16. package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
  17. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  18. package/esm2020/lib/catalog/shared/catalog.service.mjs +3 -5
  19. package/esm2020/lib/datasource/datasource.module.mjs +1 -1
  20. package/esm2020/lib/datasource/shared/capabilities.service.mjs +2 -2
  21. package/esm2020/lib/datasource/shared/datasource.service.mjs +27 -31
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  30. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  32. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  34. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  57. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  58. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
  60. package/esm2020/lib/datasource/utils/index.mjs +1 -2
  61. package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
  62. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -10
  63. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  64. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
  65. package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
  66. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  67. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  68. package/esm2020/lib/directions/directions.component.mjs +2 -2
  69. package/esm2020/lib/directions/directions.module.mjs +1 -1
  70. package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
  71. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  72. package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
  73. package/esm2020/lib/directions/shared/directions.utils.mjs +2 -2
  74. package/esm2020/lib/directions/shared/store.mjs +1 -1
  75. package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
  76. package/esm2020/lib/download/download.module.mjs +1 -1
  77. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  78. package/esm2020/lib/download/shared/download.service.mjs +5 -8
  79. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  80. package/esm2020/lib/draw/draw/draw-popup.component.mjs +3 -3
  81. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  82. package/esm2020/lib/draw/draw/draw.component.mjs +11 -10
  83. package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
  84. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  85. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  86. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -17
  87. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  88. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  89. package/esm2020/lib/draw/shared/index.mjs +1 -2
  90. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +4 -5
  91. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  92. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  93. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  94. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  95. package/esm2020/lib/feature/feature.module.mjs +1 -1
  96. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  97. package/esm2020/lib/feature/shared/feature.utils.mjs +7 -5
  98. package/esm2020/lib/feature/shared/store.mjs +10 -1
  99. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2020/lib/feature/shared/strategies/index.mjs +2 -1
  102. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2020/lib/feature/shared/strategies/search.mjs +150 -0
  105. package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2020/lib/filter/filter.module.mjs +1 -1
  108. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  109. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  110. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
  111. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  112. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
  113. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  114. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  115. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  116. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  117. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  118. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  119. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  120. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  121. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  122. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  123. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  124. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  125. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  126. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  127. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  128. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +5 -5
  129. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +6 -7
  130. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  131. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  132. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  133. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  134. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  135. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  136. package/esm2020/lib/geo.module.mjs +5 -1
  137. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +13 -12
  138. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  139. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  140. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  141. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  142. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  143. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  144. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  145. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  146. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  147. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  148. package/esm2020/lib/import-export/import-export/import-export.component.mjs +53 -45
  149. package/esm2020/lib/import-export/import-export.module.mjs +5 -9
  150. package/esm2020/lib/import-export/index.mjs +1 -2
  151. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +31 -14
  152. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  153. package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
  154. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  155. package/esm2020/lib/import-export/shared/export.utils.mjs +8 -17
  156. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  157. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  158. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  159. package/esm2020/lib/import-export/shared/import.utils.mjs +58 -91
  160. package/esm2020/lib/layer/index.mjs +1 -2
  161. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  162. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  163. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  164. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  165. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  166. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  167. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
  168. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  169. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  170. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  171. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  172. package/esm2020/lib/layer/layer.module.mjs +6 -11
  173. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  174. package/esm2020/lib/layer/shared/index.mjs +1 -3
  175. package/esm2020/lib/layer/shared/layer.service.mjs +80 -29
  176. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  177. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  178. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  179. package/esm2020/lib/layer/shared/layers/image-layer.mjs +6 -7
  180. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  181. package/esm2020/lib/layer/shared/layers/layer.mjs +5 -3
  182. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  183. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  184. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  185. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +155 -6
  186. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  187. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  188. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  189. package/esm2020/lib/layer/utils/image-watcher.mjs +3 -6
  190. package/esm2020/lib/layer/utils/layer.utils.mjs +2 -2
  191. package/esm2020/lib/layer/utils/outputLegend.mjs +3 -2
  192. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  193. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  194. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  195. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  196. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  197. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  198. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  199. package/esm2020/lib/map/map-browser/map-browser.component.mjs +3 -3
  200. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  201. package/esm2020/lib/map/map.module.mjs +1 -1
  202. package/esm2020/lib/map/menu-button/menu-button.component.mjs +3 -3
  203. package/esm2020/lib/map/offline-button/offline-button.component.mjs +34 -57
  204. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  205. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2020/lib/map/shared/controllers/geolocation.mjs +151 -36
  207. package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2020/lib/map/shared/hover-feature.directive.mjs +24 -73
  209. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
  210. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  211. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  212. package/esm2020/lib/map/shared/map.mjs +7 -5
  213. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  214. package/esm2020/lib/map/shared/map.utils.mjs +1 -1
  215. package/esm2020/lib/map/shared/mapOffline.directive.mjs +50 -115
  216. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  217. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  218. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  219. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  220. package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
  221. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +24 -35
  222. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  223. package/esm2020/lib/measure/measure.module.mjs +1 -1
  224. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  225. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  226. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  227. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  228. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  229. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  230. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  231. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  232. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  233. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  234. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  235. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  236. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +4 -4
  237. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  238. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  239. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +2 -2
  240. package/esm2020/lib/offline/index.mjs +2 -1
  241. package/esm2020/lib/offline/layerDB/index.mjs +3 -0
  242. package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +2 -0
  243. package/esm2020/lib/offline/layerDB/layerDB.service.mjs +76 -0
  244. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  245. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  246. package/esm2020/lib/overlay/shared/index.mjs +1 -2
  247. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  248. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  249. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  250. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  251. package/esm2020/lib/overlay/shared/overlay.utils.mjs +2 -88
  252. package/esm2020/lib/print/print/print.component.mjs +6 -20
  253. package/esm2020/lib/print/print-form/print-form.component.mjs +197 -111
  254. package/esm2020/lib/print/print.module.mjs +1 -1
  255. package/esm2020/lib/print/shared/geopdf.mjs +1 -1
  256. package/esm2020/lib/print/shared/index.mjs +1 -1
  257. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  258. package/esm2020/lib/print/shared/print.service.mjs +85 -35
  259. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  260. package/esm2020/lib/query/query.module.mjs +1 -1
  261. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  262. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  263. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  264. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  265. package/esm2020/lib/query/shared/query.service.mjs +3 -5
  266. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  267. package/esm2020/lib/search/search-bar/search-bar.component.mjs +3 -3
  268. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  269. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  270. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  271. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +88 -31
  272. package/esm2020/lib/search/search-results/search-results-item.component.mjs +36 -13
  273. package/esm2020/lib/search/search-results/search-results.component.mjs +172 -58
  274. package/esm2020/lib/search/search-results/search-results.module.mjs +5 -1
  275. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  276. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  277. package/esm2020/lib/search/search-settings/search-settings.component.mjs +54 -56
  278. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  279. package/esm2020/lib/search/search.module.mjs +1 -1
  280. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +3 -30
  281. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  282. package/esm2020/lib/search/shared/search-source.service.mjs +9 -1
  283. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  284. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  285. package/esm2020/lib/search/shared/search.service.mjs +1 -1
  286. package/esm2020/lib/search/shared/search.utils.mjs +3 -3
  287. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  288. package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
  289. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +4 -4
  290. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  291. package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
  292. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  293. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  294. package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
  295. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  296. package/esm2020/lib/search/shared/sources/index.mjs +4 -1
  297. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  298. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  299. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  300. package/esm2020/lib/search/shared/sources/source.mjs +31 -1
  301. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  302. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  303. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  304. package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
  305. package/esm2020/lib/search/shared/sources/workspace.mjs +186 -0
  306. package/esm2020/lib/search/shared/sources/workspace.providers.mjs +26 -0
  307. package/esm2020/lib/style/index.mjs +5 -0
  308. package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +357 -0
  309. package/esm2020/lib/style/shared/datasource/index.mjs +2 -0
  310. package/esm2020/lib/style/shared/feature/feature-style.mjs +141 -0
  311. package/esm2020/lib/style/shared/feature/index.mjs +2 -0
  312. package/esm2020/lib/style/shared/font.enum.mjs +17 -0
  313. package/esm2020/lib/style/shared/index.mjs +5 -0
  314. package/esm2020/lib/style/shared/overlay/index.mjs +3 -0
  315. package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +43 -0
  316. package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
  317. package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +75 -0
  318. package/esm2020/lib/style/shared/vector/conversion.utils.mjs +27 -0
  319. package/esm2020/lib/style/shared/vector/index.mjs +4 -0
  320. package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +2 -0
  321. package/esm2020/lib/style/style-list/index.mjs +5 -0
  322. package/esm2020/lib/style/style-list/style-list.interface.mjs +2 -0
  323. package/esm2020/lib/style/style-list/style-list.module.mjs +23 -0
  324. package/esm2020/lib/style/style-list/style-list.provider.mjs +21 -0
  325. package/esm2020/lib/style/style-list/style-list.service.mjs +51 -0
  326. package/esm2020/lib/style/style-modal/drawing/index.mjs +2 -0
  327. package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
  328. package/esm2020/lib/style/style-modal/index.mjs +5 -0
  329. package/esm2020/lib/style/style-modal/layer/index.mjs +2 -0
  330. package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +187 -0
  331. package/esm2020/lib/style/style-modal/layer-button/index.mjs +2 -0
  332. package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
  333. package/esm2020/lib/style/style-modal/shared/index.mjs +2 -0
  334. package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
  335. package/esm2020/lib/style/style-service/draw-style.service.mjs +187 -0
  336. package/esm2020/lib/style/style-service/index.mjs +3 -0
  337. package/esm2020/lib/style/style-service/style.service.mjs +356 -0
  338. package/esm2020/lib/style/style.module.mjs +74 -0
  339. package/esm2020/lib/toast/toast.component.mjs +3 -3
  340. package/esm2020/lib/toast/toast.module.mjs +1 -1
  341. package/esm2020/lib/utils/id-generator.mjs +1 -1
  342. package/esm2020/lib/utils/index.mjs +1 -3
  343. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  344. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  345. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  346. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  347. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  348. package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
  349. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +19 -34
  350. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  351. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +10 -3
  352. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  353. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +2 -2
  354. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +3 -3
  355. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  356. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  357. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  358. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  359. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  360. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  361. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  362. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  363. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  364. package/esm2020/public_api.mjs +3 -1
  365. package/fesm2015/igo2-geo.mjs +6707 -5364
  366. package/fesm2015/igo2-geo.mjs.map +1 -1
  367. package/fesm2020/igo2-geo.mjs +7617 -6346
  368. package/fesm2020/igo2-geo.mjs.map +1 -1
  369. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +5 -14
  370. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -5
  371. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -9
  372. package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -3
  373. package/lib/catalog/shared/catalog.interface.d.ts +10 -0
  374. package/lib/datasource/shared/datasources/datasource.interface.d.ts +13 -0
  375. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +5 -0
  376. package/lib/datasource/utils/index.d.ts +0 -1
  377. package/lib/download/shared/download.service.d.ts +2 -3
  378. package/lib/draw/draw/draw.component.d.ts +3 -2
  379. package/lib/draw/shared/draw.enum.d.ts +0 -15
  380. package/lib/draw/shared/index.d.ts +0 -1
  381. package/lib/feature/shared/feature.interfaces.d.ts +5 -0
  382. package/lib/feature/shared/feature.utils.d.ts +4 -2
  383. package/lib/feature/shared/store.d.ts +7 -0
  384. package/lib/feature/shared/strategies/index.d.ts +1 -0
  385. package/lib/feature/shared/strategies/search.d.ts +55 -0
  386. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -3
  387. package/lib/geo.module.d.ts +3 -2
  388. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +5 -9
  389. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
  390. package/lib/import-export/import-export/import-export.component.d.ts +9 -4
  391. package/lib/import-export/import-export.module.d.ts +1 -2
  392. package/lib/import-export/index.d.ts +0 -1
  393. package/lib/import-export/shared/drop-geo-file.directive.d.ts +10 -7
  394. package/lib/import-export/shared/export.utils.d.ts +4 -4
  395. package/lib/import-export/shared/import.interface.d.ts +2 -0
  396. package/lib/import-export/shared/import.utils.d.ts +14 -12
  397. package/lib/layer/index.d.ts +0 -1
  398. package/lib/layer/layer.module.d.ts +19 -20
  399. package/lib/layer/shared/index.d.ts +0 -2
  400. package/lib/layer/shared/layer.service.d.ts +8 -5
  401. package/lib/layer/shared/layers/image-layer.d.ts +2 -3
  402. package/lib/layer/shared/layers/layer.d.ts +5 -1
  403. package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
  404. package/lib/layer/shared/layers/vector-layer.d.ts +18 -2
  405. package/lib/layer/shared/layers/vector-layer.interface.d.ts +8 -7
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +2 -4
  407. package/lib/layer/utils/image-watcher.d.ts +2 -3
  408. package/lib/map/offline-button/offline-button.component.d.ts +10 -18
  409. package/lib/map/shared/controllers/geolocation.d.ts +17 -2
  410. package/lib/map/shared/hover-feature.directive.d.ts +2 -10
  411. package/lib/map/shared/map.d.ts +2 -2
  412. package/lib/map/shared/mapOffline.directive.d.ts +4 -7
  413. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +3 -6
  414. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  415. package/lib/offline/index.d.ts +1 -0
  416. package/lib/offline/layerDB/index.d.ts +2 -0
  417. package/lib/offline/layerDB/layerDB.interface.d.ts +7 -0
  418. package/lib/offline/layerDB/layerDB.service.d.ts +36 -0
  419. package/lib/overlay/shared/index.d.ts +0 -1
  420. package/lib/overlay/shared/overlay.utils.d.ts +0 -11
  421. package/lib/print/print-form/print-form.component.d.ts +2 -0
  422. package/lib/print/shared/print.service.d.ts +6 -0
  423. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  424. package/lib/search/search-results/search-results-add-button.component.d.ts +10 -2
  425. package/lib/search/search-results/search-results-item.component.d.ts +5 -0
  426. package/lib/search/search-results/search-results.component.d.ts +5 -1
  427. package/lib/search/search-results/search-results.module.d.ts +11 -10
  428. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -9
  429. package/lib/search/shared/search-source.service.d.ts +7 -0
  430. package/lib/search/shared/search.interfaces.d.ts +1 -1
  431. package/lib/search/shared/sources/coordinates.providers.d.ts +3 -3
  432. package/lib/search/shared/sources/index.d.ts +3 -0
  433. package/lib/search/shared/sources/source.d.ts +6 -0
  434. package/lib/search/shared/sources/workspace.d.ts +33 -0
  435. package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -0
  436. package/lib/search/shared/sources/workspace.providers.d.ts +17 -0
  437. package/lib/style/index.d.ts +4 -0
  438. package/lib/style/shared/datasource/index.d.ts +1 -0
  439. package/lib/style/shared/feature/feature-style.d.ts +18 -0
  440. package/lib/style/shared/feature/index.d.ts +1 -0
  441. package/lib/style/shared/font.enum.d.ts +15 -0
  442. package/lib/style/shared/index.d.ts +4 -0
  443. package/lib/style/shared/overlay/index.d.ts +2 -0
  444. package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -0
  445. package/lib/{utils → style/shared/vector}/commonVectorStyle.d.ts +4 -4
  446. package/lib/style/shared/vector/conversion.utils.d.ts +22 -0
  447. package/lib/style/shared/vector/index.d.ts +3 -0
  448. package/lib/style/shared/vector/vector-style.interface.d.ts +69 -0
  449. package/lib/style/style-modal/drawing/index.d.ts +1 -0
  450. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +31 -0
  451. package/lib/style/style-modal/index.d.ts +4 -0
  452. package/lib/style/style-modal/layer/index.d.ts +1 -0
  453. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +30 -0
  454. package/lib/style/style-modal/layer-button/index.d.ts +1 -0
  455. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -0
  456. package/lib/style/style-modal/shared/index.d.ts +1 -0
  457. package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -0
  458. package/lib/{draw/shared → style/style-service}/draw-style.service.d.ts +3 -4
  459. package/lib/style/style-service/index.d.ts +2 -0
  460. package/lib/{layer/shared → style/style-service}/style.service.d.ts +5 -5
  461. package/lib/style/style.module.d.ts +22 -0
  462. package/lib/utils/index.d.ts +0 -2
  463. package/lib/workspace/shared/edition-workspace.service.d.ts +3 -4
  464. package/lib/workspace/shared/wms-workspace.service.d.ts +1 -1
  465. package/ngcc.config.js +3 -3
  466. package/package.json +17 -11
  467. package/public_api.d.ts +2 -0
  468. package/style/geo.theming.scss +12 -12
  469. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +0 -357
  470. package/esm2020/lib/draw/shared/draw-style.service.mjs +0 -190
  471. package/esm2020/lib/import-export/style-list/index.mjs +0 -5
  472. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +0 -2
  473. package/esm2020/lib/import-export/style-list/style-list.module.mjs +0 -23
  474. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +0 -21
  475. package/esm2020/lib/import-export/style-list/style-list.service.mjs +0 -51
  476. package/esm2020/lib/layer/shared/style.service.mjs +0 -356
  477. package/esm2020/lib/layer/shared/vector-style.interface.mjs +0 -2
  478. package/esm2020/lib/layer/style-modal/index.mjs +0 -2
  479. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +0 -288
  480. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +0 -69
  481. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +0 -2
  482. package/esm2020/lib/utils/commonVectorStyle.mjs +0 -75
  483. package/lib/layer/shared/vector-style.interface.d.ts +0 -38
  484. package/lib/layer/style-modal/index.d.ts +0 -1
  485. package/lib/layer/style-modal/style-modal.component.d.ts +0 -42
  486. package/lib/utils/commonVectorStyle.interface.d.ts +0 -16
  487. /package/lib/{datasource/utils → style/shared/datasource}/esri-style-generator.d.ts +0 -0
  488. /package/lib/{overlay/shared → style/shared/overlay}/overlay-marker-style.utils.d.ts +0 -0
  489. /package/lib/{import-export → style}/style-list/index.d.ts +0 -0
  490. /package/lib/{import-export → style}/style-list/style-list.interface.d.ts +0 -0
  491. /package/lib/{import-export → style}/style-list/style-list.module.d.ts +0 -0
  492. /package/lib/{import-export → style}/style-list/style-list.provider.d.ts +0 -0
  493. /package/lib/{import-export → style}/style-list/style-list.service.d.ts +0 -0
@@ -0,0 +1,288 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import { FontType } from '../../shared/font.enum';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/dialog";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "../../style-service/draw-style.service";
8
+ import * as i4 from "ngx-color-picker";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "@angular/material/form-field";
11
+ import * as i7 from "@angular/material/icon";
12
+ import * as i8 from "@angular/material/button";
13
+ import * as i9 from "@angular/material/input";
14
+ import * as i10 from "@angular/material/select";
15
+ import * as i11 from "@angular/material/core";
16
+ import * as i12 from "@angular/material/tooltip";
17
+ import * as i13 from "@ngx-translate/core";
18
+ function StyleModalDrawingComponent_div_6_Template(rf, ctx) { if (rf & 1) {
19
+ const _r9 = i0.ɵɵgetCurrentView();
20
+ i0.ɵɵelementStart(0, "div", 24)(1, "span");
21
+ i0.ɵɵelement(2, "mat-icon", 25);
22
+ i0.ɵɵtext(3);
23
+ i0.ɵɵpipe(4, "translate");
24
+ i0.ɵɵelementEnd();
25
+ i0.ɵɵelementStart(5, "mat-form-field", 26);
26
+ i0.ɵɵpipe(6, "translate");
27
+ i0.ɵɵelementStart(7, "mat-label");
28
+ i0.ɵɵtext(8);
29
+ i0.ɵɵelementEnd();
30
+ i0.ɵɵelementStart(9, "input", 27, 28);
31
+ i0.ɵɵlistener("colorPickerChange", function StyleModalDrawingComponent_div_6_Template_input_colorPickerChange_9_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.styleModalData.fillColor = $event); });
32
+ i0.ɵɵpipe(11, "translate");
33
+ i0.ɵɵelementEnd()()();
34
+ } if (rf & 2) {
35
+ const ctx_r0 = i0.ɵɵnextContext();
36
+ i0.ɵɵadvance(3);
37
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 14, "igo.geo.style.fill"), " ");
38
+ i0.ɵɵadvance(2);
39
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(6, 16, "igo.geo.style.colorPicker"));
40
+ i0.ɵɵadvance(3);
41
+ i0.ɵɵtextInterpolate(ctx_r0.getFeatureFillColor());
42
+ i0.ɵɵadvance(1);
43
+ i0.ɵɵstyleProp("background", ctx_r0.getFeatureFillColor());
44
+ i0.ɵɵproperty("readonly", true)("colorPicker", ctx_r0.getFeatureFillColor())("cpWidth", "200px")("cpOutputFormat", "rgba")("cpPosition", "bottom")("cpPositionOffset", "-75%")("cpCancelButton", true)("cpCancelButtonText", i0.ɵɵpipeBind1(11, 18, "igo.geo.style.cancel"))("cpOKButton", true);
45
+ } }
46
+ function StyleModalDrawingComponent_mat_option_34_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelementStart(0, "mat-option", 29);
48
+ i0.ɵɵtext(1);
49
+ i0.ɵɵelementEnd();
50
+ } if (rf & 2) {
51
+ const fontSelect_r10 = ctx.$implicit;
52
+ i0.ɵɵproperty("value", fontSelect_r10);
53
+ i0.ɵɵadvance(1);
54
+ i0.ɵɵtextInterpolate1(" ", fontSelect_r10, " ");
55
+ } }
56
+ export class StyleModalDrawingComponent {
57
+ constructor(dialogRef, formBuilder, drawStyleService, data) {
58
+ this.dialogRef = dialogRef;
59
+ this.formBuilder = formBuilder;
60
+ this.drawStyleService = drawStyleService;
61
+ this.data = data;
62
+ this.confirmFlag = false;
63
+ this.buildForm();
64
+ }
65
+ ngOnInit() {
66
+ this.linestringOnly = true;
67
+ for (const feature of this.data.features) {
68
+ if (feature.geometry.type !== 'LineString') {
69
+ this.linestringOnly = false;
70
+ }
71
+ }
72
+ this.buildStyleData();
73
+ }
74
+ buildForm() {
75
+ this.form = this.formBuilder.group({
76
+ fill: [''],
77
+ stroke: ['']
78
+ });
79
+ }
80
+ buildStyleData() {
81
+ this.styleModalData = {
82
+ fillColor: this.data.features.length > 0
83
+ ? this.data.features[0].properties.drawingStyle.fill
84
+ : 'rgba(255,255,255,0.4)',
85
+ strokeColor: this.data.features.length > 0
86
+ ? this.data.features[0].properties.drawingStyle.stroke
87
+ : 'rgba(143,7,7,1)',
88
+ fontSize: this.data.features.length > 0
89
+ ? this.data.features[0].properties.fontStyle
90
+ .split(' ')[0]
91
+ .replace('px', '')
92
+ : '20',
93
+ fontStyle: this.data.features.length > 0
94
+ ? this.data.features[0].properties.fontStyle.substring(this.data.features[0].properties.fontStyle.indexOf(' ') + 1)
95
+ : FontType.Arial,
96
+ offsetX: this.data.features.length > 0
97
+ ? this.data.features[0].properties.offsetX
98
+ : this.drawStyleService.getOffsetX(),
99
+ offsetY: this.data.features.length > 0
100
+ ? this.data.features[0].properties.offsetY
101
+ : this.drawStyleService.getOffsetY()
102
+ };
103
+ }
104
+ get allFontStyles() {
105
+ return Object.values(FontType);
106
+ }
107
+ getFeatureFontSize() {
108
+ if (!this.styleModalData.fontSize) {
109
+ return this.data.features.length > 0
110
+ ? this.data.features[0].properties.fontStyle
111
+ .split(' ')[0]
112
+ .replace('px', '')
113
+ : '20';
114
+ }
115
+ else {
116
+ return this.styleModalData.fontSize;
117
+ }
118
+ }
119
+ getFeatureFontStyle() {
120
+ if (!this.styleModalData.fontStyle) {
121
+ return this.data.features.length > 0
122
+ ? this.data.features[0].properties.fontStyle.substring(this.data.features[0].properties.fontStyle.indexOf(' ') + 1)
123
+ : FontType.Arial;
124
+ }
125
+ else {
126
+ return this.styleModalData.fontStyle;
127
+ }
128
+ }
129
+ getFeatureFillColor() {
130
+ if (!this.styleModalData.fillColor) {
131
+ return this.data.features.length > 0
132
+ ? this.data.features[0].properties.drawingStyle.fill
133
+ : 'rgba(255,255,255,0.4)';
134
+ }
135
+ else {
136
+ return this.styleModalData.fillColor;
137
+ }
138
+ }
139
+ getFeatureStrokeColor() {
140
+ if (!this.styleModalData.strokeColor) {
141
+ return this.data.features.length > 0
142
+ ? this.data.features[0].properties.drawingStyle.stroke
143
+ : 'rgba(143,7,7,1)';
144
+ }
145
+ else {
146
+ return this.styleModalData.strokeColor;
147
+ }
148
+ }
149
+ getFeatureOffsetX() {
150
+ if (!this.styleModalData.offsetX) {
151
+ return this.data.features.length > 0
152
+ ? this.data.features[0].properties.offsetX
153
+ : this.drawStyleService.getOffsetX();
154
+ }
155
+ else {
156
+ return this.styleModalData.offsetX;
157
+ }
158
+ }
159
+ getFeatureOffsetY() {
160
+ if (!this.styleModalData.offsetY) {
161
+ return this.data.features.length > 0
162
+ ? this.data.features[0].properties.offsetY
163
+ : this.drawStyleService.getOffsetY();
164
+ }
165
+ else {
166
+ return this.styleModalData.offsetY;
167
+ }
168
+ }
169
+ cancelDrawing() {
170
+ this.dialogRef.close();
171
+ }
172
+ confirm() {
173
+ this.confirmFlag = true;
174
+ this.dialogRef.close(this.styleModalData);
175
+ }
176
+ }
177
+ StyleModalDrawingComponent.ɵfac = function StyleModalDrawingComponent_Factory(t) { return new (t || StyleModalDrawingComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.DrawStyleService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
178
+ StyleModalDrawingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StyleModalDrawingComponent, selectors: [["igo-style-modal-drawing"]], inputs: { confirmFlag: "confirmFlag" }, decls: 54, vars: 46, consts: [["mat-dialog-content", ""], ["mat-dialog-title", "", 1, "mat-typography"], [1, "edition-drawing", "mat-typography", 3, "hidden"], [1, "igo-form", 3, "formGroup"], ["class", "fill-color-picker mat-typography", 4, "ngIf"], [1, "stroke-color-picker", "mat-typography"], ["svgIcon", "square-outline", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "stroke-field", 3, "matTooltip"], ["formControlName", "stroke", "matInput", "", "type", "text", 3, "readonly", "colorPicker", "cpWidth", "cpPosition", "cpPositionOffset", "cpOutputFormat", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], ["strokeColorInput", ""], [1, "igo-input-container"], ["appearance", "outline", 1, "igo-form-input-box"], ["matInput", "", "type", "number", "placeholder", "10", "min", "10", "onkeydown", "return event.keyCode !== 69", 3, "value", "input"], ["testFontSize", ""], ["matSuffix", ""], [3, "value", "selectionChange"], ["testFontStyle", ""], [3, "value", 4, "ngFor", "ngForOf"], ["matInput", "", "type", "number", "onkeydown", "return event.keyCode !== 69", 3, "value", "input"], ["offsetXInput", ""], ["offsetYInput", ""], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click"], [1, "fill-color-picker", "mat-typography"], ["svgIcon", "square", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "fill-field", 3, "matTooltip"], ["formControlName", "fill", "matInput", "", "type", "text", 3, "readonly", "colorPicker", "cpWidth", "cpOutputFormat", "cpPosition", "cpPositionOffset", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], ["fillColorInput", ""], [3, "value"]], template: function StyleModalDrawingComponent_Template(rf, ctx) { if (rf & 1) {
179
+ i0.ɵɵelementStart(0, "div", 0)(1, "h2", 1);
180
+ i0.ɵɵtext(2);
181
+ i0.ɵɵpipe(3, "translate");
182
+ i0.ɵɵelementEnd();
183
+ i0.ɵɵelementStart(4, "div", 2)(5, "form", 3);
184
+ i0.ɵɵtemplate(6, StyleModalDrawingComponent_div_6_Template, 12, 20, "div", 4);
185
+ i0.ɵɵelementStart(7, "div", 5)(8, "span");
186
+ i0.ɵɵelement(9, "mat-icon", 6);
187
+ i0.ɵɵtext(10);
188
+ i0.ɵɵpipe(11, "translate");
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelementStart(12, "mat-form-field", 7);
191
+ i0.ɵɵpipe(13, "translate");
192
+ i0.ɵɵelementStart(14, "mat-label");
193
+ i0.ɵɵtext(15);
194
+ i0.ɵɵelementEnd();
195
+ i0.ɵɵelementStart(16, "input", 8, 9);
196
+ i0.ɵɵlistener("colorPickerChange", function StyleModalDrawingComponent_Template_input_colorPickerChange_16_listener($event) { return ctx.styleModalData.strokeColor = $event; });
197
+ i0.ɵɵpipe(18, "translate");
198
+ i0.ɵɵelementEnd()()();
199
+ i0.ɵɵelementStart(19, "div", 10)(20, "mat-form-field", 11)(21, "mat-label");
200
+ i0.ɵɵtext(22);
201
+ i0.ɵɵpipe(23, "translate");
202
+ i0.ɵɵelementEnd();
203
+ i0.ɵɵelementStart(24, "input", 12, 13);
204
+ i0.ɵɵlistener("input", function StyleModalDrawingComponent_Template_input_input_24_listener($event) { return ctx.styleModalData.fontSize = $event.target.value; });
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵelementStart(26, "span", 14);
207
+ i0.ɵɵtext(27, "px");
208
+ i0.ɵɵelementEnd()();
209
+ i0.ɵɵelementStart(28, "mat-form-field", 11)(29, "mat-label");
210
+ i0.ɵɵtext(30);
211
+ i0.ɵɵpipe(31, "translate");
212
+ i0.ɵɵelementEnd();
213
+ i0.ɵɵelementStart(32, "mat-select", 15, 16);
214
+ i0.ɵɵlistener("selectionChange", function StyleModalDrawingComponent_Template_mat_select_selectionChange_32_listener($event) { return ctx.styleModalData.fontStyle = $event.value; });
215
+ i0.ɵɵtemplate(34, StyleModalDrawingComponent_mat_option_34_Template, 2, 2, "mat-option", 17);
216
+ i0.ɵɵelementEnd()()();
217
+ i0.ɵɵelementStart(35, "div", 10)(36, "mat-form-field", 11)(37, "mat-label");
218
+ i0.ɵɵtext(38);
219
+ i0.ɵɵpipe(39, "translate");
220
+ i0.ɵɵelementEnd();
221
+ i0.ɵɵelementStart(40, "input", 18, 19);
222
+ i0.ɵɵlistener("input", function StyleModalDrawingComponent_Template_input_input_40_listener($event) { return ctx.styleModalData.offsetX = $event.target.value; });
223
+ i0.ɵɵelementEnd()();
224
+ i0.ɵɵelementStart(42, "mat-form-field", 11)(43, "mat-label");
225
+ i0.ɵɵtext(44);
226
+ i0.ɵɵpipe(45, "translate");
227
+ i0.ɵɵelementEnd();
228
+ i0.ɵɵelementStart(46, "input", 18, 20);
229
+ i0.ɵɵlistener("input", function StyleModalDrawingComponent_Template_input_input_46_listener($event) { return ctx.styleModalData.offsetY = $event.target.value; });
230
+ i0.ɵɵelementEnd()()()()()();
231
+ i0.ɵɵelementStart(48, "div", 21)(49, "button", 22);
232
+ i0.ɵɵlistener("click", function StyleModalDrawingComponent_Template_button_click_49_listener() { return ctx.cancelDrawing(); });
233
+ i0.ɵɵtext(50);
234
+ i0.ɵɵpipe(51, "translate");
235
+ i0.ɵɵelementEnd();
236
+ i0.ɵɵelementStart(52, "button", 23);
237
+ i0.ɵɵlistener("click", function StyleModalDrawingComponent_Template_button_click_52_listener() { return ctx.confirm(); });
238
+ i0.ɵɵtext(53, "OK ");
239
+ i0.ɵɵelementEnd()();
240
+ } if (rf & 2) {
241
+ i0.ɵɵadvance(2);
242
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 28, "igo.geo.style.styleModal"));
243
+ i0.ɵɵadvance(2);
244
+ i0.ɵɵproperty("hidden", ctx.data.features.length === 0);
245
+ i0.ɵɵadvance(1);
246
+ i0.ɵɵproperty("formGroup", ctx.form);
247
+ i0.ɵɵadvance(1);
248
+ i0.ɵɵproperty("ngIf", ctx.linestringOnly !== true);
249
+ i0.ɵɵadvance(4);
250
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 30, "igo.geo.style.stroke"), " ");
251
+ i0.ɵɵadvance(2);
252
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(13, 32, "igo.geo.style.colorPicker"));
253
+ i0.ɵɵadvance(3);
254
+ i0.ɵɵtextInterpolate(ctx.getFeatureStrokeColor());
255
+ i0.ɵɵadvance(1);
256
+ i0.ɵɵstyleProp("background", ctx.getFeatureStrokeColor());
257
+ i0.ɵɵproperty("readonly", true)("colorPicker", ctx.getFeatureStrokeColor())("cpWidth", "200px")("cpPosition", "bottom")("cpPositionOffset", "-75%")("cpOutputFormat", "rgba")("cpCancelButton", true)("cpCancelButtonText", i0.ɵɵpipeBind1(18, 34, "igo.geo.style.cancel"))("cpOKButton", true);
258
+ i0.ɵɵadvance(6);
259
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 36, "igo.geo.style.fontSize"));
260
+ i0.ɵɵadvance(2);
261
+ i0.ɵɵproperty("value", ctx.getFeatureFontSize());
262
+ i0.ɵɵadvance(6);
263
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(31, 38, "igo.geo.style.fontStyle"));
264
+ i0.ɵɵadvance(2);
265
+ i0.ɵɵproperty("value", ctx.getFeatureFontStyle());
266
+ i0.ɵɵadvance(2);
267
+ i0.ɵɵproperty("ngForOf", ctx.allFontStyles);
268
+ i0.ɵɵadvance(4);
269
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(39, 40, "igo.geo.style.offsetX"));
270
+ i0.ɵɵadvance(2);
271
+ i0.ɵɵproperty("value", ctx.getFeatureOffsetX());
272
+ i0.ɵɵadvance(4);
273
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 42, "igo.geo.style.offsetY"));
274
+ i0.ɵɵadvance(2);
275
+ i0.ɵɵproperty("value", ctx.getFeatureOffsetY());
276
+ i0.ɵɵadvance(4);
277
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(51, 44, "igo.geo.style.cancel"), " ");
278
+ } }, dependencies: [i4.ColorPickerDirective, i5.NgForOf, i5.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i6.MatFormField, i6.MatLabel, i6.MatSuffix, i7.MatIcon, i8.MatButton, i9.MatInput, i10.MatSelect, i11.MatOption, i12.MatTooltip, i2.FormGroupDirective, i2.FormControlName, i13.TranslatePipe], styles: ["h2[_ngcontent-%COMP%]{font-weight:700;font-size:large}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}.edition-drawing[_ngcontent-%COMP%]{padding:10px 0}.igo-input-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%] + .mat-form-field[_ngcontent-%COMP%]{margin-left:8px}.igo-form-input-box[_ngcontent-%COMP%]{width:150px}button[_ngcontent-%COMP%]{margin-right:5px}"] });
279
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleModalDrawingComponent, [{
280
+ type: Component,
281
+ args: [{ selector: 'igo-style-modal-drawing', template: "<div mat-dialog-content>\r\n <h2 mat-dialog-title class=\"mat-typography\">{{ 'igo.geo.style.styleModal' | translate }}</h2>\r\n <div\r\n class=\"edition-drawing mat-typography\"\r\n [hidden]=\"data.features.length === 0\">\r\n <form\r\n class=\"igo-form\"\r\n [formGroup]=\"form\">\r\n <div class=\"fill-color-picker mat-typography\" *ngIf=\"linestringOnly !== true\">\r\n <span>\r\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square\"></mat-icon>\r\n {{ 'igo.geo.style.fill' | translate }}\r\n </span>\r\n\r\n <mat-form-field\r\n class=\"fill-field\"\r\n appearance=\"outline\"\r\n floatLabel=\"always\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.style.colorPicker' | translate\">\r\n <mat-label>{{ getFeatureFillColor() }}</mat-label>\r\n <input\r\n #fillColorInput\r\n formControlName=\"fill\"\r\n matInput\r\n type=\"text\"\r\n [style.background]=\"getFeatureFillColor()\"\r\n [readonly]=\"true\"\r\n [colorPicker]=\"getFeatureFillColor()\"\r\n [cpWidth]=\"'200px'\"\r\n [cpOutputFormat]=\"'rgba'\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-75%'\"\r\n [cpCancelButton]=\"true\"\r\n [cpCancelButtonText]=\"'igo.geo.style.cancel' | translate\"\r\n [cpOKButton]=\"true\"\r\n (colorPickerChange)=\"styleModalData.fillColor = $event\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"stroke-color-picker mat-typography\">\r\n <span>\r\n <mat-icon\r\n class=\"stroke-palette-icon\"\r\n svgIcon=\"square-outline\">\r\n </mat-icon>\r\n {{'igo.geo.style.stroke' | translate}}\r\n </span>\r\n\r\n <mat-form-field\r\n class=\"stroke-field\"\r\n appearance=\"outline\"\r\n floatLabel=\"always\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.style.colorPicker' | translate\">\r\n <mat-label>{{ getFeatureStrokeColor() }}</mat-label>\r\n <input\r\n #strokeColorInput\r\n formControlName=\"stroke\"\r\n matInput\r\n type=\"text\"\r\n [style.background]=\"getFeatureStrokeColor()\"\r\n [readonly]=\"true\"\r\n [colorPicker]=\"getFeatureStrokeColor()\"\r\n [cpWidth]=\"'200px'\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-75%'\"\r\n [cpOutputFormat]=\"'rgba'\"\r\n [cpCancelButton]=\"true\"\r\n [cpCancelButtonText]=\"'igo.geo.style.cancel' | translate\"\r\n [cpOKButton]=\"true\"\r\n (colorPickerChange)=\"styleModalData.strokeColor = $event\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\r\n <mat-label>{{ 'igo.geo.style.fontSize' | translate }}</mat-label>\r\n <input\r\n matInput\r\n #testFontSize\r\n type=\"number\"\r\n placeholder=\"10\"\r\n min=\"10\"\r\n onkeydown=\"return event.keyCode !== 69\"\r\n [value]=\"getFeatureFontSize()\"\r\n (input)=\"styleModalData.fontSize = $event.target.value\">\r\n <span matSuffix>px</span>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\r\n <mat-label>{{ 'igo.geo.style.fontStyle' | translate }}</mat-label>\r\n <mat-select\r\n #testFontStyle\r\n [value]=\"getFeatureFontStyle()\"\r\n (selectionChange)=\"styleModalData.fontStyle = $event.value\">\r\n <mat-option\r\n *ngFor=\"let fontSelect of allFontStyles\"\r\n [value]=\"fontSelect\">\r\n {{ fontSelect }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\r\n <mat-label>{{ 'igo.geo.style.offsetX' | translate }}</mat-label>\r\n <input\r\n matInput\r\n #offsetXInput\r\n type=\"number\"\r\n onkeydown=\"return event.keyCode !== 69\"\r\n [value]=\"getFeatureOffsetX()\"\r\n (input)=\"styleModalData.offsetX = $event.target.value\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\r\n <mat-label>{{ 'igo.geo.style.offsetY' | translate }}</mat-label>\r\n <input\r\n matInput\r\n #offsetYInput\r\n type=\"number\"\r\n onkeydown=\"return event.keyCode !== 69\"\r\n [value]=\"getFeatureOffsetY()\"\r\n (input)=\"styleModalData.offsetY= $event.target.value\">\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button \r\n mat-raised-button \r\n (click)=\"cancelDrawing()\">{{'igo.geo.style.cancel' | translate}}\r\n </button>\r\n <button \r\n mat-raised-button \r\n color=\"primary\" \r\n (click)=\"confirm()\">OK\r\n </button>\r\n</div>\r\n", styles: ["h2{font-weight:700;font-size:large}.igo-form{padding:10px}.fill-field,.stroke-field{width:130px}.fill-color-picker mat-icon{position:relative;top:7px}.fill-color-picker mat-form-field{left:8px}.stroke-color-picker mat-icon{position:relative;top:7px}.stroke-color-picker mat-form-field{left:35px}.box{width:25px;height:25px}.edition-drawing{padding:10px 0}.igo-input-container .mat-form-field+.mat-form-field{margin-left:8px}.igo-form-input-box{width:150px}button{margin-right:5px}\n"] }]
282
+ }], function () { return [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }, { type: i3.DrawStyleService }, { type: undefined, decorators: [{
283
+ type: Inject,
284
+ args: [MAT_DIALOG_DATA]
285
+ }] }]; }, { confirmFlag: [{
286
+ type: Input
287
+ }] }); })();
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zdHlsZS1tb2RhbC9kcmF3aW5nL3N0eWxlLW1vZGFsLWRyYXdpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtbW9kYWwvZHJhd2luZy9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSXpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNHNUMsK0JBQThFLFdBQUE7SUFFMUUsK0JBQWtFO0lBQ2xFLFlBQ0Y7O0lBQUEsaUJBQU87SUFFUCwwQ0FNeUQ7O0lBQ3ZELGlDQUFXO0lBQUEsWUFBMkI7SUFBQSxpQkFBWTtJQUNsRCxxQ0FlMEQ7SUFBeEQsb01BQXFCLHdEQUFpQyxJQUFDOztJQWZ6RCxpQkFlMEQsRUFBQSxFQUFBOzs7SUExQjFELGVBQ0Y7SUFERSw0RUFDRjtJQVFFLGVBQXNEO0lBQXRELCtFQUFzRDtJQUMzQyxlQUEyQjtJQUEzQixrREFBMkI7SUFNcEMsZUFBMEM7SUFBMUMsMERBQTBDO0lBQzFDLCtCQUFpQiw2Q0FBQSxvQkFBQSwwQkFBQSx3QkFBQSw0QkFBQSx3QkFBQSxzRUFBQSxvQkFBQTs7O0lBcUVqQixzQ0FFdUI7SUFDckIsWUFDRjtJQUFBLGlCQUFhOzs7SUFGWCxzQ0FBb0I7SUFDcEIsZUFDRjtJQURFLCtDQUNGOztBRHhGWixNQUFNLE9BQU8sMEJBQTBCO0lB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QUE3QiwrQ0FBNkI7UUFJcEIsZUFBeUM7UUFBekMscUVBQXlDO1FBTWxELGVBQTZCO1FBQTdCLCtDQUE2QjtRQVVYLGVBQzVCO1FBRDRCLDhFQUM1Qjs7dUZEMUhXLDBCQUEwQjtjQUx0QyxTQUFTOzJCQUNFLHlCQUF5Qjs7c0JBZ0JoQyxNQUFNO3VCQUFDLGVBQWU7d0JBWGhCLFdBQVc7a0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IERyYXdTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS1zZXJ2aWNlL2RyYXctc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvbnRUeXBlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ZvbnQuZW51bSc7XHJcbmltcG9ydCB7IERyYXdpbmdNYXREaWFsb2dEYXRhLCBTdHlsZU1vZGFsRGF0YSB9IGZyb20gJy4uL3NoYXJlZC9zdHlsZS1tb2RhbC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc3R5bGUtbW9kYWwtZHJhd2luZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0eWxlLW1vZGFsLWRyYXdpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLW1vZGFsLWRyYXdpbmcuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNvbmZpcm1GbGFnOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBwdWJsaWMgc3R5bGVNb2RhbERhdGE6IFN0eWxlTW9kYWxEYXRhO1xyXG4gIHB1YmxpYyBsaW5lc3RyaW5nT25seTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBkcmF3U3R5bGVTZXJ2aWNlOiBEcmF3U3R5bGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEcmF3aW5nTWF0RGlhbG9nRGF0YSkge1xyXG4gICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubGluZXN0cmluZ09ubHkgPSB0cnVlO1xyXG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIHRoaXMuZGF0YS5mZWF0dXJlcykge1xyXG4gICAgICBpZiAoZmVhdHVyZS5nZW9tZXRyeS50eXBlICE9PSAnTGluZVN0cmluZycpIHtcclxuICAgICAgICB0aGlzLmxpbmVzdHJpbmdPbmx5ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYnVpbGRTdHlsZURhdGEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRGb3JtKCkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIGZpbGw6IFsnJ10sXHJcbiAgICAgIHN0cm9rZTogWycnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU3R5bGVEYXRhKCkge1xyXG4gICAgdGhpcy5zdHlsZU1vZGFsRGF0YSA9IHtcclxuICAgICAgZmlsbENvbG9yOlxyXG4gICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXHJcbiAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5kcmF3aW5nU3R5bGUuZmlsbFxyXG4gICAgICAgIDogJ3JnYmEoMjU1LDI1NSwyNTUsMC40KScsXHJcbiAgICAgIHN0cm9rZUNvbG9yOlxyXG4gICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXHJcbiAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5kcmF3aW5nU3R5bGUuc3Ryb2tlXHJcbiAgICAgICAgOiAncmdiYSgxNDMsNyw3LDEpJyxcclxuICAgICAgZm9udFNpemU6XHJcbiAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcclxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZVxyXG4gICAgICAgICAgICAuc3BsaXQoJyAnKVswXVxyXG4gICAgICAgICAgICAucmVwbGFjZSgncHgnLCAnJylcclxuICAgICAgICA6ICcyMCcsXHJcbiAgICAgIGZvbnRTdHlsZTpcclxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlLnN1YnN0cmluZyhcclxuICAgICAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlLmluZGV4T2YoJyAnKSArIDEpXHJcbiAgICAgICAgOiBGb250VHlwZS5BcmlhbCxcclxuICAgICAgb2Zmc2V0WDpcclxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMub2Zmc2V0WFxyXG4gICAgICAgIDogdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldE9mZnNldFgoKSxcclxuICAgICAgb2Zmc2V0WTpcclxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMub2Zmc2V0WVxyXG4gICAgICAgIDogdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldE9mZnNldFkoKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldCBhbGxGb250U3R5bGVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZvbnRUeXBlKTtcclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmVGb250U2l6ZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLnN0eWxlTW9kYWxEYXRhLmZvbnRTaXplKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZVxyXG4gICAgICAgICAgLnNwbGl0KCcgJylbMF1cclxuICAgICAgICAgIC5yZXBsYWNlKCdweCcsICcnKVxyXG4gICAgICA6ICcyMCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdHlsZU1vZGFsRGF0YS5mb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmVGb250U3R5bGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuc3R5bGVNb2RhbERhdGEuZm9udFN0eWxlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZS5zdWJzdHJpbmcoXHJcbiAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlLmluZGV4T2YoJyAnKSArIDFcclxuICAgICAgICApXHJcbiAgICAgIDogRm9udFR5cGUuQXJpYWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdHlsZU1vZGFsRGF0YS5mb250U3R5bGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRGZWF0dXJlRmlsbENvbG9yKCkge1xyXG4gICAgaWYgKCF0aGlzLnN0eWxlTW9kYWxEYXRhLmZpbGxDb2xvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcclxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmRyYXdpbmdTdHlsZS5maWxsXHJcbiAgICAgICAgOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0eWxlTW9kYWxEYXRhLmZpbGxDb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmVTdHJva2VDb2xvcigpIHtcclxuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5zdHJva2VDb2xvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcclxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmRyYXdpbmdTdHlsZS5zdHJva2VcclxuICAgICAgICA6ICdyZ2JhKDE0Myw3LDcsMSknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3R5bGVNb2RhbERhdGEuc3Ryb2tlQ29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRGZWF0dXJlT2Zmc2V0WCgpIHtcclxuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5vZmZzZXRYKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMub2Zmc2V0WFxyXG4gICAgICAgIDogdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldE9mZnNldFgoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0eWxlTW9kYWxEYXRhLm9mZnNldFg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRGZWF0dXJlT2Zmc2V0WSgpIHtcclxuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5vZmZzZXRZKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxyXG4gICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLm9mZnNldFlcclxuICAgICAgOiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0T2Zmc2V0WSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3R5bGVNb2RhbERhdGEub2Zmc2V0WTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbERyYXdpbmcoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybSgpIHtcclxuICAgIHRoaXMuY29uZmlybUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5zdHlsZU1vZGFsRGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxoMiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj57eyAnaWdvLmdlby5zdHlsZS5zdHlsZU1vZGFsJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XHJcbiAgPGRpdlxyXG4gIGNsYXNzPVwiZWRpdGlvbi1kcmF3aW5nIG1hdC10eXBvZ3JhcGh5XCJcclxuICBbaGlkZGVuXT1cImRhdGEuZmVhdHVyZXMubGVuZ3RoID09PSAwXCI+XHJcbiAgICA8Zm9ybVxyXG4gICAgICBjbGFzcz1cImlnby1mb3JtXCJcclxuICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxsLWNvbG9yLXBpY2tlciBtYXQtdHlwb2dyYXBoeVwiICpuZ0lmPVwibGluZXN0cmluZ09ubHkgIT09IHRydWVcIj5cclxuICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN0cm9rZS1wYWxldHRlLWljb25cIiBzdmdJY29uPVwic3F1YXJlXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnN0eWxlLmZpbGwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgICAgIGNsYXNzPVwiZmlsbC1maWVsZFwiXHJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXHJcbiAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcclxuICAgICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnN0eWxlLmNvbG9yUGlja2VyJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBnZXRGZWF0dXJlRmlsbENvbG9yKCkgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAjZmlsbENvbG9ySW5wdXRcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmlsbFwiXHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZ2V0RmVhdHVyZUZpbGxDb2xvcigpXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY29sb3JQaWNrZXJdPVwiZ2V0RmVhdHVyZUZpbGxDb2xvcigpXCJcclxuICAgICAgICAgICAgW2NwV2lkdGhdPVwiJzIwMHB4J1wiXHJcbiAgICAgICAgICAgIFtjcE91dHB1dEZvcm1hdF09XCIncmdiYSdcIlxyXG4gICAgICAgICAgICBbY3BQb3NpdGlvbl09XCInYm90dG9tJ1wiXHJcbiAgICAgICAgICAgIFtjcFBvc2l0aW9uT2Zmc2V0XT1cIictNzUlJ1wiXHJcbiAgICAgICAgICAgIFtjcENhbmNlbEJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2NwQ2FuY2VsQnV0dG9uVGV4dF09XCInaWdvLmdlby5zdHlsZS5jYW5jZWwnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW2NwT0tCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChjb2xvclBpY2tlckNoYW5nZSk9XCJzdHlsZU1vZGFsRGF0YS5maWxsQ29sb3IgPSAkZXZlbnRcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UtY29sb3ItcGlja2VyIG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICA8bWF0LWljb25cclxuICAgICAgICAgICAgY2xhc3M9XCJzdHJva2UtcGFsZXR0ZS1pY29uXCJcclxuICAgICAgICAgICAgc3ZnSWNvbj1cInNxdWFyZS1vdXRsaW5lXCI+XHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAge3snaWdvLmdlby5zdHlsZS5zdHJva2UnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgICAgICAgY2xhc3M9XCJzdHJva2UtZmllbGRcIlxyXG4gICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgZmxvYXRMYWJlbD1cImFsd2F5c1wiXHJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zdHlsZS5jb2xvclBpY2tlcicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgZ2V0RmVhdHVyZVN0cm9rZUNvbG9yKCkgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAjc3Ryb2tlQ29sb3JJbnB1dFxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdHJva2VcIlxyXG4gICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImdldEZlYXR1cmVTdHJva2VDb2xvcigpXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY29sb3JQaWNrZXJdPVwiZ2V0RmVhdHVyZVN0cm9rZUNvbG9yKClcIlxyXG4gICAgICAgICAgICBbY3BXaWR0aF09XCInMjAwcHgnXCJcclxuICAgICAgICAgICAgW2NwUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxyXG4gICAgICAgICAgICBbY3BQb3NpdGlvbk9mZnNldF09XCInLTc1JSdcIlxyXG4gICAgICAgICAgICBbY3BPdXRwdXRGb3JtYXRdPVwiJ3JnYmEnXCJcclxuICAgICAgICAgICAgW2NwQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY3BDYW5jZWxCdXR0b25UZXh0XT1cIidpZ28uZ2VvLnN0eWxlLmNhbmNlbCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInN0eWxlTW9kYWxEYXRhLnN0cm9rZUNvbG9yID0gJGV2ZW50XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiaWdvLWZvcm0taW5wdXQtYm94XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLnN0eWxlLmZvbnRTaXplJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgICN0ZXN0Rm9udFNpemVcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiMTBcIlxyXG4gICAgICAgICAgICBtaW49XCIxMFwiXHJcbiAgICAgICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSA2OVwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJnZXRGZWF0dXJlRm9udFNpemUoKVwiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJzdHlsZU1vZGFsRGF0YS5mb250U2l6ZSA9ICRldmVudC50YXJnZXQudmFsdWVcIj5cclxuICAgICAgICAgIDxzcGFuIG1hdFN1ZmZpeD5weDwvc3Bhbj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiaWdvLWZvcm0taW5wdXQtYm94XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLnN0eWxlLmZvbnRTdHlsZScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgICN0ZXN0Rm9udFN0eWxlXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJnZXRGZWF0dXJlRm9udFN0eWxlKClcIlxyXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInN0eWxlTW9kYWxEYXRhLmZvbnRTdHlsZSA9ICRldmVudC52YWx1ZVwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmb250U2VsZWN0IG9mIGFsbEZvbnRTdHlsZXNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJmb250U2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAge3sgZm9udFNlbGVjdCB9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiaWdvLWZvcm0taW5wdXQtYm94XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLnN0eWxlLm9mZnNldFgnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgI29mZnNldFhJbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDY5XCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cImdldEZlYXR1cmVPZmZzZXRYKClcIlxyXG4gICAgICAgICAgICAoaW5wdXQpPVwic3R5bGVNb2RhbERhdGEub2Zmc2V0WCA9ICRldmVudC50YXJnZXQudmFsdWVcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiaWdvLWZvcm0taW5wdXQtYm94XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLnN0eWxlLm9mZnNldFknIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgI29mZnNldFlJbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDY5XCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cImdldEZlYXR1cmVPZmZzZXRZKClcIlxyXG4gICAgICAgICAgICAoaW5wdXQpPVwic3R5bGVNb2RhbERhdGEub2Zmc2V0WT0gJGV2ZW50LnRhcmdldC52YWx1ZVwiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGJ1dHRvbiBcclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxyXG4gICAgKGNsaWNrKT1cImNhbmNlbERyYXdpbmcoKVwiPnt7J2lnby5nZW8uc3R5bGUuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBcclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCIgXHJcbiAgICAoY2xpY2spPVwiY29uZmlybSgpXCI+T0tcclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './drawing';
2
+ export * from './layer';
3
+ export * from './layer-button';
4
+ export * from './shared';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zdHlsZS1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcmF3aW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXllcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItYnV0dG9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './style-modal-layer.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zdHlsZS1tb2RhbC9sYXllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdHlsZS1tb2RhbC1sYXllci5jb21wb25lbnQnO1xyXG4iXX0=
@@ -0,0 +1,187 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import { asArray as ColorAsArray } from 'ol/color';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/dialog";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "ngx-color-picker";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/material/form-field";
10
+ import * as i6 from "@angular/material/icon";
11
+ import * as i7 from "@angular/material/button";
12
+ import * as i8 from "@angular/material/input";
13
+ import * as i9 from "@angular/material/tooltip";
14
+ import * as i10 from "@ngx-translate/core";
15
+ function StyleModalLayerComponent_div_6_Template(rf, ctx) { if (rf & 1) {
16
+ const _r4 = i0.ɵɵgetCurrentView();
17
+ i0.ɵɵelementStart(0, "div", 13)(1, "span");
18
+ i0.ɵɵelement(2, "mat-icon", 14);
19
+ i0.ɵɵtext(3);
20
+ i0.ɵɵpipe(4, "translate");
21
+ i0.ɵɵelementEnd();
22
+ i0.ɵɵelementStart(5, "mat-form-field", 15);
23
+ i0.ɵɵpipe(6, "translate");
24
+ i0.ɵɵelementStart(7, "mat-label");
25
+ i0.ɵɵtext(8);
26
+ i0.ɵɵelementEnd();
27
+ i0.ɵɵelementStart(9, "input", 16, 17);
28
+ i0.ɵɵlistener("colorPickerChange", function StyleModalLayerComponent_div_6_Template_input_colorPickerChange_9_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.setLayerFillColor($event)); });
29
+ i0.ɵɵpipe(11, "translate");
30
+ i0.ɵɵelementEnd()()();
31
+ } if (rf & 2) {
32
+ const ctx_r0 = i0.ɵɵnextContext();
33
+ i0.ɵɵadvance(3);
34
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 14, "igo.geo.style.fill"), " ");
35
+ i0.ɵɵadvance(2);
36
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(6, 16, "igo.geo.style.colorPicker"));
37
+ i0.ɵɵadvance(3);
38
+ i0.ɵɵtextInterpolate(ctx_r0.getLayerFillColor());
39
+ i0.ɵɵadvance(1);
40
+ i0.ɵɵstyleProp("background", ctx_r0.getLayerFillColor());
41
+ i0.ɵɵproperty("readonly", true)("colorPicker", ctx_r0.getLayerFillColor())("cpWidth", "200px")("cpOutputFormat", "rgba")("cpPosition", "bottom")("cpPositionOffset", "-75%")("cpCancelButton", true)("cpCancelButtonText", i0.ɵɵpipeBind1(11, 18, "igo.geo.style.cancel"))("cpOKButton", true);
42
+ } }
43
+ export class StyleModalLayerComponent {
44
+ constructor(dialogRef, formBuilder, data) {
45
+ this.dialogRef = dialogRef;
46
+ this.formBuilder = formBuilder;
47
+ this.data = data;
48
+ this.confirmFlag = false;
49
+ this.defaultValues = {
50
+ fillColor: 'rgba(255,255,255,0.4)',
51
+ strokeColor: 'rgba(143,7,7,1)'
52
+ };
53
+ this.buildForm();
54
+ }
55
+ get layerOlStyle() {
56
+ const style = this.data.layer.ol.getStyle();
57
+ return style instanceof Function ? undefined : style.clone();
58
+ }
59
+ ngOnInit() {
60
+ this.linestringOnly = true;
61
+ for (const feature of this.data.layer.ol.getSource().getFeatures()) {
62
+ if (feature.getGeometry().getType() !== 'LineString') {
63
+ this.linestringOnly = false;
64
+ }
65
+ }
66
+ this.buildStyleData();
67
+ }
68
+ buildForm() {
69
+ this.form = this.formBuilder.group({
70
+ fill: [''],
71
+ stroke: ['']
72
+ });
73
+ }
74
+ buildStyleData() {
75
+ this.styleModalData = {
76
+ fillColor: this.getLayerFillColor(),
77
+ strokeColor: this.getLayerStrokeColor()
78
+ };
79
+ this.initialValues = {
80
+ fillColor: this.getLayerFillColor(),
81
+ strokeColor: this.getLayerStrokeColor()
82
+ };
83
+ }
84
+ getLayerFillColor() {
85
+ let fillColor = this.defaultValues.fillColor;
86
+ const style = this.layerOlStyle;
87
+ if (style?.getFill()?.getColor()) {
88
+ const arrayColor = style.getFill().getColor();
89
+ fillColor = `rgba(${arrayColor[0]},${arrayColor[1]},${arrayColor[2]},${arrayColor[3] || 0.4})`;
90
+ }
91
+ return fillColor;
92
+ }
93
+ getLayerStrokeColor() {
94
+ let strokeColor = this.defaultValues.strokeColor;
95
+ const style = this.layerOlStyle;
96
+ if (style?.getStroke()?.getColor()) {
97
+ const arrayColor = style.getStroke().getColor();
98
+ strokeColor = `rgba(${arrayColor[0]},${arrayColor[1]},${arrayColor[2]},${arrayColor[3] || 1})`;
99
+ }
100
+ return strokeColor;
101
+ }
102
+ setLayerFillColor(event) {
103
+ const cAA = ColorAsArray(event);
104
+ const s = this.layerOlStyle.clone();
105
+ s.getImage().getFill().setColor(cAA);
106
+ s.getFill().setColor(cAA);
107
+ this.data.layer.ol.setStyle(s);
108
+ this.styleModalData.fillColor = event;
109
+ }
110
+ setLayerStrokeColor(event) {
111
+ const cAA = ColorAsArray(event);
112
+ const s = this.layerOlStyle.clone();
113
+ s.getImage().getStroke().setColor(cAA);
114
+ s.getStroke().setColor(cAA);
115
+ this.data.layer.ol.setStyle(s);
116
+ this.styleModalData.strokeColor = event;
117
+ }
118
+ cancel() {
119
+ this.dialogRef.close();
120
+ this.setLayerFillColor(this.initialValues.fillColor);
121
+ this.setLayerStrokeColor(this.initialValues.strokeColor);
122
+ }
123
+ confirm() {
124
+ this.confirmFlag = true;
125
+ this.dialogRef.close(this.styleModalData);
126
+ }
127
+ }
128
+ StyleModalLayerComponent.ɵfac = function StyleModalLayerComponent_Factory(t) { return new (t || StyleModalLayerComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
129
+ StyleModalLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StyleModalLayerComponent, selectors: [["igo-style-modal-layer"]], inputs: { confirmFlag: "confirmFlag" }, decls: 25, vars: 28, consts: [["mat-dialog-content", ""], ["mat-dialog-title", "", 1, "mat-typography"], [1, "edition-drawing", "mat-typography"], [1, "igo-form", 3, "formGroup"], ["class", "fill-color-picker mat-typography", 4, "ngIf"], [1, "stroke-color-picker", "mat-typography"], ["svgIcon", "square-outline", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "stroke-field", 3, "matTooltip"], ["formControlName", "stroke", "matInput", "", "type", "text", 3, "readonly", "colorPicker", "cpWidth", "cpPosition", "cpPositionOffset", "cpOutputFormat", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], ["strokeColorInput", ""], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click"], [1, "fill-color-picker", "mat-typography"], ["svgIcon", "square", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "fill-field", 3, "matTooltip"], ["formControlName", "fill", "matInput", "", "type", "text", 3, "readonly", "colorPicker", "cpWidth", "cpOutputFormat", "cpPosition", "cpPositionOffset", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], ["fillColorInput", ""]], template: function StyleModalLayerComponent_Template(rf, ctx) { if (rf & 1) {
130
+ i0.ɵɵelementStart(0, "div", 0)(1, "h2", 1);
131
+ i0.ɵɵtext(2);
132
+ i0.ɵɵpipe(3, "translate");
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelementStart(4, "div", 2)(5, "form", 3);
135
+ i0.ɵɵtemplate(6, StyleModalLayerComponent_div_6_Template, 12, 20, "div", 4);
136
+ i0.ɵɵelementStart(7, "div", 5)(8, "span");
137
+ i0.ɵɵelement(9, "mat-icon", 6);
138
+ i0.ɵɵtext(10);
139
+ i0.ɵɵpipe(11, "translate");
140
+ i0.ɵɵelementEnd();
141
+ i0.ɵɵelementStart(12, "mat-form-field", 7);
142
+ i0.ɵɵpipe(13, "translate");
143
+ i0.ɵɵelementStart(14, "mat-label");
144
+ i0.ɵɵtext(15);
145
+ i0.ɵɵelementEnd();
146
+ i0.ɵɵelementStart(16, "input", 8, 9);
147
+ i0.ɵɵlistener("colorPickerChange", function StyleModalLayerComponent_Template_input_colorPickerChange_16_listener($event) { return ctx.setLayerStrokeColor($event); });
148
+ i0.ɵɵpipe(18, "translate");
149
+ i0.ɵɵelementEnd()()()()()();
150
+ i0.ɵɵelementStart(19, "div", 10)(20, "button", 11);
151
+ i0.ɵɵlistener("click", function StyleModalLayerComponent_Template_button_click_20_listener() { return ctx.cancel(); });
152
+ i0.ɵɵtext(21);
153
+ i0.ɵɵpipe(22, "translate");
154
+ i0.ɵɵelementEnd();
155
+ i0.ɵɵelementStart(23, "button", 12);
156
+ i0.ɵɵlistener("click", function StyleModalLayerComponent_Template_button_click_23_listener() { return ctx.confirm(); });
157
+ i0.ɵɵtext(24, "OK ");
158
+ i0.ɵɵelementEnd()();
159
+ } if (rf & 2) {
160
+ i0.ɵɵadvance(2);
161
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 18, "igo.geo.style.styleModal"));
162
+ i0.ɵɵadvance(3);
163
+ i0.ɵɵproperty("formGroup", ctx.form);
164
+ i0.ɵɵadvance(1);
165
+ i0.ɵɵproperty("ngIf", ctx.linestringOnly !== true);
166
+ i0.ɵɵadvance(4);
167
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 20, "igo.geo.style.stroke"), " ");
168
+ i0.ɵɵadvance(2);
169
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(13, 22, "igo.geo.style.colorPicker"));
170
+ i0.ɵɵadvance(3);
171
+ i0.ɵɵtextInterpolate(ctx.getLayerStrokeColor());
172
+ i0.ɵɵadvance(1);
173
+ i0.ɵɵstyleProp("background", ctx.getLayerStrokeColor());
174
+ i0.ɵɵproperty("readonly", true)("colorPicker", ctx.getLayerStrokeColor())("cpWidth", "200px")("cpPosition", "bottom")("cpPositionOffset", "-75%")("cpOutputFormat", "rgba")("cpCancelButton", true)("cpCancelButtonText", i0.ɵɵpipeBind1(18, 24, "igo.geo.style.cancel"))("cpOKButton", true);
175
+ i0.ɵɵadvance(5);
176
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(22, 26, "igo.geo.style.cancel"), " ");
177
+ } }, dependencies: [i3.ColorPickerDirective, i4.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i5.MatFormField, i5.MatLabel, i6.MatIcon, i7.MatButton, i8.MatInput, i9.MatTooltip, i2.FormGroupDirective, i2.FormControlName, i10.TranslatePipe], styles: ["h2[_ngcontent-%COMP%]{font-weight:700;font-size:large}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}.edition-drawing[_ngcontent-%COMP%]{padding:10px 0}.igo-input-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%] + .mat-form-field[_ngcontent-%COMP%]{margin-left:8px}.igo-form-input-box[_ngcontent-%COMP%]{width:150px}button[_ngcontent-%COMP%]{margin-right:5px}"] });
178
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleModalLayerComponent, [{
179
+ type: Component,
180
+ args: [{ selector: 'igo-style-modal-layer', template: "<div mat-dialog-content>\r\n <h2 mat-dialog-title class=\"mat-typography\">{{ 'igo.geo.style.styleModal' | translate }}</h2>\r\n <div\r\n class=\"edition-drawing mat-typography\">\r\n <!-- [hidden]=\"data.features.length === 0\"> -->\r\n <form\r\n class=\"igo-form\"\r\n [formGroup]=\"form\">\r\n <div class=\"fill-color-picker mat-typography\" *ngIf=\"linestringOnly !== true\">\r\n <span>\r\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square\"></mat-icon>\r\n {{ 'igo.geo.style.fill' | translate }}\r\n </span>\r\n\r\n <mat-form-field\r\n class=\"fill-field\"\r\n appearance=\"outline\"\r\n floatLabel=\"always\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.style.colorPicker' | translate\">\r\n <mat-label>{{ getLayerFillColor() }}</mat-label>\r\n <input\r\n #fillColorInput\r\n formControlName=\"fill\"\r\n matInput\r\n type=\"text\"\r\n [style.background]=\"getLayerFillColor()\"\r\n [readonly]=\"true\"\r\n [colorPicker]=\"getLayerFillColor()\"\r\n [cpWidth]=\"'200px'\"\r\n [cpOutputFormat]=\"'rgba'\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-75%'\"\r\n [cpCancelButton]=\"true\"\r\n [cpCancelButtonText]=\"'igo.geo.style.cancel' | translate\"\r\n [cpOKButton]=\"true\"\r\n (colorPickerChange)=\"setLayerFillColor($event)\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"stroke-color-picker mat-typography\">\r\n <span>\r\n <mat-icon\r\n class=\"stroke-palette-icon\"\r\n svgIcon=\"square-outline\">\r\n </mat-icon>\r\n {{'igo.geo.style.stroke' | translate}}\r\n </span>\r\n\r\n <mat-form-field\r\n class=\"stroke-field\"\r\n appearance=\"outline\"\r\n floatLabel=\"always\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.style.colorPicker' | translate\">\r\n <mat-label>{{ getLayerStrokeColor() }}</mat-label>\r\n <input\r\n #strokeColorInput\r\n formControlName=\"stroke\"\r\n matInput\r\n type=\"text\"\r\n [style.background]=\"getLayerStrokeColor()\"\r\n [readonly]=\"true\"\r\n [colorPicker]=\"getLayerStrokeColor()\"\r\n [cpWidth]=\"'200px'\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-75%'\"\r\n [cpOutputFormat]=\"'rgba'\"\r\n [cpCancelButton]=\"true\"\r\n [cpCancelButtonText]=\"'igo.geo.style.cancel' | translate\"\r\n [cpOKButton]=\"true\"\r\n (colorPickerChange)=\"setLayerStrokeColor($event)\">\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button \r\n mat-raised-button \r\n (click)=\"cancel()\">{{'igo.geo.style.cancel' | translate}}\r\n </button>\r\n <button \r\n mat-raised-button \r\n color=\"primary\" \r\n (click)=\"confirm()\">OK\r\n </button>\r\n</div>\r\n", styles: ["h2{font-weight:700;font-size:large}.igo-form{padding:10px}.fill-field,.stroke-field{width:130px}.fill-color-picker mat-icon{position:relative;top:7px}.fill-color-picker mat-form-field{left:8px}.stroke-color-picker mat-icon{position:relative;top:7px}.stroke-color-picker mat-form-field{left:35px}.box{width:25px;height:25px}.edition-drawing{padding:10px 0}.igo-input-container .mat-form-field+.mat-form-field{margin-left:8px}.igo-form-input-box{width:150px}button{margin-right:5px}\n"] }]
181
+ }], function () { return [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }, { type: undefined, decorators: [{
182
+ type: Inject,
183
+ args: [MAT_DIALOG_DATA]
184
+ }] }]; }, { confirmFlag: [{
185
+ type: Input
186
+ }] }); })();
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbW9kYWwtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtbW9kYWwvbGF5ZXIvc3R5bGUtbW9kYWwtbGF5ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtbW9kYWwvbGF5ZXIvc3R5bGUtbW9kYWwtbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDSTdDLCtCQUE4RSxXQUFBO0lBRTFFLCtCQUFrRTtJQUNsRSxZQUNGOztJQUFBLGlCQUFPO0lBRVAsMENBTXlEOztJQUN2RCxpQ0FBVztJQUFBLFlBQXlCO0lBQUEsaUJBQVk7SUFDaEQscUNBZWtEO0lBQWhELGtNQUFxQixlQUFBLGdDQUF5QixDQUFBLElBQUM7O0lBZmpELGlCQWVrRCxFQUFBLEVBQUE7OztJQTFCbEQsZUFDRjtJQURFLDRFQUNGO0lBUUUsZUFBc0Q7SUFBdEQsK0VBQXNEO0lBQzNDLGVBQXlCO0lBQXpCLGdEQUF5QjtJQU1sQyxlQUF3QztJQUF4Qyx3REFBd0M7SUFDeEMsK0JBQWlCLDJDQUFBLG9CQUFBLDBCQUFBLHdCQUFBLDRCQUFBLHdCQUFBLHNFQUFBLG9CQUFBOztBRGY3QixNQUFNLE9BQU8sd0JBQXdCO0lBb0JuQyxZQUNTLFNBQWlELEVBQ2hELFdBQStCLEVBQ1AsSUFBd0I7UUFGakQsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDaEQsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ1AsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUF0QmpELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUzlCLGtCQUFhLEdBQW1CO1lBQ3RDLFNBQVMsRUFBRSx1QkFBdUI7WUFDbEMsV0FBVyxFQUFFLGlCQUFpQjtTQUMvQixDQUFDO1FBV0UsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFWSCxJQUFJLFlBQVk7UUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLFlBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLEtBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQVNELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2FBQzdCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFFeEIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNWLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNuQyxXQUFXLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1NBQ3hDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxHQUFFO1lBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDbkMsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUN4QyxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDaEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlDLFNBQVMsR0FBRyxRQUFRLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBRyxHQUFHLEdBQUcsQ0FBQztTQUMvRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNsQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEQsV0FBVyxHQUFHLFFBQVEsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFHLENBQUMsR0FBRyxDQUFDO1NBQy9GO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQUs7UUFDckIsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLFFBQVEsRUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxRQUFRLEVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7Z0dBdkdVLHdCQUF3QiwyR0F1QnpCLGVBQWU7MkVBdkJkLHdCQUF3QjtRQ2JyQyw4QkFBd0IsWUFBQTtRQUNzQixZQUE0Qzs7UUFBQSxpQkFBSztRQUM3Riw4QkFDdUMsY0FBQTtRQUtuQywyRUErQk07UUFFTiw4QkFBZ0QsV0FBQTtRQUU1Qyw4QkFHVztRQUNYLGFBQ0Y7O1FBQUEsaUJBQU87UUFFUCwwQ0FNeUQ7O1FBQ3ZELGtDQUFXO1FBQUEsYUFBMkI7UUFBQSxpQkFBWTtRQUNsRCxvQ0Flb0Q7UUFBbEQsbUlBQXFCLCtCQUEyQixJQUFDOztRQWZuRCxpQkFlb0QsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBO1FBTTlELGdDQUF3QixrQkFBQTtRQUdwQixzR0FBUyxZQUFRLElBQUM7UUFBQyxhQUNyQjs7UUFBQSxpQkFBUztRQUNULG1DQUdzQjtRQUFwQixzR0FBUyxhQUFTLElBQUM7UUFBQyxvQkFDdEI7UUFBQSxpQkFBUyxFQUFBOztRQXZGbUMsZUFBNEM7UUFBNUMsdUVBQTRDO1FBTXBGLGVBQWtCO1FBQWxCLG9DQUFrQjtRQUM2QixlQUE2QjtRQUE3QixrREFBNkI7UUF1Q3hFLGVBQ0Y7UUFERSwrRUFDRjtRQVFFLGVBQXNEO1FBQXRELGdGQUFzRDtRQUMzQyxlQUEyQjtRQUEzQiwrQ0FBMkI7UUFNcEMsZUFBMEM7UUFBMUMsdURBQTBDO1FBQzFDLCtCQUFpQiwwQ0FBQSxvQkFBQSx3QkFBQSw0QkFBQSwwQkFBQSx3QkFBQSxzRUFBQSxvQkFBQTtRQWtCTixlQUNyQjtRQURxQiw4RUFDckI7O3VGRHRFVyx3QkFBd0I7Y0FMcEMsU0FBUzsyQkFDRSx1QkFBdUI7O3NCQTJCOUIsTUFBTTt1QkFBQyxlQUFlO3dCQXRCaEIsV0FBVztrQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgYXNBcnJheSBhcyBDb2xvckFzQXJyYXkgfSBmcm9tICdvbC9jb2xvcic7XHJcbmltcG9ydCBvbFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcclxuaW1wb3J0IHsgTGF5ZXJNYXREaWFsb2dEYXRhLCBTdHlsZU1vZGFsRGF0YSB9IGZyb20gJy4uL3NoYXJlZC9zdHlsZS1tb2RhbC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc3R5bGUtbW9kYWwtbGF5ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHlsZS1tb2RhbC1sYXllci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUtbW9kYWwtbGF5ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVNb2RhbExheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb25maXJtRmxhZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgcHVibGljIHN0eWxlTW9kYWxEYXRhOiBTdHlsZU1vZGFsRGF0YTtcclxuICBwdWJsaWMgbGluZXN0cmluZ09ubHk6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbFZhbHVlczogU3R5bGVNb2RhbERhdGE7XHJcblxyXG4gIHByaXZhdGUgZGVmYXVsdFZhbHVlczogU3R5bGVNb2RhbERhdGEgPSB7XHJcbiAgICBmaWxsQ29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknLFxyXG4gICAgc3Ryb2tlQ29sb3I6ICdyZ2JhKDE0Myw3LDcsMSknXHJcbiAgfTtcclxuXHJcbiAgZ2V0IGxheWVyT2xTdHlsZSgpOiBvbFN0eWxlIHtcclxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kYXRhLmxheWVyLm9sLmdldFN0eWxlKCk7XHJcbiAgICByZXR1cm4gc3R5bGUgaW5zdGFuY2VvZiBGdW5jdGlvbiA/IHVuZGVmaW5lZCA6IChzdHlsZSBhcyBvbFN0eWxlKS5jbG9uZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U3R5bGVNb2RhbExheWVyQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogTGF5ZXJNYXREaWFsb2dEYXRhKSB7XHJcbiAgICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5saW5lc3RyaW5nT25seSA9IHRydWU7XHJcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgdGhpcy5kYXRhLmxheWVyLm9sLmdldFNvdXJjZSgpLmdldEZlYXR1cmVzKCkpIHtcclxuICAgICAgaWYgKGZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5nZXRUeXBlKCkgIT09ICdMaW5lU3RyaW5nJykge1xyXG4gICAgICAgIHRoaXMubGluZXN0cmluZ09ubHkgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5idWlsZFN0eWxlRGF0YSgpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRGb3JtKCkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIGZpbGw6IFsnJ10sXHJcbiAgICAgIHN0cm9rZTogWycnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU3R5bGVEYXRhKCkge1xyXG4gICAgdGhpcy5zdHlsZU1vZGFsRGF0YSA9IHtcclxuICAgICAgZmlsbENvbG9yOiB0aGlzLmdldExheWVyRmlsbENvbG9yKCksXHJcbiAgICAgIHN0cm9rZUNvbG9yOiB0aGlzLmdldExheWVyU3Ryb2tlQ29sb3IoKVxyXG4gICAgfTtcclxuICAgIHRoaXMuaW5pdGlhbFZhbHVlcyA9e1xyXG4gICAgICBmaWxsQ29sb3I6IHRoaXMuZ2V0TGF5ZXJGaWxsQ29sb3IoKSxcclxuICAgICAgc3Ryb2tlQ29sb3I6IHRoaXMuZ2V0TGF5ZXJTdHJva2VDb2xvcigpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0TGF5ZXJGaWxsQ29sb3IoKSB7XHJcbiAgICBsZXQgZmlsbENvbG9yID0gdGhpcy5kZWZhdWx0VmFsdWVzLmZpbGxDb2xvcjtcclxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5sYXllck9sU3R5bGU7XHJcbiAgICBpZiAoc3R5bGU/LmdldEZpbGwoKT8uZ2V0Q29sb3IoKSkge1xyXG4gICAgICBjb25zdCBhcnJheUNvbG9yID0gc3R5bGUuZ2V0RmlsbCgpLmdldENvbG9yKCk7XHJcbiAgICAgIGZpbGxDb2xvciA9IGByZ2JhKCR7YXJyYXlDb2xvclswXX0sJHthcnJheUNvbG9yWzFdfSwke2FycmF5Q29sb3JbMl19LCR7YXJyYXlDb2xvclszXXx8IDAuNH0pYDtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWxsQ29sb3I7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllclN0cm9rZUNvbG9yKCkge1xyXG4gICAgbGV0IHN0cm9rZUNvbG9yID0gdGhpcy5kZWZhdWx0VmFsdWVzLnN0cm9rZUNvbG9yO1xyXG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmxheWVyT2xTdHlsZTtcclxuICAgIGlmIChzdHlsZT8uZ2V0U3Ryb2tlKCk/LmdldENvbG9yKCkpIHtcclxuICAgICAgY29uc3QgYXJyYXlDb2xvciA9IHN0eWxlLmdldFN0cm9rZSgpLmdldENvbG9yKCk7XHJcbiAgICAgIHN0cm9rZUNvbG9yID0gYHJnYmEoJHthcnJheUNvbG9yWzBdfSwke2FycmF5Q29sb3JbMV19LCR7YXJyYXlDb2xvclsyXX0sJHthcnJheUNvbG9yWzNdfHwgMX0pYDtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHJva2VDb2xvcjtcclxuICB9XHJcblxyXG4gIHNldExheWVyRmlsbENvbG9yKGV2ZW50KSB7XHJcbiAgICBjb25zdCBjQUEgPSBDb2xvckFzQXJyYXkoZXZlbnQpO1xyXG4gICAgY29uc3QgcyA9IHRoaXMubGF5ZXJPbFN0eWxlLmNsb25lKCk7XHJcbiAgICAocy5nZXRJbWFnZSgpIGFzIGFueSkuZ2V0RmlsbCgpLnNldENvbG9yKGNBQSk7XHJcbiAgICBzLmdldEZpbGwoKS5zZXRDb2xvcihjQUEpO1xyXG4gICAgdGhpcy5kYXRhLmxheWVyLm9sLnNldFN0eWxlKHMpO1xyXG4gICAgdGhpcy5zdHlsZU1vZGFsRGF0YS5maWxsQ29sb3IgPSBldmVudDtcclxuICB9XHJcblxyXG4gIHNldExheWVyU3Ryb2tlQ29sb3IoZXZlbnQpIHtcclxuICAgIGNvbnN0IGNBQSA9IENvbG9yQXNBcnJheShldmVudCk7XHJcbiAgICBjb25zdCBzID0gdGhpcy5sYXllck9sU3R5bGUuY2xvbmUoKTtcclxuICAgIChzLmdldEltYWdlKCkgYXMgYW55KS5nZXRTdHJva2UoKS5zZXRDb2xvcihjQUEpO1xyXG4gICAgcy5nZXRTdHJva2UoKS5zZXRDb2xvcihjQUEpO1xyXG4gICAgdGhpcy5kYXRhLmxheWVyLm9sLnNldFN0eWxlKHMpO1xyXG4gICAgdGhpcy5zdHlsZU1vZGFsRGF0YS5zdHJva2VDb2xvciA9IGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIHRoaXMuc2V0TGF5ZXJGaWxsQ29sb3IodGhpcy5pbml0aWFsVmFsdWVzLmZpbGxDb2xvcik7XHJcbiAgICB0aGlzLnNldExheWVyU3Ryb2tlQ29sb3IodGhpcy5pbml0aWFsVmFsdWVzLnN0cm9rZUNvbG9yKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0oKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1GbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuc3R5bGVNb2RhbERhdGEpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8aDIgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3sgJ2lnby5nZW8uc3R5bGUuc3R5bGVNb2RhbCcgfCB0cmFuc2xhdGUgfX08L2gyPlxyXG4gIDxkaXZcclxuICBjbGFzcz1cImVkaXRpb24tZHJhd2luZyBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDwhLS0gW2hpZGRlbl09XCJkYXRhLmZlYXR1cmVzLmxlbmd0aCA9PT0gMFwiPiAtLT5cclxuICAgIDxmb3JtXHJcbiAgICAgIGNsYXNzPVwiaWdvLWZvcm1cIlxyXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbGwtY29sb3ItcGlja2VyIG1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCJsaW5lc3RyaW5nT25seSAhPT0gdHJ1ZVwiPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3Ryb2tlLXBhbGV0dGUtaWNvblwiIHN2Z0ljb249XCJzcXVhcmVcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uc3R5bGUuZmlsbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgICAgICAgY2xhc3M9XCJmaWxsLWZpZWxkXCJcclxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcclxuICAgICAgICAgIGZsb2F0TGFiZWw9XCJhbHdheXNcIlxyXG4gICAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc3R5bGUuY29sb3JQaWNrZXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IGdldExheWVyRmlsbENvbG9yKCkgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAjZmlsbENvbG9ySW5wdXRcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmlsbFwiXHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZ2V0TGF5ZXJGaWxsQ29sb3IoKVwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2NvbG9yUGlja2VyXT1cImdldExheWVyRmlsbENvbG9yKClcIlxyXG4gICAgICAgICAgICBbY3BXaWR0aF09XCInMjAwcHgnXCJcclxuICAgICAgICAgICAgW2NwT3V0cHV0Rm9ybWF0XT1cIidyZ2JhJ1wiXHJcbiAgICAgICAgICAgIFtjcFBvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgICAgICAgICAgW2NwUG9zaXRpb25PZmZzZXRdPVwiJy03NSUnXCJcclxuICAgICAgICAgICAgW2NwQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY3BDYW5jZWxCdXR0b25UZXh0XT1cIidpZ28uZ2VvLnN0eWxlLmNhbmNlbCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInNldExheWVyRmlsbENvbG9yKCRldmVudClcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UtY29sb3ItcGlja2VyIG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICA8bWF0LWljb25cclxuICAgICAgICAgICAgY2xhc3M9XCJzdHJva2UtcGFsZXR0ZS1pY29uXCJcclxuICAgICAgICAgICAgc3ZnSWNvbj1cInNxdWFyZS1vdXRsaW5lXCI+XHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAge3snaWdvLmdlby5zdHlsZS5zdHJva2UnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgICAgICAgY2xhc3M9XCJzdHJva2UtZmllbGRcIlxyXG4gICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgZmxvYXRMYWJlbD1cImFsd2F5c1wiXHJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zdHlsZS5jb2xvclBpY2tlcicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgZ2V0TGF5ZXJTdHJva2VDb2xvcigpIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgI3N0cm9rZUNvbG9ySW5wdXRcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3Ryb2tlXCJcclxuICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJnZXRMYXllclN0cm9rZUNvbG9yKClcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtjb2xvclBpY2tlcl09XCJnZXRMYXllclN0cm9rZUNvbG9yKClcIlxyXG4gICAgICAgICAgICBbY3BXaWR0aF09XCInMjAwcHgnXCJcclxuICAgICAgICAgICAgW2NwUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxyXG4gICAgICAgICAgICBbY3BQb3NpdGlvbk9mZnNldF09XCInLTc1JSdcIlxyXG4gICAgICAgICAgICBbY3BPdXRwdXRGb3JtYXRdPVwiJ3JnYmEnXCJcclxuICAgICAgICAgICAgW2NwQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY3BDYW5jZWxCdXR0b25UZXh0XT1cIidpZ28uZ2VvLnN0eWxlLmNhbmNlbCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInNldExheWVyU3Ryb2tlQ29sb3IoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGJ1dHRvbiBcclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxyXG4gICAgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3snaWdvLmdlby5zdHlsZS5jYW5jZWwnIHwgdHJhbnNsYXRlfX1cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIFxyXG4gICAgbWF0LXJhaXNlZC1idXR0b24gXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIiBcclxuICAgIChjbGljayk9XCJjb25maXJtKClcIj5PS1xyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './style-modal-layer-button.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zdHlsZS1tb2RhbC9sYXllci1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3R5bGUtbW9kYWwtbGF5ZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbiJdfQ==