@igo2/geo 18.0.0 → 18.0.1-next.2
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.
- package/fesm2022/igo2-geo.mjs +684 -709
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/style/style-list/style-list.provider.d.ts +1 -8
- package/lib/style/style-list/style-list.service.d.ts +1 -1
- package/package.json +15 -17
- package/src/lib/layer/layer-list/layer-list.theme.scss +2 -1
- package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
- package/src/style/style.scss +1 -1
- package/esm2022/igo2-geo.mjs +0 -5
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -234
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -272
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -246
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -19
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -136
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -60
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +0 -232
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +0 -24
- package/esm2022/lib/catalog/catalog-library/index.mjs +0 -4
- package/esm2022/lib/catalog/catalog.module.mjs +0 -26
- package/esm2022/lib/catalog/index.mjs +0 -6
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +0 -32
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +0 -16
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +0 -2
- package/esm2022/lib/catalog/shared/catalog.service.mjs +0 -706
- package/esm2022/lib/catalog/shared/catalogs.mjs +0 -75
- package/esm2022/lib/catalog/shared/index.mjs +0 -5
- package/esm2022/lib/datasource/index.mjs +0 -3
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +0 -17
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +0 -441
- package/esm2022/lib/datasource/shared/datasource.service.mjs +0 -258
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -222
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +0 -118
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -24
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +0 -3
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +0 -41
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +0 -52
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -70
- package/esm2022/lib/datasource/shared/datasources/index.mjs +0 -36
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -33
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +0 -14
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -60
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -17
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -56
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -137
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +0 -170
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +0 -227
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -224
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -18
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -11
- package/esm2022/lib/datasource/shared/index.mjs +0 -6
- package/esm2022/lib/datasource/shared/options/index.mjs +0 -5
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +0 -15
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +0 -85
- package/esm2022/lib/datasource/shared/options/options.service.mjs +0 -3
- package/esm2022/lib/datasource/utils/index.mjs +0 -2
- package/esm2022/lib/datasource/utils/tilegrid.mjs +0 -20
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -246
- package/esm2022/lib/directions/directions-buttons/index.mjs +0 -2
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -312
- package/esm2022/lib/directions/directions-inputs/index.mjs +0 -2
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +0 -192
- package/esm2022/lib/directions/directions-results/index.mjs +0 -2
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +0 -5
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +0 -3
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +0 -23
- package/esm2022/lib/directions/directions-sources/index.mjs +0 -5
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +0 -159
- package/esm2022/lib/directions/directions.component.mjs +0 -437
- package/esm2022/lib/directions/directions.module.mjs +0 -46
- package/esm2022/lib/directions/directions.provider.mjs +0 -16
- package/esm2022/lib/directions/index.mjs +0 -8
- package/esm2022/lib/directions/shared/directions-source.service.mjs +0 -18
- package/esm2022/lib/directions/shared/directions.enum.mjs +0 -72
- package/esm2022/lib/directions/shared/directions.interface.mjs +0 -2
- package/esm2022/lib/directions/shared/directions.service.mjs +0 -239
- package/esm2022/lib/directions/shared/directions.utils.mjs +0 -522
- package/esm2022/lib/directions/shared/index.mjs +0 -6
- package/esm2022/lib/directions/shared/store.mjs +0 -21
- package/esm2022/lib/download/download-button/download-button.component.mjs +0 -48
- package/esm2022/lib/download/download-button/index.mjs +0 -2
- package/esm2022/lib/download/download.module.mjs +0 -24
- package/esm2022/lib/download/index.mjs +0 -3
- package/esm2022/lib/download/shared/download.interface.mjs +0 -2
- package/esm2022/lib/download/shared/download.service.mjs +0 -67
- package/esm2022/lib/download/shared/index.mjs +0 -3
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +0 -42
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +0 -421
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +0 -28
- package/esm2022/lib/draw/draw/draw.component.mjs +0 -1136
- package/esm2022/lib/draw/draw/draw.module.mjs +0 -19
- package/esm2022/lib/draw/drawingTool.module.mjs +0 -18
- package/esm2022/lib/draw/index.mjs +0 -3
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +0 -30
- package/esm2022/lib/draw/shared/draw.enum.mjs +0 -21
- package/esm2022/lib/draw/shared/draw.interface.mjs +0 -2
- package/esm2022/lib/draw/shared/draw.utils.mjs +0 -125
- package/esm2022/lib/draw/shared/index.mjs +0 -5
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +0 -306
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +0 -56
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +0 -26
- package/esm2022/lib/feature/feature-details/index.mjs +0 -4
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +0 -101
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +0 -19
- package/esm2022/lib/feature/feature.module.mjs +0 -26
- package/esm2022/lib/feature/index.mjs +0 -5
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +0 -28
- package/esm2022/lib/feature/shared/feature.enums.mjs +0 -9
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +0 -2
- package/esm2022/lib/feature/shared/feature.utils.mjs +0 -332
- package/esm2022/lib/feature/shared/index.mjs +0 -8
- package/esm2022/lib/feature/shared/store.mjs +0 -143
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +0 -216
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +0 -119
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +0 -99
- package/esm2022/lib/feature/shared/strategies/index.mjs +0 -8
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +0 -103
- package/esm2022/lib/feature/shared/strategies/loading.mjs +0 -136
- package/esm2022/lib/feature/shared/strategies/search.mjs +0 -158
- package/esm2022/lib/feature/shared/strategies/selection.mjs +0 -385
- package/esm2022/lib/feature/shared/strategies.utils.mjs +0 -37
- package/esm2022/lib/filter/filter.module.mjs +0 -131
- package/esm2022/lib/filter/index.mjs +0 -17
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -141
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -325
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -787
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +0 -3
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -201
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -665
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -66
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -244
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +0 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -39
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -32
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +0 -63
- package/esm2022/lib/filter/shared/index.mjs +0 -12
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +0 -30
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/ogc-filter.mjs +0 -756
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +0 -47
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +0 -23
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +0 -282
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +0 -13
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/time-filter.service.mjs +0 -107
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -875
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -191
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -120
- package/esm2022/lib/filter/time-filter-button/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -70
- package/esm2022/lib/filter/time-filter-form/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -537
- package/esm2022/lib/filter/time-filter-item/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -90
- package/esm2022/lib/filter/time-filter-list/index.mjs +0 -3
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -39
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -24
- package/esm2022/lib/geo.module.mjs +0 -63
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -559
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -170
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -24
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +0 -4
- package/esm2022/lib/geometry/geometry.module.mjs +0 -18
- package/esm2022/lib/geometry/index.mjs +0 -3
- package/esm2022/lib/geometry/shared/controls/draw.mjs +0 -340
- package/esm2022/lib/geometry/shared/controls/index.mjs +0 -4
- package/esm2022/lib/geometry/shared/controls/modify.mjs +0 -538
- package/esm2022/lib/geometry/shared/controls/slice.mjs +0 -190
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +0 -24
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +0 -2
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +0 -113
- package/esm2022/lib/geometry/shared/index.mjs +0 -5
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +0 -49
- package/esm2022/lib/import-export/export-button/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +0 -876
- package/esm2022/lib/import-export/import-export/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export.module.mjs +0 -31
- package/esm2022/lib/import-export/index.mjs +0 -5
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +0 -114
- package/esm2022/lib/import-export/shared/export.errors.mjs +0 -15
- package/esm2022/lib/import-export/shared/export.interface.mjs +0 -2
- package/esm2022/lib/import-export/shared/export.service.mjs +0 -378
- package/esm2022/lib/import-export/shared/export.type.mjs +0 -13
- package/esm2022/lib/import-export/shared/export.utils.mjs +0 -51
- package/esm2022/lib/import-export/shared/import.errors.mjs +0 -39
- package/esm2022/lib/import-export/shared/import.interface.mjs +0 -2
- package/esm2022/lib/import-export/shared/import.service.mjs +0 -221
- package/esm2022/lib/import-export/shared/import.utils.mjs +0 -203
- package/esm2022/lib/import-export/shared/index.mjs +0 -11
- package/esm2022/lib/layer/index.mjs +0 -16
- package/esm2022/lib/layer/layer-group/index.mjs +0 -2
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +0 -103
- package/esm2022/lib/layer/layer-item/index.mjs +0 -2
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +0 -196
- package/esm2022/lib/layer/layer-legend/index.mjs +0 -2
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +0 -287
- package/esm2022/lib/layer/layer-legend-item/index.mjs +0 -2
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -85
- package/esm2022/lib/layer/layer-legend-list/index.mjs +0 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -54
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -104
- package/esm2022/lib/layer/layer-list/index.mjs +0 -2
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +0 -232
- package/esm2022/lib/layer/layer-list-tool/index.mjs +0 -4
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -92
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -7
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -61
- package/esm2022/lib/layer/layer-search/index.mjs +0 -2
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +0 -65
- package/esm2022/lib/layer/layer-unavailable/index.mjs +0 -3
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +0 -25
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +0 -35
- package/esm2022/lib/layer/layer-viewer/index.mjs +0 -3
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +0 -226
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +0 -2
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +0 -2
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +0 -207
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +0 -2
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +0 -83
- package/esm2022/lib/layer/layer.module.mjs +0 -107
- package/esm2022/lib/layer/shared/clusterParam.mjs +0 -2
- package/esm2022/lib/layer/shared/index.mjs +0 -6
- package/esm2022/lib/layer/shared/layer-controller.mjs +0 -316
- package/esm2022/lib/layer/shared/layer-selection.mjs +0 -38
- package/esm2022/lib/layer/shared/layer.enums.mjs +0 -2
- package/esm2022/lib/layer/shared/layer.service.mjs +0 -315
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +0 -75
- package/esm2022/lib/layer/shared/layers/index.mjs +0 -18
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +0 -199
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +0 -120
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +0 -7
- package/esm2022/lib/layer/shared/layers/layer.mjs +0 -178
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +0 -4
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +0 -12
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +0 -242
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +0 -70
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +0 -55
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +0 -576
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +0 -112
- package/esm2022/lib/layer/track-feature-button/index.mjs +0 -2
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -54
- package/esm2022/lib/layer/utils/image-watcher.mjs +0 -62
- package/esm2022/lib/layer/utils/index.mjs +0 -6
- package/esm2022/lib/layer/utils/layer.utils.mjs +0 -57
- package/esm2022/lib/layer/utils/outputLegend.mjs +0 -32
- package/esm2022/lib/layer/utils/tile-watcher.mjs +0 -52
- package/esm2022/lib/layer/utils/vector-watcher.mjs +0 -50
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -87
- package/esm2022/lib/map/baselayers-switcher/index.mjs +0 -3
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -122
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +0 -78
- package/esm2022/lib/map/geolocate-button/index.mjs +0 -2
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +0 -73
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +0 -2
- package/esm2022/lib/map/home-extent-button/index.mjs +0 -3
- package/esm2022/lib/map/index.mjs +0 -14
- package/esm2022/lib/map/info-section/index.mjs +0 -2
- package/esm2022/lib/map/info-section/info-section.component.mjs +0 -15
- package/esm2022/lib/map/map-browser/index.mjs +0 -2
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +0 -67
- package/esm2022/lib/map/map-center/index.mjs +0 -2
- package/esm2022/lib/map/map-center/map-center.component.mjs +0 -56
- package/esm2022/lib/map/map.module.mjs +0 -89
- package/esm2022/lib/map/menu-button/index.mjs +0 -2
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +0 -57
- package/esm2022/lib/map/offline-button/index.mjs +0 -2
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +0 -53
- package/esm2022/lib/map/rotation-button/index.mjs +0 -2
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +0 -58
- package/esm2022/lib/map/shared/controllers/controller.mjs +0 -44
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +0 -8
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +0 -431
- package/esm2022/lib/map/shared/controllers/index.mjs +0 -5
- package/esm2022/lib/map/shared/controllers/view.mjs +0 -361
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +0 -481
- package/esm2022/lib/map/shared/index.mjs +0 -15
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +0 -238
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +0 -122
- package/esm2022/lib/map/shared/map.abstract.mjs +0 -24
- package/esm2022/lib/map/shared/map.enums.mjs +0 -6
- package/esm2022/lib/map/shared/map.interface.mjs +0 -2
- package/esm2022/lib/map/shared/map.mjs +0 -201
- package/esm2022/lib/map/shared/map.service.mjs +0 -29
- package/esm2022/lib/map/shared/map.utils.mjs +0 -455
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +0 -114
- package/esm2022/lib/map/shared/projection.interfaces.mjs +0 -2
- package/esm2022/lib/map/shared/projection.service.mjs +0 -67
- package/esm2022/lib/map/shared/projection.utils.mjs +0 -122
- package/esm2022/lib/map/swipe-control/index.mjs +0 -2
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +0 -211
- package/esm2022/lib/map/utils/index.mjs +0 -2
- package/esm2022/lib/map/utils/layer-watcher.mjs +0 -112
- package/esm2022/lib/map/wake-lock-button/index.mjs +0 -2
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
- package/esm2022/lib/map/zoom-button/index.mjs +0 -2
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +0 -35
- package/esm2022/lib/measure/index.mjs +0 -3
- package/esm2022/lib/measure/measure.module.mjs +0 -20
- package/esm2022/lib/measure/measurer/index.mjs +0 -6
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +0 -40
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +0 -38
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +0 -143
- package/esm2022/lib/measure/measurer/measurer.component.mjs +0 -948
- package/esm2022/lib/measure/measurer/measurer.module.mjs +0 -20
- package/esm2022/lib/measure/shared/index.mjs +0 -4
- package/esm2022/lib/measure/shared/measure.enum.mjs +0 -37
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +0 -2
- package/esm2022/lib/measure/shared/measure.utils.mjs +0 -497
- package/esm2022/lib/metadata/index.mjs +0 -4
- package/esm2022/lib/metadata/metadata-button/index.mjs +0 -2
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +0 -96
- package/esm2022/lib/metadata/metadata.module.mjs +0 -29
- package/esm2022/lib/metadata/shared/index.mjs +0 -3
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +0 -2
- package/esm2022/lib/metadata/shared/metadata.service.mjs +0 -18
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -130
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +0 -6
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +0 -2
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
- package/esm2022/lib/offline/geoDB/index.mjs +0 -5
- package/esm2022/lib/offline/index.mjs +0 -6
- package/esm2022/lib/offline/layerDB/index.mjs +0 -3
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +0 -2
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
- package/esm2022/lib/offline/offline.interface.mjs +0 -2
- package/esm2022/lib/offline/offline.provider.mjs +0 -50
- package/esm2022/lib/offline/shared/geo-network.service.mjs +0 -79
- package/esm2022/lib/offline/shared/index.mjs +0 -2
- package/esm2022/lib/overlay/index.mjs +0 -2
- package/esm2022/lib/overlay/shared/index.mjs +0 -4
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +0 -8
- package/esm2022/lib/overlay/shared/overlay.mjs +0 -139
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +0 -17
- package/esm2022/lib/print/index.mjs +0 -4
- package/esm2022/lib/print/print/print.component.mjs +0 -116
- package/esm2022/lib/print/print-form/index.mjs +0 -2
- package/esm2022/lib/print/print-form/print-form.component.mjs +0 -320
- package/esm2022/lib/print/print.module.mjs +0 -20
- package/esm2022/lib/print/shared/geopdf.mjs +0 -68
- package/esm2022/lib/print/shared/index.mjs +0 -5
- package/esm2022/lib/print/shared/print.interface.mjs +0 -2
- package/esm2022/lib/print/shared/print.service.mjs +0 -1136
- package/esm2022/lib/print/shared/print.type.mjs +0 -30
- package/esm2022/lib/query/index.mjs +0 -2
- package/esm2022/lib/query/query.module.mjs +0 -27
- package/esm2022/lib/query/shared/index.mjs +0 -8
- package/esm2022/lib/query/shared/query-search-source.mjs +0 -35
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +0 -22
- package/esm2022/lib/query/shared/query.directive.mjs +0 -290
- package/esm2022/lib/query/shared/query.enums.mjs +0 -32
- package/esm2022/lib/query/shared/query.interfaces.mjs +0 -2
- package/esm2022/lib/query/shared/query.service.mjs +0 -753
- package/esm2022/lib/query/shared/query.utils.mjs +0 -45
- package/esm2022/lib/search/index.mjs +0 -10
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +0 -483
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
- package/esm2022/lib/search/search-results/index.mjs +0 -5
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +0 -101
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +0 -433
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +0 -119
- package/esm2022/lib/search/search-results/search-results.component.mjs +0 -297
- package/esm2022/lib/search/search-results/search-results.directive.mjs +0 -7
- package/esm2022/lib/search/search-results/search-results.module.mjs +0 -20
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +0 -118
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +0 -19
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +0 -264
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +0 -19
- package/esm2022/lib/search/search.module.mjs +0 -77
- package/esm2022/lib/search/shared/index.mjs +0 -10
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +0 -328
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +0 -20
- package/esm2022/lib/search/shared/search-source.service.mjs +0 -56
- package/esm2022/lib/search/shared/search.enums.mjs +0 -4
- package/esm2022/lib/search/shared/search.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/search.provider.mjs +0 -20
- package/esm2022/lib/search/shared/search.service.mjs +0 -149
- package/esm2022/lib/search/shared/search.utils.mjs +0 -92
- package/esm2022/lib/search/shared/sources/cadastre.mjs +0 -142
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +0 -32
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/coordinates.mjs +0 -168
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +0 -52
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +0 -32
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/icherche.mjs +0 -816
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +0 -87
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/ilayer.mjs +0 -339
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +0 -58
- package/esm2022/lib/search/shared/sources/index.mjs +0 -23
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/nominatim.mjs +0 -263
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +0 -31
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +0 -13
- package/esm2022/lib/search/shared/sources/source.mjs +0 -221
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +0 -454
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +0 -56
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/workspace.mjs +0 -192
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +0 -31
- package/esm2022/lib/style/index.mjs +0 -5
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +0 -360
- package/esm2022/lib/style/shared/datasource/index.mjs +0 -2
- package/esm2022/lib/style/shared/feature/feature-style.mjs +0 -162
- package/esm2022/lib/style/shared/feature/index.mjs +0 -2
- package/esm2022/lib/style/shared/font.enum.mjs +0 -17
- package/esm2022/lib/style/shared/index.mjs +0 -5
- package/esm2022/lib/style/shared/overlay/index.mjs +0 -3
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -39
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +0 -78
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +0 -27
- package/esm2022/lib/style/shared/vector/index.mjs +0 -4
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +0 -2
- package/esm2022/lib/style/style-list/index.mjs +0 -5
- package/esm2022/lib/style/style-list/style-list.interface.mjs +0 -2
- package/esm2022/lib/style/style-list/style-list.module.mjs +0 -23
- package/esm2022/lib/style/style-list/style-list.provider.mjs +0 -21
- package/esm2022/lib/style/style-list/style-list.service.mjs +0 -52
- package/esm2022/lib/style/style-modal/drawing/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -193
- package/esm2022/lib/style/style-modal/index.mjs +0 -5
- package/esm2022/lib/style/style-modal/layer/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -142
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
- package/esm2022/lib/style/style-modal/shared/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
- package/esm2022/lib/style/style-service/draw-style.service.mjs +0 -255
- package/esm2022/lib/style/style-service/index.mjs +0 -3
- package/esm2022/lib/style/style-service/style.service.mjs +0 -393
- package/esm2022/lib/style/style.module.mjs +0 -46
- package/esm2022/lib/toast/index.mjs +0 -2
- package/esm2022/lib/toast/toast.component.mjs +0 -99
- package/esm2022/lib/toast/toast.module.mjs +0 -24
- package/esm2022/lib/utils/googleLinks.mjs +0 -13
- package/esm2022/lib/utils/id-generator.mjs +0 -112
- package/esm2022/lib/utils/index.mjs +0 -5
- package/esm2022/lib/utils/osmLinks.mjs +0 -9
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +0 -3
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +0 -2
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +0 -64
- package/esm2022/lib/wkt/index.mjs +0 -2
- package/esm2022/lib/wkt/shared/index.mjs +0 -2
- package/esm2022/lib/wkt/shared/wkt.service.mjs +0 -235
- package/esm2022/lib/wkt/wkt.module.mjs +0 -25
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -36
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -19
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +0 -3
- package/esm2022/lib/workspace/index.mjs +0 -8
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +0 -301
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +0 -720
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +0 -41
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +0 -113
- package/esm2022/lib/workspace/shared/index.mjs +0 -8
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +0 -41
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +0 -121
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +0 -248
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -188
- package/esm2022/lib/workspace/widgets/index.mjs +0 -4
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -48
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -19
- package/esm2022/lib/workspace/widgets/widgets.mjs +0 -15
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -172
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -137
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace.module.mjs +0 -32
- package/esm2022/public_api.mjs +0 -56
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
import * as olproj from 'ol/proj';
|
|
2
|
-
import * as olstyle from 'ol/style';
|
|
3
|
-
export class EsriStyleGenerator {
|
|
4
|
-
_converters;
|
|
5
|
-
_renderers;
|
|
6
|
-
constructor() {
|
|
7
|
-
this._converters = {};
|
|
8
|
-
this._converters.esriPMS = EsriStyleGenerator._convertEsriPMS;
|
|
9
|
-
this._converters.esriSFS = EsriStyleGenerator._convertEsriSFS;
|
|
10
|
-
this._converters.esriSLS = EsriStyleGenerator._convertEsriSLS;
|
|
11
|
-
this._converters.esriSMS = EsriStyleGenerator._convertEsriSMS;
|
|
12
|
-
this._converters.esriTS = EsriStyleGenerator._convertEsriTS;
|
|
13
|
-
this._renderers = {};
|
|
14
|
-
this._renderers.uniqueValue = this._renderUniqueValue;
|
|
15
|
-
this._renderers.simple = this._renderSimple;
|
|
16
|
-
this._renderers.classBreaks = this._renderClassBreaks;
|
|
17
|
-
}
|
|
18
|
-
static _convertPointToPixel(point) {
|
|
19
|
-
return point / 0.75;
|
|
20
|
-
}
|
|
21
|
-
static _transformColor(color) {
|
|
22
|
-
// alpha channel is different, runs from 0-255 but in ol3 from 0-1
|
|
23
|
-
return [color[0], color[1], color[2], color[3] / 255];
|
|
24
|
-
}
|
|
25
|
-
static _getResolutionForScale(scale, units) {
|
|
26
|
-
const dpi = 96;
|
|
27
|
-
const mpu = olproj.METERS_PER_UNIT[units];
|
|
28
|
-
const inchesPerMeter = 39.3701;
|
|
29
|
-
return parseFloat(scale) / (mpu * inchesPerMeter * dpi);
|
|
30
|
-
}
|
|
31
|
-
/* convert an Esri Text Symbol */
|
|
32
|
-
static _convertEsriTS(symbol) {
|
|
33
|
-
const rotation = EsriStyleGenerator._transformAngle(symbol.angle);
|
|
34
|
-
const text = symbol.text !== undefined ? symbol.text : undefined;
|
|
35
|
-
return new olstyle.Style({
|
|
36
|
-
text: new olstyle.Text({
|
|
37
|
-
fill: new olstyle.Fill({
|
|
38
|
-
color: EsriStyleGenerator._transformColor(symbol.color)
|
|
39
|
-
}),
|
|
40
|
-
font: symbol.font.style +
|
|
41
|
-
' ' +
|
|
42
|
-
symbol.font.weight +
|
|
43
|
-
' ' +
|
|
44
|
-
symbol.font.size +
|
|
45
|
-
' px ' +
|
|
46
|
-
symbol.font.family,
|
|
47
|
-
textBaseline: symbol.verticalAlignment,
|
|
48
|
-
textAlign: symbol.horizontalAlignment,
|
|
49
|
-
offsetX: EsriStyleGenerator._convertPointToPixel(symbol.xoffset),
|
|
50
|
-
offsetY: EsriStyleGenerator._convertPointToPixel(symbol.yoffset),
|
|
51
|
-
rotation,
|
|
52
|
-
text
|
|
53
|
-
})
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
/* convert an Esri Picture Marker Symbol */
|
|
57
|
-
static _convertEsriPMS(symbol) {
|
|
58
|
-
const src = 'data:' + symbol.contentType + ';base64, ' + symbol.imageData;
|
|
59
|
-
const rotation = EsriStyleGenerator._transformAngle(symbol.angle);
|
|
60
|
-
return new olstyle.Style({
|
|
61
|
-
image: new olstyle.Icon({
|
|
62
|
-
src,
|
|
63
|
-
rotation
|
|
64
|
-
})
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
/* convert an Esri Simple Fill Symbol */
|
|
68
|
-
static _convertEsriSFS(symbol) {
|
|
69
|
-
// there is no support in openlayers currently for fill patterns, so style is not interpreted
|
|
70
|
-
const fill = new olstyle.Fill({
|
|
71
|
-
color: EsriStyleGenerator._transformColor(symbol.color)
|
|
72
|
-
});
|
|
73
|
-
const stroke = symbol.outline
|
|
74
|
-
? EsriStyleGenerator._convertOutline(symbol.outline)
|
|
75
|
-
: undefined;
|
|
76
|
-
return new olstyle.Style({
|
|
77
|
-
fill,
|
|
78
|
-
stroke
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
static _convertOutline(outline) {
|
|
82
|
-
let lineDash;
|
|
83
|
-
const color = EsriStyleGenerator._transformColor(outline.color);
|
|
84
|
-
if (outline.style === 'esriSLSDash') {
|
|
85
|
-
lineDash = [5];
|
|
86
|
-
}
|
|
87
|
-
else if (outline.style === 'esriSLSDashDot') {
|
|
88
|
-
lineDash = [5, 5, 1, 2];
|
|
89
|
-
}
|
|
90
|
-
else if (outline.style === 'esriSLSDashDotDot') {
|
|
91
|
-
lineDash = [5, 5, 1, 2, 1, 2];
|
|
92
|
-
}
|
|
93
|
-
else if (outline.style === 'esriSLSDot') {
|
|
94
|
-
lineDash = [1, 2];
|
|
95
|
-
}
|
|
96
|
-
else if (outline.style === 'esriSLSNull') {
|
|
97
|
-
// line not visible, make color fully transparent
|
|
98
|
-
color[3] = 0;
|
|
99
|
-
}
|
|
100
|
-
return new olstyle.Stroke({
|
|
101
|
-
color,
|
|
102
|
-
lineDash,
|
|
103
|
-
width: EsriStyleGenerator._convertPointToPixel(outline.width)
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/* convert an Esri Simple Line Symbol */
|
|
107
|
-
static _convertEsriSLS(symbol) {
|
|
108
|
-
return new olstyle.Style({
|
|
109
|
-
stroke: EsriStyleGenerator._convertOutline(symbol)
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
static _transformAngle(angle) {
|
|
113
|
-
if (angle === 0 || angle === undefined) {
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
const normalRad = (angle * Math.PI) / 180;
|
|
117
|
-
const ol3Rad = -normalRad + Math.PI / 2;
|
|
118
|
-
if (ol3Rad < 0) {
|
|
119
|
-
return 2 * Math.PI + ol3Rad;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
return ol3Rad;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/* convert an Esri Simple Marker Symbol */
|
|
126
|
-
static _convertEsriSMS(symbol) {
|
|
127
|
-
const fill = new olstyle.Fill({
|
|
128
|
-
color: EsriStyleGenerator._transformColor(symbol.color)
|
|
129
|
-
});
|
|
130
|
-
const stroke = symbol.outline
|
|
131
|
-
? EsriStyleGenerator._convertOutline(symbol.outline)
|
|
132
|
-
: undefined;
|
|
133
|
-
const radius = EsriStyleGenerator._convertPointToPixel(symbol.size) / 2;
|
|
134
|
-
const rotation = EsriStyleGenerator._transformAngle(symbol.angle);
|
|
135
|
-
if (symbol.style === 'esriSMSCircle') {
|
|
136
|
-
return new olstyle.Style({
|
|
137
|
-
image: new olstyle.Circle({
|
|
138
|
-
radius,
|
|
139
|
-
fill,
|
|
140
|
-
stroke
|
|
141
|
-
})
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
else if (symbol.style === 'esriSMSCross') {
|
|
145
|
-
return new olstyle.Style({
|
|
146
|
-
image: new olstyle.RegularShape({
|
|
147
|
-
fill,
|
|
148
|
-
stroke,
|
|
149
|
-
points: 4,
|
|
150
|
-
radius,
|
|
151
|
-
radius2: 0,
|
|
152
|
-
angle: 0,
|
|
153
|
-
rotation
|
|
154
|
-
})
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
else if (symbol.style === 'esriSMSDiamond') {
|
|
158
|
-
return new olstyle.Style({
|
|
159
|
-
image: new olstyle.RegularShape({
|
|
160
|
-
fill,
|
|
161
|
-
stroke,
|
|
162
|
-
points: 4,
|
|
163
|
-
radius,
|
|
164
|
-
rotation
|
|
165
|
-
})
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
else if (symbol.style === 'esriSMSSquare') {
|
|
169
|
-
return new olstyle.Style({
|
|
170
|
-
image: new olstyle.RegularShape({
|
|
171
|
-
fill,
|
|
172
|
-
stroke,
|
|
173
|
-
points: 4,
|
|
174
|
-
radius,
|
|
175
|
-
angle: Math.PI / 4,
|
|
176
|
-
rotation
|
|
177
|
-
})
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
else if (symbol.style === 'esriSMSX') {
|
|
181
|
-
return new olstyle.Style({
|
|
182
|
-
image: new olstyle.RegularShape({
|
|
183
|
-
fill,
|
|
184
|
-
stroke,
|
|
185
|
-
points: 4,
|
|
186
|
-
radius,
|
|
187
|
-
radius2: 0,
|
|
188
|
-
angle: Math.PI / 4,
|
|
189
|
-
rotation
|
|
190
|
-
})
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
else if (symbol.style === 'esriSMSTriangle') {
|
|
194
|
-
return new olstyle.Style({
|
|
195
|
-
image: new olstyle.RegularShape({
|
|
196
|
-
fill,
|
|
197
|
-
stroke,
|
|
198
|
-
points: 3,
|
|
199
|
-
radius,
|
|
200
|
-
angle: 0,
|
|
201
|
-
rotation
|
|
202
|
-
})
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
_convertLabelingInfo(labelingInfo, mapUnits) {
|
|
207
|
-
const styles = [];
|
|
208
|
-
for (let i = 0, ii = labelingInfo.length; i < ii; ++i) {
|
|
209
|
-
const labelExpression = labelingInfo[i].labelExpression;
|
|
210
|
-
// only limited support for label expressions
|
|
211
|
-
const field = labelExpression.substr(labelExpression.indexOf('[') + 1, labelExpression.indexOf(']') - 1);
|
|
212
|
-
const symbol = labelingInfo[i].symbol;
|
|
213
|
-
const maxScale = labelingInfo[i].maxScale;
|
|
214
|
-
const minScale = labelingInfo[i].minScale;
|
|
215
|
-
let minResolution = null;
|
|
216
|
-
if (maxScale !== 0) {
|
|
217
|
-
minResolution = EsriStyleGenerator._getResolutionForScale(maxScale, mapUnits);
|
|
218
|
-
}
|
|
219
|
-
let maxResolution = null;
|
|
220
|
-
if (minScale !== 0) {
|
|
221
|
-
maxResolution = EsriStyleGenerator._getResolutionForScale(minScale, mapUnits);
|
|
222
|
-
}
|
|
223
|
-
const style = this._converters[symbol.type].call(this, symbol);
|
|
224
|
-
styles.push((() => {
|
|
225
|
-
return function (feature, resolution) {
|
|
226
|
-
let visible = true;
|
|
227
|
-
if (this.minResolution !== null && this.maxResolution !== null) {
|
|
228
|
-
visible =
|
|
229
|
-
resolution < this.maxResolution &&
|
|
230
|
-
resolution >= this.minResolution;
|
|
231
|
-
}
|
|
232
|
-
else if (this.minResolution !== null) {
|
|
233
|
-
visible = resolution >= this.minResolution;
|
|
234
|
-
}
|
|
235
|
-
else if (this.maxResolution !== null) {
|
|
236
|
-
visible = resolution < this.maxResolution;
|
|
237
|
-
}
|
|
238
|
-
if (visible) {
|
|
239
|
-
const value = feature.get(this.field);
|
|
240
|
-
this.style.getText().setText(value);
|
|
241
|
-
return [this.style];
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
})().bind({
|
|
245
|
-
minResolution,
|
|
246
|
-
maxResolution,
|
|
247
|
-
field,
|
|
248
|
-
style
|
|
249
|
-
}));
|
|
250
|
-
}
|
|
251
|
-
return styles;
|
|
252
|
-
}
|
|
253
|
-
_renderSimple(renderer) {
|
|
254
|
-
const style = this._converters[renderer.symbol.type].call(this, renderer.symbol);
|
|
255
|
-
return (() => {
|
|
256
|
-
return () => {
|
|
257
|
-
return [style];
|
|
258
|
-
};
|
|
259
|
-
})();
|
|
260
|
-
}
|
|
261
|
-
_renderClassBreaks(renderer) {
|
|
262
|
-
const defaultSymbol = renderer.defaultSymbol;
|
|
263
|
-
const defaultStyle = this._converters[defaultSymbol.type].call(this, defaultSymbol);
|
|
264
|
-
const field = renderer.field;
|
|
265
|
-
const classes = [];
|
|
266
|
-
for (let i = 0, ii = renderer.classBreakInfos.length; i < ii; ++i) {
|
|
267
|
-
const classBreakInfo = renderer.classBreakInfos[i];
|
|
268
|
-
let min;
|
|
269
|
-
if (classBreakInfo.classMinValue === null ||
|
|
270
|
-
classBreakInfo.classMinValue === undefined) {
|
|
271
|
-
if (i === 0) {
|
|
272
|
-
min = renderer.minValue;
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
min = renderer.classBreakInfos[i - 1].classMaxValue;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
min = classBreakInfo.classMinValue;
|
|
280
|
-
}
|
|
281
|
-
const max = classBreakInfo.classMaxValue;
|
|
282
|
-
const symbol = classBreakInfo.symbol;
|
|
283
|
-
const style = this._converters[symbol.type].call(this, symbol);
|
|
284
|
-
classes.push({ min, max, style });
|
|
285
|
-
}
|
|
286
|
-
return (() => {
|
|
287
|
-
return (feature) => {
|
|
288
|
-
const value = feature.get(field);
|
|
289
|
-
for (let i = 0, ii = classes.length; i < ii; ++i) {
|
|
290
|
-
let condition;
|
|
291
|
-
if (i === 0) {
|
|
292
|
-
condition = value >= classes[i].min && value <= classes[i].max;
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
295
|
-
condition = value > classes[i].min && value <= classes[i].max;
|
|
296
|
-
}
|
|
297
|
-
if (condition) {
|
|
298
|
-
return [classes[i].style];
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
return [defaultStyle];
|
|
302
|
-
};
|
|
303
|
-
})();
|
|
304
|
-
}
|
|
305
|
-
_renderUniqueValue(renderer) {
|
|
306
|
-
const defaultSymbol = renderer.defaultSymbol;
|
|
307
|
-
let defaultStyle = [];
|
|
308
|
-
if (defaultSymbol) {
|
|
309
|
-
defaultStyle = [
|
|
310
|
-
this._converters[defaultSymbol.type].call(this, defaultSymbol)
|
|
311
|
-
];
|
|
312
|
-
}
|
|
313
|
-
const field = renderer.field1;
|
|
314
|
-
const infos = renderer.uniqueValueInfos;
|
|
315
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
316
|
-
const me = this;
|
|
317
|
-
return (() => {
|
|
318
|
-
const hash = {};
|
|
319
|
-
for (let i = 0, ii = infos.length; i < ii; ++i) {
|
|
320
|
-
const info = infos[i];
|
|
321
|
-
const symbol = info.symbol;
|
|
322
|
-
hash[info.value] = [me._converters[symbol.type].call(me, symbol)];
|
|
323
|
-
}
|
|
324
|
-
return (feature) => {
|
|
325
|
-
const style = hash[feature.get(field)];
|
|
326
|
-
return style ? style : defaultStyle;
|
|
327
|
-
};
|
|
328
|
-
})();
|
|
329
|
-
}
|
|
330
|
-
generateStyle(layerInfo, mapUnits) {
|
|
331
|
-
const drawingInfo = layerInfo.drawingInfo;
|
|
332
|
-
let styleFunctions = [];
|
|
333
|
-
const drawingInfoStyle = this._renderers[drawingInfo.renderer.type].call(this, drawingInfo.renderer);
|
|
334
|
-
if (drawingInfoStyle !== undefined) {
|
|
335
|
-
styleFunctions.push(drawingInfoStyle);
|
|
336
|
-
}
|
|
337
|
-
if (layerInfo.labelingInfo) {
|
|
338
|
-
const labelingInfoStyleFunctions = this._convertLabelingInfo(layerInfo.labelingInfo, mapUnits);
|
|
339
|
-
styleFunctions = styleFunctions.concat(labelingInfoStyleFunctions);
|
|
340
|
-
}
|
|
341
|
-
if (styleFunctions.length === 1) {
|
|
342
|
-
return styleFunctions[0];
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
return (() => {
|
|
346
|
-
return (feature, resolution) => {
|
|
347
|
-
let styles = [];
|
|
348
|
-
for (let i = 0, ii = styleFunctions.length; i < ii; ++i) {
|
|
349
|
-
const result = styleFunctions[i].call(null, feature, resolution);
|
|
350
|
-
if (result) {
|
|
351
|
-
styles = styles.concat(result);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
return styles;
|
|
355
|
-
};
|
|
356
|
-
})();
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNyaS1zdHlsZS1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zaGFyZWQvZGF0YXNvdXJjZS9lc3JpLXN0eWxlLWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFdBQVcsQ0FBTTtJQUNqQixVQUFVLENBQU07SUFFdkI7UUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztRQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDO1FBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQUs7UUFD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QUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQ3hELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQzt3QkFDakUsSUFBSSxNQUFNLEVBQUUsQ0FBQzs0QkFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDakMsQ0FBQztvQkFDSCxDQUFDO29CQUNELE9BQU8sTUFBTSxDQUFDO2dCQUNoQixDQUFDLENBQUM7WUFDSixDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcbmltcG9ydCAqIGFzIG9sc3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgRXNyaVN0eWxlR2VuZXJhdG9yIHtcbiAgcHVibGljIF9jb252ZXJ0ZXJzOiBhbnk7XG4gIHB1YmxpYyBfcmVuZGVyZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fY29udmVydGVycyA9IHt9O1xuICAgIHRoaXMuX2NvbnZlcnRlcnMuZXNyaVBNUyA9IEVzcmlTdHlsZUdlbmVyYXRvci5fY29udmVydEVzcmlQTVM7XG4gICAgdGhpcy5fY29udmVydGVycy5lc3JpU0ZTID0gRXNyaVN0eWxlR2VuZXJhdG9yLl9jb252ZXJ0RXNyaVNGUztcbiAgICB0aGlzLl9jb252ZXJ0ZXJzLmVzcmlTTFMgPSBFc3JpU3R5bGVHZW5lcmF0b3IuX2NvbnZlcnRFc3JpU0xTO1xuICAgIHRoaXMuX2NvbnZlcnRlcnMuZXNyaVNNUyA9IEVzcmlTdHlsZUdlbmVyYXRvci5fY29udmVydEVzcmlTTVM7XG4gICAgdGhpcy5fY29udmVydGVycy5lc3JpVFMgPSBFc3JpU3R5bGVHZW5lcmF0b3IuX2NvbnZlcnRFc3JpVFM7XG4gICAgdGhpcy5fcmVuZGVyZXJzID0ge307XG4gICAgdGhpcy5fcmVuZGVyZXJzLnVuaXF1ZVZhbHVlID0gdGhpcy5fcmVuZGVyVW5pcXVlVmFsdWU7XG4gICAgdGhpcy5fcmVuZGVyZXJzLnNpbXBsZSA9IHRoaXMuX3JlbmRlclNpbXBsZTtcbiAgICB0aGlzLl9yZW5kZXJlcnMuY2xhc3NCcmVha3MgPSB0aGlzLl9yZW5kZXJDbGFzc0JyZWFrcztcbiAgfVxuICBzdGF0aWMgX2NvbnZlcnRQb2ludFRvUGl4ZWwocG9pbnQpIHtcbiAgICByZXR1cm4gcG9pbnQgLyAwLjc1O1xuICB9XG4gIHN0YXRpYyBfdHJhbnNmb3JtQ29sb3IoY29sb3IpOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gICAgLy8gYWxwaGEgY2hhbm5lbCBpcyBkaWZmZXJlbnQsIHJ1bnMgZnJvbSAwLTI1NSBidXQgaW4gb2wzIGZyb20gMC0xXG4gICAgcmV0dXJuIFtjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdLCBjb2xvclszXSAvIDI1NV07XG4gIH1cblxuICBzdGF0aWMgX2dldFJlc29sdXRpb25Gb3JTY2FsZShzY2FsZSwgdW5pdHMpIHtcbiAgICBjb25zdCBkcGkgPSA5NjtcbiAgICBjb25zdCBtcHUgPSBvbHByb2ouTUVURVJTX1BFUl9VTklUW3VuaXRzXTtcbiAgICBjb25zdCBpbmNoZXNQZXJNZXRlciA9IDM5LjM3MDE7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoc2NhbGUpIC8gKG1wdSAqIGluY2hlc1Blck1ldGVyICogZHBpKTtcbiAgfVxuXG4gIC8qIGNvbnZlcnQgYW4gRXNyaSBUZXh0IFN5bWJvbCAqL1xuICBzdGF0aWMgX2NvbnZlcnRFc3JpVFMoc3ltYm9sKSB7XG4gICAgY29uc3Qgcm90YXRpb24gPSBFc3JpU3R5bGVHZW5lcmF0b3IuX3RyYW5zZm9ybUFuZ2xlKHN5bWJvbC5hbmdsZSk7XG4gICAgY29uc3QgdGV4dCA9IHN5bWJvbC50ZXh0ICE9PSB1bmRlZmluZWQgPyBzeW1ib2wudGV4dCA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgdGV4dDogbmV3IG9sc3R5bGUuVGV4dCh7XG4gICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBFc3JpU3R5bGVHZW5lcmF0b3IuX3RyYW5zZm9ybUNvbG9yKHN5bWJvbC5jb2xvcilcbiAgICAgICAgfSksXG4gICAgICAgIGZvbnQ6XG4gICAgICAgICAgc3ltYm9sLmZvbnQuc3R5bGUgK1xuICAgICAgICAgICcgJyArXG4gICAgICAgICAgc3ltYm9sLmZvbnQud2VpZ2h0ICtcbiAgICAgICAgICAnICcgK1xuICAgICAgICAgIHN5bWJvbC5mb250LnNpemUgK1xuICAgICAgICAgICcgcHggJyArXG4gICAgICAgICAgc3ltYm9sLmZvbnQuZmFtaWx5LFxuICAgICAgICB0ZXh0QmFzZWxpbmU6IHN5bWJvbC52ZXJ0aWNhbEFsaWdubWVudCxcbiAgICAgICAgdGV4dEFsaWduOiBzeW1ib2wuaG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAgICAgb2Zmc2V0WDogRXNyaVN0eWxlR2VuZXJhdG9yLl9jb252ZXJ0UG9pbnRUb1BpeGVsKHN5bWJvbC54b2Zmc2V0KSxcbiAgICAgICAgb2Zmc2V0WTogRXNyaVN0eWxlR2VuZXJhdG9yLl9jb252ZXJ0UG9pbnRUb1BpeGVsKHN5bWJvbC55b2Zmc2V0KSxcbiAgICAgICAgcm90YXRpb24sXG4gICAgICAgIHRleHRcbiAgICAgIH0pXG4gICAgfSk7XG4gIH1cbiAgLyogY29udmVydCBhbiBFc3JpIFBpY3R1cmUgTWFya2VyIFN5bWJvbCAqL1xuICBzdGF0aWMgX2NvbnZlcnRFc3JpUE1TKHN5bWJvbCkge1xuICAgIGNvbnN0IHNyYyA9ICdkYXRhOicgKyBzeW1ib2wuY29udGVudFR5cGUgKyAnO2Jhc2U2NCwgJyArIHN5bWJvbC5pbWFnZURhdGE7XG4gICAgY29uc3Qgcm90YXRpb24gPSBFc3JpU3R5bGVHZW5lcmF0b3IuX3RyYW5zZm9ybUFuZ2xlKHN5bWJvbC5hbmdsZSk7XG5cbiAgICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkljb24oe1xuICAgICAgICBzcmMsXG4gICAgICAgIHJvdGF0aW9uXG4gICAgICB9KVxuICAgIH0pO1xuICB9XG4gIC8qIGNvbnZlcnQgYW4gRXNyaSBTaW1wbGUgRmlsbCBTeW1ib2wgKi9cbiAgc3RhdGljIF9jb252ZXJ0RXNyaVNGUyhzeW1ib2wpIHtcbiAgICAvLyB0aGVyZSBpcyBubyBzdXBwb3J0IGluIG9wZW5sYXllcnMgY3VycmVudGx5IGZvciBmaWxsIHBhdHRlcm5zLCBzbyBzdHlsZSBpcyBub3QgaW50ZXJwcmV0ZWRcbiAgICBjb25zdCBmaWxsID0gbmV3IG9sc3R5bGUuRmlsbCh7XG4gICAgICBjb2xvcjogRXNyaVN0eWxlR2VuZXJhdG9yLl90cmFuc2Zvcm1Db2xvcihzeW1ib2wuY29sb3IpXG4gICAgfSk7XG4gICAgY29uc3Qgc3Ryb2tlID0gc3ltYm9sLm91dGxpbmVcbiAgICAgID8gRXNyaVN0eWxlR2VuZXJhdG9yLl9jb252ZXJ0T3V0bGluZShzeW1ib2wub3V0bGluZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICBmaWxsLFxuICAgICAgc3Ryb2tlXG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIF9jb252ZXJ0T3V0bGluZShvdXRsaW5lKSB7XG4gICAgbGV0IGxpbmVEYXNoO1xuICAgIGNvbnN0IGNvbG9yID0gRXNyaVN0eWxlR2VuZXJhdG9yLl90cmFuc2Zvcm1Db2xvcihvdXRsaW5lLmNvbG9yKTtcbiAgICBpZiAob3V0bGluZS5zdHlsZSA9PT0gJ2VzcmlTTFNEYXNoJykge1xuICAgICAgbGluZURhc2ggPSBbNV07XG4gICAgfSBlbHNlIGlmIChvdXRsaW5lLnN0eWxlID09PSAnZXNyaVNMU0Rhc2hEb3QnKSB7XG4gICAgICBsaW5lRGFzaCA9IFs1LCA1LCAxLCAyXTtcbiAgICB9IGVsc2UgaWYgKG91dGxpbmUuc3R5bGUgPT09ICdlc3JpU0xTRGFzaERvdERvdCcpIHtcbiAgICAgIGxpbmVEYXNoID0gWzUsIDUsIDEsIDIsIDEsIDJdO1xuICAgIH0gZWxzZSBpZiAob3V0bGluZS5zdHlsZSA9PT0gJ2VzcmlTTFNEb3QnKSB7XG4gICAgICBsaW5lRGFzaCA9IFsxLCAyXTtcbiAgICB9IGVsc2UgaWYgKG91dGxpbmUuc3R5bGUgPT09ICdlc3JpU0xTTnVsbCcpIHtcbiAgICAgIC8vIGxpbmUgbm90IHZpc2libGUsIG1ha2UgY29sb3IgZnVsbHkgdHJhbnNwYXJlbnRcbiAgICAgIGNvbG9yWzNdID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0cm9rZSh7XG4gICAgICBjb2xvcixcbiAgICAgIGxpbmVEYXNoLFxuICAgICAgd2lkdGg6IEVzcmlTdHlsZUdlbmVyYXRvci5fY29udmVydFBvaW50VG9QaXhlbChvdXRsaW5lLndpZHRoKVxuICAgIH0pO1xuICB9XG4gIC8qIGNvbnZlcnQgYW4gRXNyaSBTaW1wbGUgTGluZSBTeW1ib2wgKi9cbiAgc3RhdGljIF9jb252ZXJ0RXNyaVNMUyhzeW1ib2wpIHtcbiAgICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgc3Ryb2tlOiBFc3JpU3R5bGVHZW5lcmF0b3IuX2NvbnZlcnRPdXRsaW5lKHN5bWJvbClcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgX3RyYW5zZm9ybUFuZ2xlKGFuZ2xlKSB7XG4gICAgaWYgKGFuZ2xlID09PSAwIHx8IGFuZ2xlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IG5vcm1hbFJhZCA9IChhbmdsZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgIGNvbnN0IG9sM1JhZCA9IC1ub3JtYWxSYWQgKyBNYXRoLlBJIC8gMjtcbiAgICBpZiAob2wzUmFkIDwgMCkge1xuICAgICAgcmV0dXJuIDIgKiBNYXRoLlBJICsgb2wzUmFkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2wzUmFkO1xuICAgIH1cbiAgfVxuICAvKiBjb252ZXJ0IGFuIEVzcmkgU2ltcGxlIE1hcmtlciBTeW1ib2wgKi9cbiAgc3RhdGljIF9jb252ZXJ0RXNyaVNNUyhzeW1ib2wpIHtcbiAgICBjb25zdCBmaWxsID0gbmV3IG9sc3R5bGUuRmlsbCh7XG4gICAgICBjb2xvcjogRXNyaVN0eWxlR2VuZXJhdG9yLl90cmFuc2Zvcm1Db2xvcihzeW1ib2wuY29sb3IpXG4gICAgfSk7XG4gICAgY29uc3Qgc3Ryb2tlID0gc3ltYm9sLm91dGxpbmVcbiAgICAgID8gRXNyaVN0eWxlR2VuZXJhdG9yLl9jb252ZXJ0T3V0bGluZShzeW1ib2wub3V0bGluZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJhZGl1cyA9IEVzcmlTdHlsZUdlbmVyYXRvci5fY29udmVydFBvaW50VG9QaXhlbChzeW1ib2wuc2l6ZSkgLyAyO1xuICAgIGNvbnN0IHJvdGF0aW9uID0gRXNyaVN0eWxlR2VuZXJhdG9yLl90cmFuc2Zvcm1BbmdsZShzeW1ib2wuYW5nbGUpO1xuICAgIGlmIChzeW1ib2wuc3R5bGUgPT09ICdlc3JpU01TQ2lyY2xlJykge1xuICAgICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcbiAgICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgcmFkaXVzLFxuICAgICAgICAgIGZpbGwsXG4gICAgICAgICAgc3Ryb2tlXG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHN5bWJvbC5zdHlsZSA9PT0gJ2VzcmlTTVNDcm9zcycpIHtcbiAgICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5SZWd1bGFyU2hhcGUoe1xuICAgICAgICAgIGZpbGwsXG4gICAgICAgICAgc3Ryb2tlLFxuICAgICAgICAgIHBvaW50czogNCxcbiAgICAgICAgICByYWRpdXMsXG4gICAgICAgICAgcmFkaXVzMjogMCxcbiAgICAgICAgICBhbmdsZTogMCxcbiAgICAgICAgICByb3RhdGlvblxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChzeW1ib2wuc3R5bGUgPT09ICdlc3JpU01TRGlhbW9uZCcpIHtcbiAgICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5SZWd1bGFyU2hhcGUoe1xuICAgICAgICAgIGZpbGwsXG4gICAgICAgICAgc3Ryb2tlLFxuICAgICAgICAgIHBvaW50czogNCxcbiAgICAgICAgICByYWRpdXMsXG4gICAgICAgICAgcm90YXRpb25cbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoc3ltYm9sLnN0eWxlID09PSAnZXNyaVNNU1NxdWFyZScpIHtcbiAgICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5SZWd1bGFyU2hhcGUoe1xuICAgICAgICAgIGZpbGwsXG4gICAgICAgICAgc3Ryb2tlLFxuICAgICAgICAgIHBvaW50czogNCxcbiAgICAgICAgICByYWRpdXMsXG4gICAgICAgICAgYW5nbGU6IE1hdGguUEkgLyA0LFxuICAgICAgICAgIHJvdGF0aW9uXG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHN5bWJvbC5zdHlsZSA9PT0gJ2VzcmlTTVNYJykge1xuICAgICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcbiAgICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLlJlZ3VsYXJTaGFwZSh7XG4gICAgICAgICAgZmlsbCxcbiAgICAgICAgICBzdHJva2UsXG4gICAgICAgICAgcG9pbnRzOiA0LFxuICAgICAgICAgIHJhZGl1cyxcbiAgICAgICAgICByYWRpdXMyOiAwLFxuICAgICAgICAgIGFuZ2xlOiBNYXRoLlBJIC8gNCxcbiAgICAgICAgICByb3RhdGlvblxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChzeW1ib2wuc3R5bGUgPT09ICdlc3JpU01TVHJpYW5nbGUnKSB7XG4gICAgICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuUmVndWxhclNoYXBlKHtcbiAgICAgICAgICBmaWxsLFxuICAgICAgICAgIHN0cm9rZSxcbiAgICAgICAgICBwb2ludHM6IDMsXG4gICAgICAgICAgcmFkaXVzLFxuICAgICAgICAgIGFuZ2xlOiAwLFxuICAgICAgICAgIHJvdGF0aW9uXG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBfY29udmVydExhYmVsaW5nSW5mbyhsYWJlbGluZ0luZm8sIG1hcFVuaXRzKSB7XG4gICAgY29uc3Qgc3R5bGVzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDAsIGlpID0gbGFiZWxpbmdJbmZvLmxlbmd0aDsgaSA8IGlpOyArK2kpIHtcbiAgICAgIGNvbnN0IGxhYmVsRXhwcmVzc2lvbiA9IGxhYmVsaW5nSW5mb1tpXS5sYWJlbEV4cHJlc3Npb247XG4gICAgICAvLyBvbmx5IGxpbWl0ZWQgc3VwcG9ydCBmb3IgbGFiZWwgZXhwcmVzc2lvbnNcbiAgICAgIGNvbnN0IGZpZWxkID0gbGFiZWxFeHByZXNzaW9uLnN1YnN0cihcbiAgICAgICAgbGFiZWxFeHByZXNzaW9uLmluZGV4T2YoJ1snKSArIDEsXG4gICAgICAgIGxhYmVsRXhwcmVzc2lvbi5pbmRleE9mKCddJykgLSAxXG4gICAgICApO1xuICAgICAgY29uc3Qgc3ltYm9sID0gbGFiZWxpbmdJbmZvW2ldLnN5bWJvbDtcbiAgICAgIGNvbnN0IG1heFNjYWxlID0gbGFiZWxpbmdJbmZvW2ldLm1heFNjYWxlO1xuICAgICAgY29uc3QgbWluU2NhbGUgPSBsYWJlbGluZ0luZm9baV0ubWluU2NhbGU7XG4gICAgICBsZXQgbWluUmVzb2x1dGlvbiA9IG51bGw7XG4gICAgICBpZiAobWF4U2NhbGUgIT09IDApIHtcbiAgICAgICAgbWluUmVzb2x1dGlvbiA9IEVzcmlTdHlsZUdlbmVyYXRvci5fZ2V0UmVzb2x1dGlvbkZvclNjYWxlKFxuICAgICAgICAgIG1heFNjYWxlLFxuICAgICAgICAgIG1hcFVuaXRzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBsZXQgbWF4UmVzb2x1dGlvbiA9IG51bGw7XG4gICAgICBpZiAobWluU2NhbGUgIT09IDApIHtcbiAgICAgICAgbWF4UmVzb2x1dGlvbiA9IEVzcmlTdHlsZUdlbmVyYXRvci5fZ2V0UmVzb2x1dGlvbkZvclNjYWxlKFxuICAgICAgICAgIG1pblNjYWxlLFxuICAgICAgICAgIG1hcFVuaXRzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCBzdHlsZSA9IHRoaXMuX2NvbnZlcnRlcnNbc3ltYm9sLnR5cGVdLmNhbGwodGhpcywgc3ltYm9sKTtcbiAgICAgIHN0eWxlcy5wdXNoKFxuICAgICAgICAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoZmVhdHVyZSwgcmVzb2x1dGlvbikge1xuICAgICAgICAgICAgbGV0IHZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMubWluUmVzb2x1dGlvbiAhPT0gbnVsbCAmJiB0aGlzLm1heFJlc29sdXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmlzaWJsZSA9XG4gICAgICAgICAgICAgICAgcmVzb2x1dGlvbiA8IHRoaXMubWF4UmVzb2x1dGlvbiAmJlxuICAgICAgICAgICAgICAgIHJlc29sdXRpb24gPj0gdGhpcy5taW5SZXNvbHV0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1pblJlc29sdXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmlzaWJsZSA9IHJlc29sdXRpb24gPj0gdGhpcy5taW5SZXNvbHV0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1heFJlc29sdXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmlzaWJsZSA9IHJlc29sdXRpb24gPCB0aGlzLm1heFJlc29sdXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZlYXR1cmUuZ2V0KHRoaXMuZmllbGQpO1xuICAgICAgICAgICAgICB0aGlzLnN0eWxlLmdldFRleHQoKS5zZXRUZXh0KHZhbHVlKTtcbiAgICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnN0eWxlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9KSgpLmJpbmQoe1xuICAgICAgICAgIG1pblJlc29sdXRpb24sXG4gICAgICAgICAgbWF4UmVzb2x1dGlvbixcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBzdHlsZVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxuXG4gIF9yZW5kZXJTaW1wbGUocmVuZGVyZXIpIHtcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuX2NvbnZlcnRlcnNbcmVuZGVyZXIuc3ltYm9sLnR5cGVdLmNhbGwoXG4gICAgICB0aGlzLFxuICAgICAgcmVuZGVyZXIuc3ltYm9sXG4gICAgKTtcbiAgICByZXR1cm4gKCgpID0+IHtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBbc3R5bGVdO1xuICAgICAgfTtcbiAgICB9KSgpO1xuICB9XG4gIF9yZW5kZXJDbGFzc0JyZWFrcyhyZW5kZXJlcikge1xuICAgIGNvbnN0IGRlZmF1bHRTeW1ib2wgPSByZW5kZXJlci5kZWZhdWx0U3ltYm9sO1xuICAgIGNvbnN0IGRlZmF1bHRTdHlsZSA9IHRoaXMuX2NvbnZlcnRlcnNbZGVmYXVsdFN5bWJvbC50eXBlXS5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgIGRlZmF1bHRTeW1ib2xcbiAgICApO1xuICAgIGNvbnN0IGZpZWxkID0gcmVuZGVyZXIuZmllbGQ7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwLCBpaSA9IHJlbmRlcmVyLmNsYXNzQnJlYWtJbmZvcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7XG4gICAgICBjb25zdCBjbGFzc0JyZWFrSW5mbyA9IHJlbmRlcmVyLmNsYXNzQnJlYWtJbmZvc1tpXTtcbiAgICAgIGxldCBtaW47XG4gICAgICBpZiAoXG4gICAgICAgIGNsYXNzQnJlYWtJbmZvLmNsYXNzTWluVmFsdWUgPT09IG51bGwgfHxcbiAgICAgICAgY2xhc3NCcmVha0luZm8uY2xhc3NNaW5WYWx1ZSA9PT0gdW5kZWZpbmVkXG4gICAgICApIHtcbiAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICBtaW4gPSByZW5kZXJlci5taW5WYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtaW4gPSByZW5kZXJlci5jbGFzc0JyZWFrSW5mb3NbaSAtIDFdLmNsYXNzTWF4VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1pbiA9IGNsYXNzQnJlYWtJbmZvLmNsYXNzTWluVmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXggPSBjbGFzc0JyZWFrSW5mby5jbGFzc01heFZhbHVlO1xuICAgICAgY29uc3Qgc3ltYm9sID0gY2xhc3NCcmVha0luZm8uc3ltYm9sO1xuICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLl9jb252ZXJ0ZXJzW3N5bWJvbC50eXBlXS5jYWxsKHRoaXMsIHN5bWJvbCk7XG4gICAgICBjbGFzc2VzLnB1c2goeyBtaW4sIG1heCwgc3R5bGUgfSk7XG4gICAgfVxuICAgIHJldHVybiAoKCkgPT4ge1xuICAgICAgcmV0dXJuIChmZWF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZmVhdHVyZS5nZXQoZmllbGQpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgaWkgPSBjbGFzc2VzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHtcbiAgICAgICAgICBsZXQgY29uZGl0aW9uO1xuICAgICAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICBjb25kaXRpb24gPSB2YWx1ZSA+PSBjbGFzc2VzW2ldLm1pbiAmJiB2YWx1ZSA8PSBjbGFzc2VzW2ldLm1heDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uZGl0aW9uID0gdmFsdWUgPiBjbGFzc2VzW2ldLm1pbiAmJiB2YWx1ZSA8PSBjbGFzc2VzW2ldLm1heDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIFtjbGFzc2VzW2ldLnN0eWxlXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtkZWZhdWx0U3R5bGVdO1xuICAgICAgfTtcbiAgICB9KSgpO1xuICB9XG4gIF9yZW5kZXJVbmlxdWVWYWx1ZShyZW5kZXJlcikge1xuICAgIGNvbnN0IGRlZmF1bHRTeW1ib2wgPSByZW5kZXJlci5kZWZhdWx0U3ltYm9sO1xuICAgIGxldCBkZWZhdWx0U3R5bGUgPSBbXTtcbiAgICBpZiAoZGVmYXVsdFN5bWJvbCkge1xuICAgICAgZGVmYXVsdFN0eWxlID0gW1xuICAgICAgICB0aGlzLl9jb252ZXJ0ZXJzW2RlZmF1bHRTeW1ib2wudHlwZV0uY2FsbCh0aGlzLCBkZWZhdWx0U3ltYm9sKVxuICAgICAgXTtcbiAgICB9XG4gICAgY29uc3QgZmllbGQgPSByZW5kZXJlci5maWVsZDE7XG4gICAgY29uc3QgaW5mb3MgPSByZW5kZXJlci51bmlxdWVWYWx1ZUluZm9zO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgIGNvbnN0IG1lID0gdGhpcztcbiAgICByZXR1cm4gKCgpID0+IHtcbiAgICAgIGNvbnN0IGhhc2ggPSB7fTtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBpaSA9IGluZm9zLmxlbmd0aDsgaSA8IGlpOyArK2kpIHtcbiAgICAgICAgY29uc3QgaW5mbyA9IGluZm9zW2ldO1xuICAgICAgICBjb25zdCBzeW1ib2wgPSBpbmZvLnN5bWJvbDtcbiAgICAgICAgaGFzaFtpbmZvLnZhbHVlXSA9IFttZS5fY29udmVydGVyc1tzeW1ib2wudHlwZV0uY2FsbChtZSwgc3ltYm9sKV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoZmVhdHVyZSkgPT4ge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGhhc2hbZmVhdHVyZS5nZXQoZmllbGQpXTtcbiAgICAgICAgcmV0dXJuIHN0eWxlID8gc3R5bGUgOiBkZWZhdWx0U3R5bGU7XG4gICAgICB9O1xuICAgIH0pKCk7XG4gIH1cbiAgZ2VuZXJhdGVTdHlsZShsYXllckluZm8sIG1hcFVuaXRzKSB7XG4gICAgY29uc3QgZHJhd2luZ0luZm8gPSBsYXllckluZm8uZHJhd2luZ0luZm87XG4gICAgbGV0IHN0eWxlRnVuY3Rpb25zID0gW107XG4gICAgY29uc3QgZHJhd2luZ0luZm9TdHlsZSA9IHRoaXMuX3JlbmRlcmVyc1tkcmF3aW5nSW5mby5yZW5kZXJlci50eXBlXS5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgIGRyYXdpbmdJbmZvLnJlbmRlcmVyXG4gICAgKTtcbiAgICBpZiAoZHJhd2luZ0luZm9TdHlsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdHlsZUZ1bmN0aW9ucy5wdXNoKGRyYXdpbmdJbmZvU3R5bGUpO1xuICAgIH1cbiAgICBpZiAobGF5ZXJJbmZvLmxhYmVsaW5nSW5mbykge1xuICAgICAgY29uc3QgbGFiZWxpbmdJbmZvU3R5bGVGdW5jdGlvbnMgPSB0aGlzLl9jb252ZXJ0TGFiZWxpbmdJbmZvKFxuICAgICAgICBsYXllckluZm8ubGFiZWxpbmdJbmZvLFxuICAgICAgICBtYXBVbml0c1xuICAgICAgKTtcbiAgICAgIHN0eWxlRnVuY3Rpb25zID0gc3R5bGVGdW5jdGlvbnMuY29uY2F0KGxhYmVsaW5nSW5mb1N0eWxlRnVuY3Rpb25zKTtcbiAgICB9XG4gICAgaWYgKHN0eWxlRnVuY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHN0eWxlRnVuY3Rpb25zWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgICAgbGV0IHN0eWxlcyA9IFtdO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBpaSA9IHN0eWxlRnVuY3Rpb25zLmxlbmd0aDsgaSA8IGlpOyArK2kpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHN0eWxlRnVuY3Rpb25zW2ldLmNhbGwobnVsbCwgZmVhdHVyZSwgcmVzb2x1dGlvbik7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgIHN0eWxlcyA9IHN0eWxlcy5jb25jYXQocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfTtcbiAgICAgIH0pKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './esri-style-generator';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zaGFyZWQvZGF0YXNvdXJjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc3JpLXN0eWxlLWdlbmVyYXRvcic7XG4iXX0=
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { isValidJSON } from '@igo2/utils';
|
|
2
|
-
import * as olStyle from 'ol/style';
|
|
3
|
-
import { StyleService } from '../../style-service/style.service';
|
|
4
|
-
export function featureRandomStyleFunction() {
|
|
5
|
-
const r = Math.floor(Math.random() * 255);
|
|
6
|
-
const g = Math.floor(Math.random() * 255);
|
|
7
|
-
const b = Math.floor(Math.random() * 255);
|
|
8
|
-
const stroke = new olStyle.Stroke({
|
|
9
|
-
color: [r, g, b, 1],
|
|
10
|
-
width: 2
|
|
11
|
-
});
|
|
12
|
-
const fill = new olStyle.Fill({
|
|
13
|
-
color: [r, g, b, 0.4]
|
|
14
|
-
});
|
|
15
|
-
return (olFeature, resolution) => {
|
|
16
|
-
const customStyle = olFeature.get('_style');
|
|
17
|
-
if (customStyle && isValidJSON(customStyle)) {
|
|
18
|
-
if (customStyle.circle &&
|
|
19
|
-
olFeature.get('rad') &&
|
|
20
|
-
olFeature.get('longitude') &&
|
|
21
|
-
olFeature.get('latitude')) {
|
|
22
|
-
const lonLat = [
|
|
23
|
-
olFeature.get('longitude'),
|
|
24
|
-
olFeature.get('latitude')
|
|
25
|
-
];
|
|
26
|
-
const radius = olFeature.get('rad') /
|
|
27
|
-
Math.cos((Math.PI / 180) * lonLat[1]) /
|
|
28
|
-
resolution;
|
|
29
|
-
customStyle.circle.radius = radius;
|
|
30
|
-
}
|
|
31
|
-
const styleService = new StyleService();
|
|
32
|
-
return styleService.createStyle(customStyle, undefined, resolution);
|
|
33
|
-
}
|
|
34
|
-
const style = new olStyle.Style({
|
|
35
|
-
stroke,
|
|
36
|
-
fill,
|
|
37
|
-
image: new olStyle.Circle({
|
|
38
|
-
radius: 5,
|
|
39
|
-
stroke,
|
|
40
|
-
fill
|
|
41
|
-
}),
|
|
42
|
-
text: olFeature.get('_mapTitle')
|
|
43
|
-
? new olStyle.Text({
|
|
44
|
-
text: olFeature.get('_mapTitle').toString(),
|
|
45
|
-
offsetX: 5,
|
|
46
|
-
offsetY: -5,
|
|
47
|
-
font: '12px Calibri,sans-serif',
|
|
48
|
-
fill: new olStyle.Fill({ color: '#000' }),
|
|
49
|
-
stroke: new olStyle.Stroke({ color: '#fff', width: 3 }),
|
|
50
|
-
overflow: true
|
|
51
|
-
})
|
|
52
|
-
: undefined
|
|
53
|
-
});
|
|
54
|
-
return style;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
export function featureRandomStyle() {
|
|
58
|
-
const r = Math.floor(Math.random() * 255);
|
|
59
|
-
const g = Math.floor(Math.random() * 255);
|
|
60
|
-
const b = Math.floor(Math.random() * 255);
|
|
61
|
-
const stroke = new olStyle.Stroke({
|
|
62
|
-
color: [r, g, b, 1],
|
|
63
|
-
width: 2
|
|
64
|
-
});
|
|
65
|
-
const fill = new olStyle.Fill({
|
|
66
|
-
color: [r, g, b, 0.4]
|
|
67
|
-
});
|
|
68
|
-
const style = new olStyle.Style({
|
|
69
|
-
stroke,
|
|
70
|
-
fill,
|
|
71
|
-
image: new olStyle.Circle({
|
|
72
|
-
radius: 5,
|
|
73
|
-
stroke,
|
|
74
|
-
fill
|
|
75
|
-
})
|
|
76
|
-
});
|
|
77
|
-
return style;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Create a default style for the pointer position and it's label summary.
|
|
81
|
-
* @param feature olFeature
|
|
82
|
-
* @returns OL style function
|
|
83
|
-
*/
|
|
84
|
-
export function hoverFeatureMarkerStyle(feature) {
|
|
85
|
-
const olStyleText = new olStyle.Style({
|
|
86
|
-
text: new olStyle.Text({
|
|
87
|
-
text: feature.get('hoverSummary'),
|
|
88
|
-
textAlign: 'left',
|
|
89
|
-
textBaseline: 'top',
|
|
90
|
-
font: '12px Calibri,sans-serif',
|
|
91
|
-
fill: new olStyle.Fill({ color: '#000' }),
|
|
92
|
-
backgroundFill: new olStyle.Fill({ color: 'rgba(255, 255, 255, 0.5)' }),
|
|
93
|
-
backgroundStroke: new olStyle.Stroke({
|
|
94
|
-
color: 'rgba(200, 200, 200, 0.75)',
|
|
95
|
-
width: 2
|
|
96
|
-
}),
|
|
97
|
-
stroke: new olStyle.Stroke({ color: '#fff', width: 3 }),
|
|
98
|
-
overflow: true,
|
|
99
|
-
offsetX: 10,
|
|
100
|
-
offsetY: 20,
|
|
101
|
-
padding: [2.5, 2.5, 2.5, 2.5]
|
|
102
|
-
})
|
|
103
|
-
});
|
|
104
|
-
const olStyles = [olStyleText];
|
|
105
|
-
switch (feature.getGeometry().getType()) {
|
|
106
|
-
case 'Point':
|
|
107
|
-
olStyles.push(new olStyle.Style({
|
|
108
|
-
image: new olStyle.Circle({
|
|
109
|
-
radius: 10,
|
|
110
|
-
stroke: new olStyle.Stroke({
|
|
111
|
-
color: 'blue',
|
|
112
|
-
width: 3
|
|
113
|
-
})
|
|
114
|
-
})
|
|
115
|
-
}));
|
|
116
|
-
break;
|
|
117
|
-
default:
|
|
118
|
-
olStyles.push(new olStyle.Style({
|
|
119
|
-
stroke: new olStyle.Stroke({
|
|
120
|
-
color: 'white',
|
|
121
|
-
width: 5
|
|
122
|
-
})
|
|
123
|
-
}));
|
|
124
|
-
olStyles.push(new olStyle.Style({
|
|
125
|
-
stroke: new olStyle.Stroke({
|
|
126
|
-
color: 'blue',
|
|
127
|
-
width: 3
|
|
128
|
-
})
|
|
129
|
-
}));
|
|
130
|
-
}
|
|
131
|
-
return olStyles;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Create a default style for the pointer position and it's label summary.
|
|
135
|
-
* @param feature olFeature
|
|
136
|
-
* @returns OL style function
|
|
137
|
-
*/
|
|
138
|
-
export function pointerPositionSummaryMarkerStyle(feature) {
|
|
139
|
-
return new olStyle.Style({
|
|
140
|
-
image: new olStyle.Icon({
|
|
141
|
-
src: './assets/igo2/geo/icons/cross_black_18px.svg'
|
|
142
|
-
}),
|
|
143
|
-
text: new olStyle.Text({
|
|
144
|
-
text: feature.get('pointerSummary'),
|
|
145
|
-
textAlign: 'left',
|
|
146
|
-
textBaseline: 'bottom',
|
|
147
|
-
font: '12px Calibri,sans-serif',
|
|
148
|
-
fill: new olStyle.Fill({ color: '#000' }),
|
|
149
|
-
backgroundFill: new olStyle.Fill({ color: 'rgba(255, 255, 255, 0.5)' }),
|
|
150
|
-
backgroundStroke: new olStyle.Stroke({
|
|
151
|
-
color: 'rgba(200, 200, 200, 0.75)',
|
|
152
|
-
width: 2
|
|
153
|
-
}),
|
|
154
|
-
stroke: new olStyle.Stroke({ color: '#fff', width: 3 }),
|
|
155
|
-
overflow: true,
|
|
156
|
-
offsetX: 10,
|
|
157
|
-
offsetY: -10,
|
|
158
|
-
padding: [2.5, 2.5, 2.5, 2.5]
|
|
159
|
-
})
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3NoYXJlZC9mZWF0dXJlL2ZlYXR1cmUtc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUsxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakUsTUFBTSxVQUFVLDBCQUEwQjtJQUl4QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEtBQUssRUFBRSxDQUFDO0tBQ1QsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFDSCxPQUFPLENBQUMsU0FBZ0MsRUFBRSxVQUFrQixFQUFFLEVBQUU7UUFDOUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcs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Q3ZCLEtBQUssRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDdEIsR0FBRyxFQUFFLDhDQUE4QztTQUNwRCxDQUFDO1FBRUYsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNuQyxTQUFTLEVBQUUsTUFBTTtZQUNqQixZQUFZLEVBQUUsUUFBUTtZQUN0QixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekMsY0FBYyxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxDQUFDO1lBQ3ZFLGdCQUFnQixFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDbkMsS0FBSyxFQUFFLDJCQUEyQjtnQkFDbEMsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZELFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQzlCLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNWYWxpZEpTT04gfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5cbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlUmFuZG9tU3R5bGVGdW5jdGlvbigpOiAoXG4gIG9sRmVhdHVyZTogb2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxuICByZXNvbHV0aW9uOiBudW1iZXJcbikgPT4gb2xTdHlsZS5TdHlsZSB7XG4gIGNvbnN0IHIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBnID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3QgYiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IHN0cm9rZSA9IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgY29sb3I6IFtyLCBnLCBiLCAxXSxcbiAgICB3aWR0aDogMlxuICB9KTtcbiAgY29uc3QgZmlsbCA9IG5ldyBvbFN0eWxlLkZpbGwoe1xuICAgIGNvbG9yOiBbciwgZywgYiwgMC40XVxuICB9KTtcbiAgcmV0dXJuIChvbEZlYXR1cmU6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PiwgcmVzb2x1dGlvbjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgY3VzdG9tU3R5bGUgPSBvbEZlYXR1cmUuZ2V0KCdfc3R5bGUnKTtcbiAgICBpZiAoY3VzdG9tU3R5bGUgJiYgaXNWYWxpZEpTT04oY3VzdG9tU3R5bGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGN1c3RvbVN0eWxlLmNpcmNsZSAmJlxuICAgICAgICBvbEZlYXR1cmUuZ2V0KCdyYWQnKSAmJlxuICAgICAgICBvbEZlYXR1cmUuZ2V0KCdsb25naXR1ZGUnKSAmJlxuICAgICAgICBvbEZlYXR1cmUuZ2V0KCdsYXRpdHVkZScpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdID0gW1xuICAgICAgICAgIG9sRmVhdHVyZS5nZXQoJ2xvbmdpdHVkZScpLFxuICAgICAgICAgIG9sRmVhdHVyZS5nZXQoJ2xhdGl0dWRlJylcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgcmFkaXVzID1cbiAgICAgICAgICBvbEZlYXR1cmUuZ2V0KCdyYWQnKSAvXG4gICAgICAgICAgTWF0aC5jb3MoKE1hdGguUEkgLyAxODApICogbG9uTGF0WzFdKSAvXG4gICAgICAgICAgcmVzb2x1dGlvbjtcbiAgICAgICAgY3VzdG9tU3R5bGUuY2lyY2xlLnJhZGl1cyA9IHJhZGl1cztcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN0eWxlU2VydmljZSA9IG5ldyBTdHlsZVNlcnZpY2UoKTtcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoY3VzdG9tU3R5bGUsIHVuZGVmaW5lZCwgcmVzb2x1dGlvbik7XG4gICAgfVxuICAgIGNvbnN0IHN0eWxlID0gbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgc3Ryb2tlLFxuICAgICAgZmlsbCxcbiAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xuICAgICAgICByYWRpdXM6IDUsXG4gICAgICAgIHN0cm9rZSxcbiAgICAgICAgZmlsbFxuICAgICAgfSksXG4gICAgICB0ZXh0OiBvbEZlYXR1cmUuZ2V0KCdfbWFwVGl0bGUnKVxuICAgICAgICA/IG5ldyBvbFN0eWxlLlRleHQoe1xuICAgICAgICAgICAgdGV4dDogb2xGZWF0dXJlLmdldCgnX21hcFRpdGxlJykudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIG9mZnNldFg6IDUsXG4gICAgICAgICAgICBvZmZzZXRZOiAtNSxcbiAgICAgICAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXG4gICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICcjMDAwJyB9KSxcbiAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6ICcjZmZmJywgd2lkdGg6IDMgfSksXG4gICAgICAgICAgICBvdmVyZmxvdzogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgfSk7XG4gICAgcmV0dXJuIHN0eWxlO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZVJhbmRvbVN0eWxlKCk6IG9sU3R5bGUuU3R5bGUge1xuICBjb25zdCByID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3QgZyA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IGIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBzdHJva2UgPSBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgIGNvbG9yOiBbciwgZywgYiwgMV0sXG4gICAgd2lkdGg6IDJcbiAgfSk7XG4gIGNvbnN0IGZpbGwgPSBuZXcgb2xTdHlsZS5GaWxsKHtcbiAgICBjb2xvcjogW3IsIGcsIGIsIDAuNF1cbiAgfSk7XG5cbiAgY29uc3Qgc3R5bGUgPSBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgc3Ryb2tlLFxuICAgIGZpbGwsXG4gICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XG4gICAgICByYWRpdXM6IDUsXG4gICAgICBzdHJva2UsXG4gICAgICBmaWxsXG4gICAgfSlcbiAgfSk7XG4gIHJldHVybiBzdHlsZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcG9pbnRlciBwb3NpdGlvbiBhbmQgaXQncyBsYWJlbCBzdW1tYXJ5LlxuICogQHBhcmFtIGZlYXR1cmUgb2xGZWF0dXJlXG4gKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaG92ZXJGZWF0dXJlTWFya2VyU3R5bGUoXG4gIGZlYXR1cmU6IG9sRmVhdHVyZTxvbEdlb20uR2VvbWV0cnk+XG4pOiBvbFN0eWxlLlN0eWxlW10ge1xuICBjb25zdCBvbFN0eWxlVGV4dCA9IG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICB0ZXh0OiBuZXcgb2xTdHlsZS5UZXh0KHtcbiAgICAgIHRleHQ6IGZlYXR1cmUuZ2V0KCdob3ZlclN1bW1hcnknKSxcbiAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgdGV4dEJhc2VsaW5lOiAndG9wJyxcbiAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXG4gICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICcjMDAwJyB9KSxcbiAgICAgIGJhY2tncm91bmRGaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIH0pLFxuICAgICAgYmFja2dyb3VuZFN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6ICdyZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNzUpJyxcbiAgICAgICAgd2lkdGg6IDJcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KSxcbiAgICAgIG92ZXJmbG93OiB0cnVlLFxuICAgICAgb2Zmc2V0WDogMTAsXG4gICAgICBvZmZzZXRZOiAyMCxcbiAgICAgIHBhZGRpbmc6IFsyLjUsIDIuNSwgMi41LCAyLjVdXG4gICAgfSlcbiAgfSk7XG4gIGNvbnN0IG9sU3R5bGVzID0gW29sU3R5bGVUZXh0XTtcbiAgc3dpdGNoIChmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpKSB7XG4gICAgY2FzZSAnUG9pbnQnOlxuICAgICAgb2xTdHlsZXMucHVzaChcbiAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xuICAgICAgICAgICAgcmFkaXVzOiAxMCxcbiAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgICAgY29sb3I6ICdibHVlJyxcbiAgICAgICAgICAgICAgd2lkdGg6IDNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgb2xTdHlsZXMucHVzaChcbiAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgd2lkdGg6IDVcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIG9sU3R5bGVzLnB1c2goXG4gICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgICBjb2xvcjogJ2JsdWUnLFxuICAgICAgICAgICAgd2lkdGg6IDNcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHJldHVybiBvbFN0eWxlcztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcG9pbnRlciBwb3NpdGlvbiBhbmQgaXQncyBsYWJlbCBzdW1tYXJ5LlxuICogQHBhcmFtIGZlYXR1cmUgb2xGZWF0dXJlXG4gKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlclN0eWxlKFxuICBmZWF0dXJlOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT5cbik6IG9sU3R5bGUuU3R5bGUge1xuICByZXR1cm4gbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgIGltYWdlOiBuZXcgb2xTdHlsZS5JY29uKHtcbiAgICAgIHNyYzogJy4vYXNzZXRzL2lnbzIvZ2VvL2ljb25zL2Nyb3NzX2JsYWNrXzE4cHguc3ZnJ1xuICAgIH0pLFxuXG4gICAgdGV4dDogbmV3IG9sU3R5bGUuVGV4dCh7XG4gICAgICB0ZXh0OiBmZWF0dXJlLmdldCgncG9pbnRlclN1bW1hcnknKSxcbiAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgdGV4dEJhc2VsaW5lOiAnYm90dG9tJyxcbiAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXG4gICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICcjMDAwJyB9KSxcbiAgICAgIGJhY2tncm91bmRGaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIH0pLFxuICAgICAgYmFja2dyb3VuZFN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6ICdyZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNzUpJyxcbiAgICAgICAgd2lkdGg6IDJcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KSxcbiAgICAgIG92ZXJmbG93OiB0cnVlLFxuICAgICAgb2Zmc2V0WDogMTAsXG4gICAgICBvZmZzZXRZOiAtMTAsXG4gICAgICBwYWRkaW5nOiBbMi41LCAyLjUsIDIuNSwgMi41XVxuICAgIH0pXG4gIH0pO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './feature-style';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zaGFyZWQvZmVhdHVyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLXN0eWxlJztcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export var FontType;
|
|
2
|
-
(function (FontType) {
|
|
3
|
-
FontType["Arial"] = "Arial";
|
|
4
|
-
FontType["ArialBlack"] = "Arial Black";
|
|
5
|
-
FontType["Verdana"] = "Verdana";
|
|
6
|
-
FontType["Tahoma"] = "Tahoma";
|
|
7
|
-
FontType["TrebuchetMS"] = "Trebuchet MS";
|
|
8
|
-
FontType["Impact"] = "Impact";
|
|
9
|
-
FontType["TimesNewRoman"] = "Times New Roman";
|
|
10
|
-
FontType["Georgia"] = "Georgia";
|
|
11
|
-
FontType["AmericanTypewriter"] = "American Typewriter";
|
|
12
|
-
FontType["Courier"] = "Courier";
|
|
13
|
-
FontType["LucidaConsole"] = "Lucida Console";
|
|
14
|
-
FontType["BrushScriptMT"] = "Brush Script MT";
|
|
15
|
-
FontType["ComicSansMS"] = "Comic Sans MS";
|
|
16
|
-
})(FontType || (FontType = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc2hhcmVkL2ZvbnQuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxRQWNYO0FBZEQsV0FBWSxRQUFRO0lBQ2xCLDJCQUFlLENBQUE7SUFDZixzQ0FBMEIsQ0FBQTtJQUMxQiwrQkFBbUIsQ0FBQTtJQUNuQiw2QkFBaUIsQ0FBQTtJQUNqQix3Q0FBNEIsQ0FBQTtJQUM1Qiw2QkFBaUIsQ0FBQTtJQUNqQiw2Q0FBaUMsQ0FBQTtJQUNqQywrQkFBbUIsQ0FBQTtJQUNuQixzREFBMEMsQ0FBQTtJQUMxQywrQkFBbUIsQ0FBQTtJQUNuQiw0Q0FBZ0MsQ0FBQTtJQUNoQyw2Q0FBaUMsQ0FBQTtJQUNqQyx5Q0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBZFcsUUFBUSxLQUFSLFFBQVEsUUFjbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBGb250VHlwZSB7XG4gIEFyaWFsID0gJ0FyaWFsJyxcbiAgQXJpYWxCbGFjayA9ICdBcmlhbCBCbGFjaycsXG4gIFZlcmRhbmEgPSAnVmVyZGFuYScsXG4gIFRhaG9tYSA9ICdUYWhvbWEnLFxuICBUcmVidWNoZXRNUyA9ICdUcmVidWNoZXQgTVMnLFxuICBJbXBhY3QgPSAnSW1wYWN0JyxcbiAgVGltZXNOZXdSb21hbiA9ICdUaW1lcyBOZXcgUm9tYW4nLFxuICBHZW9yZ2lhID0gJ0dlb3JnaWEnLFxuICBBbWVyaWNhblR5cGV3cml0ZXIgPSAnQW1lcmljYW4gVHlwZXdyaXRlcicsXG4gIENvdXJpZXIgPSAnQ291cmllcicsXG4gIEx1Y2lkYUNvbnNvbGUgPSAnTHVjaWRhIENvbnNvbGUnLFxuICBCcnVzaFNjcmlwdE1UID0gJ0JydXNoIFNjcmlwdCBNVCcsXG4gIENvbWljU2Fuc01TID0gJ0NvbWljIFNhbnMgTVMnXG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './datasource';
|
|
2
|
-
export * from './vector';
|
|
3
|
-
export * from './overlay';
|
|
4
|
-
export * from './feature';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGFzb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5JztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZSc7XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './overlay-marker-style.utils';
|
|
2
|
-
export * from './overlay-style.utils';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zaGFyZWQvb3ZlcmxheS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheS1zdHlsZS51dGlscyc7XG4iXX0=
|