@igo2/geo 19.0.0-next.10 → 19.0.0-next.12
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 +140 -111
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/datasource/shared/datasource.service.d.ts +5 -2
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -1
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -1
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +3 -1
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +2 -2
- package/lib/feature/shared/feature.interfaces.d.ts +4 -5
- package/lib/feature/shared/feature.utils.d.ts +1 -1
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -1
- package/lib/filter/shared/ogc-filter.service.d.ts +3 -2
- package/lib/import-export/shared/export.service.d.ts +1 -1
- package/lib/workspace/shared/edition-workspace.service.d.ts +2 -1
- package/package.json +23 -23
- package/style/style.css +4 -0
package/fesm2022/igo2-geo.mjs
CHANGED
|
@@ -37,6 +37,7 @@ import OlGeoJSON from 'ol/format/GeoJSON';
|
|
|
37
37
|
import * as olgeom from 'ol/geom';
|
|
38
38
|
import { Point } from 'ol/geom';
|
|
39
39
|
import * as olStyle from 'ol/style';
|
|
40
|
+
import { Style } from 'ol/style';
|
|
40
41
|
import * as olformat from 'ol/format';
|
|
41
42
|
import { EsriJSON, WMTSCapabilities, WMSCapabilities } from 'ol/format';
|
|
42
43
|
import OlVectorSource from 'ol/source/Vector';
|
|
@@ -127,17 +128,17 @@ import olLayerTile from 'ol/layer/Tile';
|
|
|
127
128
|
import olLayerVectorTile from 'ol/layer/VectorTile';
|
|
128
129
|
import { Group } from 'ol/layer.js';
|
|
129
130
|
import { ListComponent, ListItemDirective } from '@igo2/common/list';
|
|
130
|
-
import * as i6$
|
|
131
|
+
import * as i6$1 from '@angular/material/menu';
|
|
131
132
|
import { MatMenuModule } from '@angular/material/menu';
|
|
132
133
|
import * as i2$6 from '@igo2/common/form';
|
|
133
134
|
import { FormDialogService, FormComponent, FormFieldComponent, IgoFormFieldComponent } from '@igo2/common/form';
|
|
134
|
-
import * as
|
|
135
|
+
import * as i7$1 from '@igo2/auth';
|
|
135
136
|
import { AuthService } from '@igo2/auth';
|
|
136
137
|
import { stylefunction } from 'ol-mapbox-style';
|
|
137
138
|
import * as i1$5 from 'ngx-indexed-db';
|
|
138
139
|
import { DBMode, provideIndexedDb } from 'ngx-indexed-db';
|
|
139
140
|
import { FlatTreeControl, NestedTreeControl } from '@angular/cdk/tree';
|
|
140
|
-
import * as i7$
|
|
141
|
+
import * as i7$2 from '@angular/material/slider';
|
|
141
142
|
import { MatSliderModule, MatSlider } from '@angular/material/slider';
|
|
142
143
|
import * as i12 from '@angular/material/tree';
|
|
143
144
|
import { MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule, MatTreeNestedDataSource } from '@angular/material/tree';
|
|
@@ -159,7 +160,7 @@ import { bearingToAzimuth, lineString } from '@turf/helpers';
|
|
|
159
160
|
import striptags from 'striptags';
|
|
160
161
|
import * as i4$4 from '@igo2/core/analytics';
|
|
161
162
|
import { provideMomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
|
|
162
|
-
import * as i6$
|
|
163
|
+
import * as i6$2 from '@angular/material/datepicker';
|
|
163
164
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
164
165
|
import * as i4$5 from '@angular/material/button-toggle';
|
|
165
166
|
import { MatButtonToggleModule, MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS } from '@angular/material/button-toggle';
|
|
@@ -3343,6 +3344,7 @@ function handleFilterDate(filter, interfaceOgc, saveableInterface) {
|
|
|
3343
3344
|
class WFSDataSource extends DataSource {
|
|
3344
3345
|
options;
|
|
3345
3346
|
wfsService;
|
|
3347
|
+
ogcFilterService;
|
|
3346
3348
|
authInterceptor;
|
|
3347
3349
|
set ogcFilters(value) {
|
|
3348
3350
|
this.options.ogcFilters = value;
|
|
@@ -3356,14 +3358,15 @@ class WFSDataSource extends DataSource {
|
|
|
3356
3358
|
...baseOptions,
|
|
3357
3359
|
params: this.options.params,
|
|
3358
3360
|
...(this.ogcFilters && {
|
|
3359
|
-
ogcFilters: getSaveableOgcParams(this.ogcFilters)
|
|
3361
|
+
ogcFilters: getSaveableOgcParams(this.ogcFilters) // Workaround we force IOgcFiltersOptionSaveable to be detectd as OgcFiltersOptions
|
|
3360
3362
|
})
|
|
3361
3363
|
};
|
|
3362
3364
|
}
|
|
3363
|
-
constructor(options, wfsService, authInterceptor) {
|
|
3365
|
+
constructor(options, wfsService, ogcFilterService, authInterceptor) {
|
|
3364
3366
|
super(checkWfsParams(options, 'wfs'));
|
|
3365
3367
|
this.options = options;
|
|
3366
3368
|
this.wfsService = wfsService;
|
|
3369
|
+
this.ogcFilterService = ogcFilterService;
|
|
3367
3370
|
this.authInterceptor = authInterceptor;
|
|
3368
3371
|
const ogcFilters = this.options
|
|
3369
3372
|
.ogcFilters;
|
|
@@ -3391,6 +3394,9 @@ class WFSDataSource extends DataSource {
|
|
|
3391
3394
|
if (ogcFilters?.autocomplete) {
|
|
3392
3395
|
ogcFilters.autocomplete.selectorType = 'autocomplete';
|
|
3393
3396
|
}
|
|
3397
|
+
if (options?.ogcFilters?.enabled && options?.ogcFilters?.filters) {
|
|
3398
|
+
this.ogcFilterService.setOgcWFSFiltersOptions(this.options);
|
|
3399
|
+
}
|
|
3394
3400
|
this.setOgcFilters(this.options.ogcFilters, true);
|
|
3395
3401
|
}
|
|
3396
3402
|
createOlSource() {
|
|
@@ -3724,6 +3730,7 @@ var QueryHtmlTarget;
|
|
|
3724
3730
|
class WMSDataSource extends DataSource {
|
|
3725
3731
|
options;
|
|
3726
3732
|
wfsService;
|
|
3733
|
+
ogcFilterService;
|
|
3727
3734
|
get params() {
|
|
3728
3735
|
return this.options.params;
|
|
3729
3736
|
}
|
|
@@ -3780,10 +3787,11 @@ class WMSDataSource extends DataSource {
|
|
|
3780
3787
|
* is enable by default even if the workspace is not use the layer will still be refreshed.
|
|
3781
3788
|
*/
|
|
3782
3789
|
enableRefresh = false;
|
|
3783
|
-
constructor(options, wfsService) {
|
|
3790
|
+
constructor(options, wfsService, ogcFilterService) {
|
|
3784
3791
|
super(options);
|
|
3785
3792
|
this.options = options;
|
|
3786
3793
|
this.wfsService = wfsService;
|
|
3794
|
+
this.ogcFilterService = ogcFilterService;
|
|
3787
3795
|
const sourceParams = options.params;
|
|
3788
3796
|
const dpi = sourceParams.DPI || 96;
|
|
3789
3797
|
sourceParams.DPI = dpi;
|
|
@@ -3865,6 +3873,9 @@ class WMSDataSource extends DataSource {
|
|
|
3865
3873
|
(options.sourceFields || []).filter((sf) => !sf.values).length > 0) {
|
|
3866
3874
|
this.wfsService.getSourceFieldsFromWFS(options);
|
|
3867
3875
|
}
|
|
3876
|
+
if (options.ogcFilters?.enabled && options.ogcFilters?.filters) {
|
|
3877
|
+
this.ogcFilterService.setOgcWMSFiltersOptions(this);
|
|
3878
|
+
}
|
|
3868
3879
|
const filterQueryString = ogcFilterWriter.handleOgcFiltersAppliedValue(options, fieldNameGeometry);
|
|
3869
3880
|
sourceParams.FILTER = filterQueryString;
|
|
3870
3881
|
this.ol.updateParams({ FILTER: sourceParams.FILTER });
|
|
@@ -4611,26 +4622,28 @@ function olStyleToBasicIgoStyle(layer) {
|
|
|
4611
4622
|
if (typeof layerOlStyle === 'function' || layerOlStyle instanceof Array) {
|
|
4612
4623
|
return;
|
|
4613
4624
|
}
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
color: layerOlStyle.getFill().getColor()
|
|
4617
|
-
},
|
|
4618
|
-
stroke: {
|
|
4619
|
-
color: layerOlStyle.getStroke().getColor(),
|
|
4620
|
-
width: 2
|
|
4621
|
-
},
|
|
4622
|
-
circle: {
|
|
4625
|
+
if (layerOlStyle instanceof Style) {
|
|
4626
|
+
return {
|
|
4623
4627
|
fill: {
|
|
4624
|
-
color: layerOlStyle.
|
|
4628
|
+
color: layerOlStyle.getFill().getColor()
|
|
4625
4629
|
},
|
|
4626
4630
|
stroke: {
|
|
4627
|
-
color: layerOlStyle.
|
|
4631
|
+
color: layerOlStyle.getStroke().getColor(),
|
|
4628
4632
|
width: 2
|
|
4629
4633
|
},
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
+
circle: {
|
|
4635
|
+
fill: {
|
|
4636
|
+
color: layerOlStyle.getImage().getFill().getColor()
|
|
4637
|
+
},
|
|
4638
|
+
stroke: {
|
|
4639
|
+
color: layerOlStyle.getImage().getStroke().getColor(),
|
|
4640
|
+
width: 2
|
|
4641
|
+
},
|
|
4642
|
+
radius: 5
|
|
4643
|
+
}
|
|
4644
|
+
};
|
|
4645
|
+
}
|
|
4646
|
+
return;
|
|
4634
4647
|
}
|
|
4635
4648
|
|
|
4636
4649
|
class VectorWatcher extends Watcher {
|
|
@@ -6735,7 +6748,7 @@ function featuresAreTooDeepInView(viewController, featuresExtent, areaRatio) {
|
|
|
6735
6748
|
function moveToOlFeatures(viewController, olFeatures, motion = FeatureMotion.Default, scale, areaRatio) {
|
|
6736
6749
|
const extent = viewController.getExtent();
|
|
6737
6750
|
const projection = viewController.getOlProjection();
|
|
6738
|
-
const featuresExtent = computeOlFeaturesExtent(olFeatures, projection);
|
|
6751
|
+
const featuresExtent = computeOlFeaturesExtent(Array.isArray(olFeatures) ? olFeatures : [olFeatures], projection);
|
|
6739
6752
|
let viewExtent = featuresExtent;
|
|
6740
6753
|
if (scale !== undefined) {
|
|
6741
6754
|
viewExtent = scaleExtent(viewExtent, scale);
|
|
@@ -10109,9 +10122,11 @@ class TileLayer extends Layer {
|
|
|
10109
10122
|
});
|
|
10110
10123
|
const tileLayer = new olLayerTile(olOptions);
|
|
10111
10124
|
const tileSource = tileLayer.getSource();
|
|
10112
|
-
|
|
10113
|
-
|
|
10114
|
-
|
|
10125
|
+
if ('setTileLoadFunction' in tileSource) {
|
|
10126
|
+
tileSource.setTileLoadFunction((tile, url) => {
|
|
10127
|
+
this.customLoader(tile, url, this.authInterceptor);
|
|
10128
|
+
});
|
|
10129
|
+
}
|
|
10115
10130
|
return tileLayer;
|
|
10116
10131
|
}
|
|
10117
10132
|
/**
|
|
@@ -11049,6 +11064,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
11049
11064
|
type: Output
|
|
11050
11065
|
}] } });
|
|
11051
11066
|
|
|
11067
|
+
class OGCFilterService {
|
|
11068
|
+
filterByOgc(wmsDatasource, filterString) {
|
|
11069
|
+
const appliedFilter = new OgcFilterWriter().formatProcessedOgcFilter(filterString, wmsDatasource.options.params.LAYERS);
|
|
11070
|
+
wmsDatasource.ol.updateParams({ FILTER: appliedFilter });
|
|
11071
|
+
}
|
|
11072
|
+
setOgcWFSFiltersOptions(options) {
|
|
11073
|
+
const ogcFilterWriter = new OgcFilterWriter();
|
|
11074
|
+
if (options.ogcFilters.enabled && options.ogcFilters.filters) {
|
|
11075
|
+
options.ogcFilters.filters = ogcFilterWriter.checkIgoFiltersProperties(options.ogcFilters.filters, options.paramsWFS.fieldNameGeometry, new olProjection({ code: options.paramsWFS.srsName }), true);
|
|
11076
|
+
if (!options.ogcFilters.interfaceOgcFilters) {
|
|
11077
|
+
options.ogcFilters.interfaceOgcFilters =
|
|
11078
|
+
ogcFilterWriter.defineInterfaceFilterSequence(options.ogcFilters.filters, options.paramsWFS.fieldNameGeometry);
|
|
11079
|
+
}
|
|
11080
|
+
else {
|
|
11081
|
+
const mergedInterfaceOgcFilters = this.mergeInterfaceFilters(options.ogcFilters.filters, options.ogcFilters.interfaceOgcFilters);
|
|
11082
|
+
options.ogcFilters.interfaceOgcFilters =
|
|
11083
|
+
ogcFilterWriter.defineInterfaceFilterSequence(mergedInterfaceOgcFilters, options.paramsWFS.fieldNameGeometry);
|
|
11084
|
+
}
|
|
11085
|
+
}
|
|
11086
|
+
}
|
|
11087
|
+
setOgcWMSFiltersOptions(wmsDatasource) {
|
|
11088
|
+
const options = wmsDatasource.options;
|
|
11089
|
+
const ogcFilterWriter = new OgcFilterWriter();
|
|
11090
|
+
if (options.ogcFilters.enabled && options.ogcFilters.filters) {
|
|
11091
|
+
options.ogcFilters.filters = ogcFilterWriter.checkIgoFiltersProperties(options.ogcFilters.filters, options.fieldNameGeometry, undefined, true);
|
|
11092
|
+
if (!options.ogcFilters.interfaceOgcFilters) {
|
|
11093
|
+
options.ogcFilters.interfaceOgcFilters =
|
|
11094
|
+
ogcFilterWriter.defineInterfaceFilterSequence(
|
|
11095
|
+
// With some wms server, this param must be set to make spatials call.
|
|
11096
|
+
options.ogcFilters.filters, options.fieldNameGeometry);
|
|
11097
|
+
}
|
|
11098
|
+
else {
|
|
11099
|
+
const mergedInterfaceOgcFilters = this.mergeInterfaceFilters(options.ogcFilters.filters, options.ogcFilters.interfaceOgcFilters);
|
|
11100
|
+
options.ogcFilters.interfaceOgcFilters =
|
|
11101
|
+
ogcFilterWriter.defineInterfaceFilterSequence(mergedInterfaceOgcFilters, options.fieldNameGeometry);
|
|
11102
|
+
}
|
|
11103
|
+
this.filterByOgc(wmsDatasource, ogcFilterWriter.buildFilter(options.ogcFilters.filters, undefined, undefined, undefined, wmsDatasource.options));
|
|
11104
|
+
options.filtered = true;
|
|
11105
|
+
}
|
|
11106
|
+
else {
|
|
11107
|
+
options.ogcFilters.filters = undefined;
|
|
11108
|
+
options.ogcFilters.interfaceOgcFilters = [];
|
|
11109
|
+
options.filtered = false;
|
|
11110
|
+
}
|
|
11111
|
+
}
|
|
11112
|
+
mergeInterfaceFilters(filters, interfaceOgcFilters) {
|
|
11113
|
+
return interfaceOgcFilters.map((interfaceOgc) => {
|
|
11114
|
+
const filter = searchFilter(filters, 'propertyName', interfaceOgc.propertyName);
|
|
11115
|
+
if (filter) {
|
|
11116
|
+
return { ...interfaceOgc, filterid: filter.filterid };
|
|
11117
|
+
}
|
|
11118
|
+
return interfaceOgc;
|
|
11119
|
+
});
|
|
11120
|
+
}
|
|
11121
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OGCFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11122
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OGCFilterService, providedIn: 'platform' });
|
|
11123
|
+
}
|
|
11124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OGCFilterService, decorators: [{
|
|
11125
|
+
type: Injectable,
|
|
11126
|
+
args: [{
|
|
11127
|
+
providedIn: 'platform'
|
|
11128
|
+
}]
|
|
11129
|
+
}] });
|
|
11130
|
+
|
|
11052
11131
|
class OptionsService {
|
|
11053
11132
|
}
|
|
11054
11133
|
|
|
@@ -11056,14 +11135,16 @@ class DataSourceService {
|
|
|
11056
11135
|
capabilitiesService;
|
|
11057
11136
|
optionsService;
|
|
11058
11137
|
wfsDataSourceService;
|
|
11138
|
+
ogcFilterService;
|
|
11059
11139
|
languageService;
|
|
11060
11140
|
messageService;
|
|
11061
11141
|
authInterceptor;
|
|
11062
11142
|
datasources$ = new BehaviorSubject([]);
|
|
11063
|
-
constructor(capabilitiesService, optionsService, wfsDataSourceService, languageService, messageService, authInterceptor) {
|
|
11143
|
+
constructor(capabilitiesService, optionsService, wfsDataSourceService, ogcFilterService, languageService, messageService, authInterceptor) {
|
|
11064
11144
|
this.capabilitiesService = capabilitiesService;
|
|
11065
11145
|
this.optionsService = optionsService;
|
|
11066
11146
|
this.wfsDataSourceService = wfsDataSourceService;
|
|
11147
|
+
this.ogcFilterService = ogcFilterService;
|
|
11067
11148
|
this.languageService = languageService;
|
|
11068
11149
|
this.messageService = messageService;
|
|
11069
11150
|
this.authInterceptor = authInterceptor;
|
|
@@ -11137,7 +11218,7 @@ class DataSourceService {
|
|
|
11137
11218
|
return new Observable((d) => d.next(new WebSocketDataSource(context)));
|
|
11138
11219
|
}
|
|
11139
11220
|
createWFSDataSource(context) {
|
|
11140
|
-
return new Observable((d) => d.next(new WFSDataSource(context, this.wfsDataSourceService, this.authInterceptor)));
|
|
11221
|
+
return new Observable((d) => d.next(new WFSDataSource(context, this.wfsDataSourceService, this.ogcFilterService, this.authInterceptor)));
|
|
11141
11222
|
}
|
|
11142
11223
|
createWMSDataSource(context, detailedContextUri) {
|
|
11143
11224
|
const observables = [];
|
|
@@ -11160,11 +11241,23 @@ class DataSourceService {
|
|
|
11160
11241
|
observables.push(of(context));
|
|
11161
11242
|
return forkJoin(observables).pipe(map((options) => {
|
|
11162
11243
|
const optionsMerged = options.reduce((a, b) => ObjectUtils.mergeDeep(a, b));
|
|
11163
|
-
|
|
11244
|
+
if (optionsMerged?.params) {
|
|
11245
|
+
optionsMerged.params = this.normalizeParams(optionsMerged.params);
|
|
11246
|
+
}
|
|
11247
|
+
return new WMSDataSource(optionsMerged, this.wfsDataSourceService, this.ogcFilterService);
|
|
11164
11248
|
}), catchError$1(() => {
|
|
11165
11249
|
return of(undefined);
|
|
11166
11250
|
}));
|
|
11167
11251
|
}
|
|
11252
|
+
normalizeParams(params) {
|
|
11253
|
+
const uppercasedParams = {};
|
|
11254
|
+
for (const key in params) {
|
|
11255
|
+
if (Object.prototype.hasOwnProperty.call(params, key)) {
|
|
11256
|
+
uppercasedParams[key.toUpperCase()] = params[key];
|
|
11257
|
+
}
|
|
11258
|
+
}
|
|
11259
|
+
return uppercasedParams;
|
|
11260
|
+
}
|
|
11168
11261
|
createWMTSDataSource(context) {
|
|
11169
11262
|
if (context.optionsFromCapabilities && window.navigator.onLine) {
|
|
11170
11263
|
return this.capabilitiesService.getWMTSOptions(context).pipe(map((options) => {
|
|
@@ -11280,7 +11373,7 @@ class DataSourceService {
|
|
|
11280
11373
|
createClusterDataSource(context) {
|
|
11281
11374
|
return new Observable((d) => d.next(new ClusterDataSource(context)));
|
|
11282
11375
|
}
|
|
11283
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataSourceService, deps: [{ token: CapabilitiesService }, { token: OptionsService, optional: true }, { token: WFSService }, { token: i1$1.LanguageService }, { token: i2.MessageService }, { token:
|
|
11376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataSourceService, deps: [{ token: CapabilitiesService }, { token: OptionsService, optional: true }, { token: WFSService }, { token: OGCFilterService }, { token: i1$1.LanguageService }, { token: i2.MessageService }, { token: i7$1.AuthInterceptor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11284
11377
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataSourceService, providedIn: 'root' });
|
|
11285
11378
|
}
|
|
11286
11379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataSourceService, decorators: [{
|
|
@@ -11290,7 +11383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
11290
11383
|
}]
|
|
11291
11384
|
}], ctorParameters: () => [{ type: CapabilitiesService }, { type: OptionsService, decorators: [{
|
|
11292
11385
|
type: Optional
|
|
11293
|
-
}] }, { type: WFSService }, { type: i1$1.LanguageService }, { type: i2.MessageService }, { type:
|
|
11386
|
+
}] }, { type: WFSService }, { type: OGCFilterService }, { type: i1$1.LanguageService }, { type: i2.MessageService }, { type: i7$1.AuthInterceptor }] });
|
|
11294
11387
|
|
|
11295
11388
|
class LayerDBService {
|
|
11296
11389
|
ngxIndexedDBService;
|
|
@@ -12267,7 +12360,7 @@ class LayerService {
|
|
|
12267
12360
|
sourceOptionsWithLayer(sourceOptions) {
|
|
12268
12361
|
return 'layer' in sourceOptions;
|
|
12269
12362
|
}
|
|
12270
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: LayerService, deps: [{ token: i1.HttpClient }, { token: StyleService }, { token: DataSourceService }, { token: i2.MessageService }, { token: GeoNetworkService, optional: true }, { token: LayerDBService, optional: true }, { token:
|
|
12363
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: LayerService, deps: [{ token: i1.HttpClient }, { token: StyleService }, { token: DataSourceService }, { token: i2.MessageService }, { token: GeoNetworkService, optional: true }, { token: LayerDBService, optional: true }, { token: i7$1.AuthInterceptor, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12271
12364
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: LayerService, providedIn: 'root' });
|
|
12272
12365
|
}
|
|
12273
12366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: LayerService, decorators: [{
|
|
@@ -12279,7 +12372,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
12279
12372
|
type: Optional
|
|
12280
12373
|
}] }, { type: LayerDBService, decorators: [{
|
|
12281
12374
|
type: Optional
|
|
12282
|
-
}] }, { type:
|
|
12375
|
+
}] }, { type: i7$1.AuthInterceptor, decorators: [{
|
|
12283
12376
|
type: Optional
|
|
12284
12377
|
}] }] });
|
|
12285
12378
|
|
|
@@ -13034,7 +13127,7 @@ class LayerViewerBottomActionsComponent {
|
|
|
13034
13127
|
return this.controller.selected.every((layer) => this.isLowerable(layer));
|
|
13035
13128
|
}
|
|
13036
13129
|
get canRename() {
|
|
13037
|
-
if (!this.viewerOptions.group
|
|
13130
|
+
if (!this.viewerOptions.group?.canRename || this.selected.length > 1) {
|
|
13038
13131
|
return false;
|
|
13039
13132
|
}
|
|
13040
13133
|
const layer = this.selected[0];
|
|
@@ -13152,7 +13245,7 @@ class LayerViewerBottomActionsComponent {
|
|
|
13152
13245
|
return layer.options.removable !== false;
|
|
13153
13246
|
}
|
|
13154
13247
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: LayerViewerBottomActionsComponent, deps: [{ token: LayerListToolService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13155
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: LayerViewerBottomActionsComponent, isStandalone: true, selector: "igo-layer-viewer-bottom-actions", inputs: { map: "map", controller: "controller", searchTerm: "searchTerm", viewerOptions: "viewerOptions" }, outputs: { layerChange: "layerChange" }, providers: [LayerListToolService, FormDialogService], ngImport: i0, template: "<igo-panel\n class=\"igo-layer-actions-container\"\n [title]=\"\n hasMultipleSelection\n ? ('igo.geo.layer.tools' | translate)\n : selected[0].title\n \"\n>\n <div class=\"igo-layer-button-group\">\n <button\n *ngIf=\"isLayersRemovable(selected)\"\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? isLayersRemovable(selected)\n ? ('igo.geo.layer.removeSelectedLayers' | translate)\n : ('igo.geo.layer.removeSelectedLayersRestriction' | translate)\n : 'igo.geo.layer.removeLayer'\n ) | translate\n \"\n (click)=\"removeLayers()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"'!'\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!hasMultipleSelection || isLayersRemovable(selected)\"\n >delete</mat-icon\n >\n </button>\n\n <button\n *ngIf=\"hasMultipleSelection\"\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"selected.length === 0\"\n [matTooltip]=\"\n allSelectionVisibilityHidden\n ? ('igo.geo.layer.showSelectedLayers' | translate)\n : ('igo.geo.layer.hideSelectedLayers' | translate)\n \"\n (click)=\"toggleSelectionVisibility()\"\n >\n <mat-icon>{{\n allSelectionVisibilityHidden ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm\n ? ('igo.geo.layer.filterLowerLayer' | translate)\n : ('igo.geo.layer.lowerLayer' | translate)\n \"\n [disabled]=\"!isSelectionLowerable\"\n (click)=\"lowerSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionLowerable\"\n >arrow_downward</mat-icon\n >\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm\n ? ('igo.geo.layer.filterRaiseLayer' | translate)\n : ('igo.geo.layer.raiseLayer' | translate)\n \"\n [disabled]=\"!isSelectionRaisable\"\n (click)=\"raiseSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionRaisable\"\n >arrow_upward</mat-icon\n >\n </button>\n\n <ng-container *ngIf=\"controller.selected.length === 1\">\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"opacity === 100 ? null : opacity\"\n matBadgeColor=\"primary\"\n matBadgeSize=\"medium\"\n >opacity</mat-icon\n >\n </button>\n\n <mat-menu #opacityMenu=\"matMenu\" class=\"panel-opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n discrete\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click)=\"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"opacity\"\n (input)=\"\n changeOpacity({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n </mat-menu>\n </ng-container>\n\n <button\n *ngIf=\"isExtentsValid()\"\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? 'igo.geo.layer.zoomLayers'\n : 'igo.geo.layer.zoomLayer'\n ) | translate\n \"\n (click)=\"zoomLayersExtents()\"\n >\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\"\n >frame_inspect</mat-icon\n >\n </button>\n\n <button\n *ngIf=\"canRename\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.group.rename' | translate\"\n (click)=\"handleRename()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n\n <ng-content></ng-content>\n </div>\n</igo-panel>\n", styles: [".igo-layer-actions-container{padding:0 6px 0 4px}.igo-layer-actions-container>div{text-align:center}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:4px}igo-panel{height:unset}::ng-deep .panel-opacity-menu{overflow:visible!important}::ng-deep .panel-opacity-menu #opacity-slider{margin:0 16px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$
|
|
13248
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: LayerViewerBottomActionsComponent, isStandalone: true, selector: "igo-layer-viewer-bottom-actions", inputs: { map: "map", controller: "controller", searchTerm: "searchTerm", viewerOptions: "viewerOptions" }, outputs: { layerChange: "layerChange" }, providers: [LayerListToolService, FormDialogService], ngImport: i0, template: "<igo-panel\n class=\"igo-layer-actions-container\"\n [title]=\"\n hasMultipleSelection\n ? ('igo.geo.layer.tools' | translate)\n : selected[0].title\n \"\n>\n <div class=\"igo-layer-button-group\">\n <button\n *ngIf=\"isLayersRemovable(selected)\"\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? isLayersRemovable(selected)\n ? ('igo.geo.layer.removeSelectedLayers' | translate)\n : ('igo.geo.layer.removeSelectedLayersRestriction' | translate)\n : 'igo.geo.layer.removeLayer'\n ) | translate\n \"\n (click)=\"removeLayers()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"'!'\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!hasMultipleSelection || isLayersRemovable(selected)\"\n >delete</mat-icon\n >\n </button>\n\n <button\n *ngIf=\"hasMultipleSelection\"\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"selected.length === 0\"\n [matTooltip]=\"\n allSelectionVisibilityHidden\n ? ('igo.geo.layer.showSelectedLayers' | translate)\n : ('igo.geo.layer.hideSelectedLayers' | translate)\n \"\n (click)=\"toggleSelectionVisibility()\"\n >\n <mat-icon>{{\n allSelectionVisibilityHidden ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm\n ? ('igo.geo.layer.filterLowerLayer' | translate)\n : ('igo.geo.layer.lowerLayer' | translate)\n \"\n [disabled]=\"!isSelectionLowerable\"\n (click)=\"lowerSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionLowerable\"\n >arrow_downward</mat-icon\n >\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm\n ? ('igo.geo.layer.filterRaiseLayer' | translate)\n : ('igo.geo.layer.raiseLayer' | translate)\n \"\n [disabled]=\"!isSelectionRaisable\"\n (click)=\"raiseSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionRaisable\"\n >arrow_upward</mat-icon\n >\n </button>\n\n <ng-container *ngIf=\"controller.selected.length === 1\">\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"opacity === 100 ? null : opacity\"\n matBadgeColor=\"primary\"\n matBadgeSize=\"medium\"\n >opacity</mat-icon\n >\n </button>\n\n <mat-menu #opacityMenu=\"matMenu\" class=\"panel-opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n discrete\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click)=\"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"opacity\"\n (input)=\"\n changeOpacity({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n </mat-menu>\n </ng-container>\n\n <button\n *ngIf=\"isExtentsValid()\"\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? 'igo.geo.layer.zoomLayers'\n : 'igo.geo.layer.zoomLayer'\n ) | translate\n \"\n (click)=\"zoomLayersExtents()\"\n >\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\"\n >frame_inspect</mat-icon\n >\n </button>\n\n <button\n *ngIf=\"canRename\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.group.rename' | translate\"\n (click)=\"handleRename()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n\n <ng-content></ng-content>\n </div>\n</igo-panel>\n", styles: [".igo-layer-actions-container{padding:0 6px 0 4px}.igo-layer-actions-container>div{text-align:center}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:4px}igo-panel{height:unset}::ng-deep .panel-opacity-menu{overflow:visible!important}::ng-deep .panel-opacity-menu #opacity-slider{margin:0 16px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i6$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i7$2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i7$2.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }] });
|
|
13156
13249
|
}
|
|
13157
13250
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: LayerViewerBottomActionsComponent, decorators: [{
|
|
13158
13251
|
type: Component,
|
|
@@ -18182,68 +18275,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
18182
18275
|
type: Injectable
|
|
18183
18276
|
}] });
|
|
18184
18277
|
|
|
18185
|
-
class OGCFilterService {
|
|
18186
|
-
filterByOgc(wmsDatasource, filterString) {
|
|
18187
|
-
const appliedFilter = new OgcFilterWriter().formatProcessedOgcFilter(filterString, wmsDatasource.options.params.LAYERS);
|
|
18188
|
-
wmsDatasource.ol.updateParams({ FILTER: appliedFilter });
|
|
18189
|
-
}
|
|
18190
|
-
setOgcWFSFiltersOptions(wfsDatasource) {
|
|
18191
|
-
const options = wfsDatasource.options;
|
|
18192
|
-
const ogcFilterWriter = new OgcFilterWriter();
|
|
18193
|
-
if (options.ogcFilters.enabled && options.ogcFilters.filters) {
|
|
18194
|
-
options.ogcFilters.filters = ogcFilterWriter.checkIgoFiltersProperties(options.ogcFilters.filters, options.paramsWFS.fieldNameGeometry, new olProjection({ code: options.paramsWFS.srsName }), true);
|
|
18195
|
-
if (!options.ogcFilters.interfaceOgcFilters) {
|
|
18196
|
-
options.ogcFilters.interfaceOgcFilters =
|
|
18197
|
-
ogcFilterWriter.defineInterfaceFilterSequence(options.ogcFilters.filters, options.paramsWFS.fieldNameGeometry);
|
|
18198
|
-
}
|
|
18199
|
-
else {
|
|
18200
|
-
const mergedInterfaceOgcFilters = this.mergeInterfaceFilters(options.ogcFilters.filters, options.ogcFilters.interfaceOgcFilters);
|
|
18201
|
-
options.ogcFilters.interfaceOgcFilters =
|
|
18202
|
-
ogcFilterWriter.defineInterfaceFilterSequence(mergedInterfaceOgcFilters, options.paramsWFS.fieldNameGeometry);
|
|
18203
|
-
}
|
|
18204
|
-
}
|
|
18205
|
-
}
|
|
18206
|
-
setOgcWMSFiltersOptions(wmsDatasource) {
|
|
18207
|
-
const options = wmsDatasource.options;
|
|
18208
|
-
const ogcFilterWriter = new OgcFilterWriter();
|
|
18209
|
-
if (options.ogcFilters.enabled && options.ogcFilters.filters) {
|
|
18210
|
-
options.ogcFilters.filters = ogcFilterWriter.checkIgoFiltersProperties(options.ogcFilters.filters, options.fieldNameGeometry, undefined, true);
|
|
18211
|
-
if (!options.ogcFilters.interfaceOgcFilters) {
|
|
18212
|
-
options.ogcFilters.interfaceOgcFilters =
|
|
18213
|
-
ogcFilterWriter.defineInterfaceFilterSequence(
|
|
18214
|
-
// With some wms server, this param must be set to make spatials call.
|
|
18215
|
-
options.ogcFilters.filters, options.fieldNameGeometry);
|
|
18216
|
-
}
|
|
18217
|
-
else {
|
|
18218
|
-
const mergedInterfaceOgcFilters = this.mergeInterfaceFilters(options.ogcFilters.filters, options.ogcFilters.interfaceOgcFilters);
|
|
18219
|
-
options.ogcFilters.interfaceOgcFilters =
|
|
18220
|
-
ogcFilterWriter.defineInterfaceFilterSequence(mergedInterfaceOgcFilters, options.fieldNameGeometry);
|
|
18221
|
-
}
|
|
18222
|
-
this.filterByOgc(wmsDatasource, ogcFilterWriter.buildFilter(options.ogcFilters.filters, undefined, undefined, undefined, wmsDatasource.options));
|
|
18223
|
-
options.filtered = true;
|
|
18224
|
-
}
|
|
18225
|
-
else {
|
|
18226
|
-
options.ogcFilters.filters = undefined;
|
|
18227
|
-
options.ogcFilters.interfaceOgcFilters = [];
|
|
18228
|
-
options.filtered = false;
|
|
18229
|
-
}
|
|
18230
|
-
}
|
|
18231
|
-
mergeInterfaceFilters(filters, interfaceOgcFilters) {
|
|
18232
|
-
return interfaceOgcFilters.map((interfaceOgc) => {
|
|
18233
|
-
const filter = searchFilter(filters, 'propertyName', interfaceOgc.propertyName);
|
|
18234
|
-
if (filter) {
|
|
18235
|
-
return { ...interfaceOgc, filterid: filter.filterid };
|
|
18236
|
-
}
|
|
18237
|
-
return interfaceOgc;
|
|
18238
|
-
});
|
|
18239
|
-
}
|
|
18240
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OGCFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18241
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OGCFilterService });
|
|
18242
|
-
}
|
|
18243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OGCFilterService, decorators: [{
|
|
18244
|
-
type: Injectable
|
|
18245
|
-
}] });
|
|
18246
|
-
|
|
18247
18278
|
var SpatialFilterQueryType;
|
|
18248
18279
|
(function (SpatialFilterQueryType) {
|
|
18249
18280
|
SpatialFilterQueryType["AdmRegion"] = "AdmRegion";
|
|
@@ -19122,7 +19153,7 @@ class OgcFilterTimeSliderComponent {
|
|
|
19122
19153
|
}
|
|
19123
19154
|
}
|
|
19124
19155
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OgcFilterTimeSliderComponent, deps: [{ token: OGCFilterTimeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: OgcFilterTimeSliderComponent, isStandalone: true, selector: "igo-ogc-filter-time-slider", inputs: { currentFilter: "currentFilter", begin: "begin", max: "max", datasource: "datasource" }, outputs: { changeProperty: "changeProperty" }, providers: [OGCFilterTimeService], viewQueries: [{ propertyName: "slider", first: true, predicate: MatSlider, descendants: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <mat-slider\n id=\"time-slider\"\n [step]=\"1\"\n [min]=\"1\"\n [max]=\"calculatedStep\"\n [(ngModel)]=\"sliderValue\"\n [displayWith]=\"sliderDisplayWith\"\n thumbLabel\n #ngSlider\n ><input\n matSliderThumb\n (input)=\"\n handleSliderInput({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter()\">\n <mat-icon>{{ playIcon }}</mat-icon>\n </button>\n <button mat-icon-button color=\"primary\" (click)=\"resetFilter()\">\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n</div>\n", styles: [":host ::ng-deep input{text-align:center!important;margin:auto 5px!important}:host .datetime-container{text-align:center}:host .slider-container{text-align:center}:host .datetime-input{display:inline-block;margin:5px 25px}:host .date-input{width:120px;margin-right:25px}:host .time-input{display:inherit;margin-right:25px}:host .hour-input,:host .minute-input{width:40px}:host .minute-input{margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i7$
|
|
19156
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: OgcFilterTimeSliderComponent, isStandalone: true, selector: "igo-ogc-filter-time-slider", inputs: { currentFilter: "currentFilter", begin: "begin", max: "max", datasource: "datasource" }, outputs: { changeProperty: "changeProperty" }, providers: [OGCFilterTimeService], viewQueries: [{ propertyName: "slider", first: true, predicate: MatSlider, descendants: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <mat-slider\n id=\"time-slider\"\n [step]=\"1\"\n [min]=\"1\"\n [max]=\"calculatedStep\"\n [(ngModel)]=\"sliderValue\"\n [displayWith]=\"sliderDisplayWith\"\n thumbLabel\n #ngSlider\n ><input\n matSliderThumb\n (input)=\"\n handleSliderInput({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter()\">\n <mat-icon>{{ playIcon }}</mat-icon>\n </button>\n <button mat-icon-button color=\"primary\" (click)=\"resetFilter()\">\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n</div>\n", styles: [":host ::ng-deep input{text-align:center!important;margin:auto 5px!important}:host .datetime-container{text-align:center}:host .slider-container{text-align:center}:host .datetime-input{display:inline-block;margin:5px 25px}:host .date-input{width:120px;margin-right:25px}:host .time-input{display:inherit;margin-right:25px}:host .hour-input,:host .minute-input{width:40px}:host .minute-input{margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i7$2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i7$2.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
19126
19157
|
}
|
|
19127
19158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OgcFilterTimeSliderComponent, decorators: [{
|
|
19128
19159
|
type: Component,
|
|
@@ -19745,7 +19776,7 @@ class OgcFilterTimeComponent {
|
|
|
19745
19776
|
return date instanceof Date && !isNaN(date.getTime());
|
|
19746
19777
|
}
|
|
19747
19778
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OgcFilterTimeComponent, deps: [{ token: OGCFilterTimeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19748
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: OgcFilterTimeComponent, isStandalone: true, selector: "igo-ogc-filter-time", inputs: { datasource: "datasource", currentFilter: "currentFilter" }, outputs: { changeProperty: "changeProperty" }, providers: [OGCFilterTimeService, provideMomentDateAdapter()], viewQueries: [{ propertyName: "endDatepickerTime", first: true, predicate: ["endDatepickerTime"], descendants: true }, { propertyName: "beginDatepickerTime", first: true, predicate: ["beginDatepickerTime"], descendants: true }, { propertyName: "beginTime", first: true, predicate: ["beginTime"], descendants: true }, { propertyName: "endTime", first: true, predicate: ["endTime"], descendants: true }], ngImport: i0, template: "<div class=\"datetime-container\">\n <mat-slide-toggle\n *ngIf=\"this.currentFilter.sliderOptions?.enabled\"\n [(ngModel)]=\"sliderMode\"\n (change)=\"modeChange($event)\"\n >\n {{ 'igo.geo.filter.sliderModeTitle' | translate }}\n </mat-slide-toggle>\n\n <div class=\"slider-container\" *ngIf=\"sliderMode\">\n <igo-ogc-filter-time-slider\n [begin]=\"beginValue\"\n [max]=\"this.restrictedToStep() ? this.maxDate : this.endValue\"\n [currentFilter]=\"currentFilter\"\n [datasource]=\"datasource\"\n (changeProperty)=\"changePropertyByPass($event)\"\n >\n </igo-ogc-filter-time-slider>\n </div>\n\n <div *ngIf=\"!sliderMode\">\n <div class=\"year-input-container\" *ngIf=\"calendarTypeYear\">\n <!-- to emulate a year-picker, 2 input: first input to show user just year and second input hiden and bind \n with the datepicker -->\n <mat-form-field class=\"year-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.startYear' | translate }}</mat-label>\n <input\n matInput\n class=\"year-input-only-year\"\n value=\"{{ onlyYearBegin }}\"\n (change)=\"yearOnlyInputChange($event, beginDatepicker, 'begin')\"\n [disabled]=\"filterStateDisable\"\n />\n <mat-datepicker-toggle\n matSuffix\n [for]=\"beginDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n\n <mat-datepicker\n panelClass=\"datepicker-year\"\n #beginDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"beginValue\"\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\n >\n </mat-datepicker>\n\n <input\n #beginYear\n class=\"year-input-hide\"\n matInput\n [matDatepicker]=\"beginDatepicker\"\n enabled=\"false\"\n readonly=\"true\"\n [value]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [min]=\"handleDate(datasource.options.minDate)\"\n [max]=\"\n endValue && !restrictedToStep()\n ? endValue\n : handleDate(datasource.options.maxDate)\n \"\n />\n </mat-form-field>\n\n <mat-form-field class=\"year-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.endYear' | translate }}</mat-label>\n <input\n matInput\n class=\"year-input-only-year\"\n value=\"{{ onlyYearEnd }}\"\n (change)=\"yearOnlyInputChange($event, endDatepicker, 'end')\"\n [disabled]=\"filterStateDisable\"\n />\n <mat-datepicker-toggle\n matSuffix\n [for]=\"endDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n <mat-datepicker\n panelClass=\"datepicker-year\"\n #endDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"endValue\"\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\n >\n </mat-datepicker>\n\n <input\n #endYear\n class=\"year-input-hide\"\n matInput\n [matDatepicker]=\"endDatepicker\"\n enabled=\"false\"\n readonly=\"true\"\n [value]=\"endValue ? endValue : handleDate(datasource.options.maxDate)\"\n [min]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [max]=\"handleDate(datasource.options.maxDate)\"\n />\n </mat-form-field>\n <div class=\"actions-container\">\n <button\n class=\"reset-button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"resetFilter()\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n [disabled]=\"filterStateDisable\"\n >\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n <mat-slide-toggle\n class=\"toggle-filter-state\"\n (change)=\"toggleFilterState()\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [checked]=\"!filterStateDisable\"\n >\n </mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"datetime-input-container\" *ngIf=\"calendarType() !== 'year'\">\n <div class=\"datetime-input\">\n <mat-form-field class=\"date-input\" subscriptSizing=\"dynamic\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"beginDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n <input\n #begin\n matInput\n [matDatepicker]=\"beginDatepicker\"\n [placeholder]=\"'igo.geo.timeFilter.startDate' | translate\"\n [attr.disabled]=\"!currentFilter.active\"\n (dateChange)=\"changeTemporalProperty(begin.value, 1)\"\n [matDatepickerFilter]=\"filterBeginFunction\"\n [value]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [min]=\"handleDate(datasource.options.minDate)\"\n [max]=\"\n endValue && !restrictedToStep()\n ? endValue\n : handleDate(datasource.options.maxDate)\n \"\n [disabled]=\"filterStateDisable\"\n />\n <span class=\"filler\"></span>\n <mat-datepicker\n #beginDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"beginValue\"\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\n (monthSelected)=\"monthSelected($event, beginDatepicker, 'begin')\"\n >\n </mat-datepicker>\n </mat-form-field>\n\n <div *ngIf=\"calendarType() === 'datetime'\" class=\"time-input\">\n <mat-form-field class=\"hour-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.hour' | translate }}</mat-label>\n <mat-select\n [formControl]=\"beginHourFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\"\n >\n <mat-option *ngFor=\"let hour of beginHours\" [value]=\"hour\">{{\n hour\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"minute-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.minute' | translate }}</mat-label>\n <mat-select\n [formControl]=\"beginMinuteFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\"\n >\n <mat-option\n *ngFor=\"let minute of beginMinutes\"\n [value]=\"minute\"\n >{{ minute }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div *ngIf=\"!restrictedToStep()\" class=\"datetime-input\">\n <mat-form-field class=\"date-input\" subscriptSizing=\"dynamic\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"endDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n <input\n #end\n matInput\n [matDatepicker]=\"endDatepicker\"\n [placeholder]=\"'igo.geo.timeFilter.endDate' | translate\"\n [attr.disabled]=\"!currentFilter.active\"\n (dateChange)=\"changeTemporalProperty(end.value, 2)\"\n [matDatepickerFilter]=\"filterEndFunction\"\n [value]=\"\n endValue ? endValue : handleDate(datasource.options.maxDate)\n \"\n [min]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [max]=\"handleDate(datasource.options.maxDate)\"\n [disabled]=\"filterStateDisable\"\n />\n <span class=\"filler\"></span>\n <mat-datepicker\n #endDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"endValue\"\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\n (monthSelected)=\"monthSelected($event, endDatepicker, 'end')\"\n >\n </mat-datepicker>\n </mat-form-field>\n\n <div *ngIf=\"calendarType() === 'datetime'\" class=\"time-input\">\n <mat-form-field class=\"hour-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.hour' | translate }}</mat-label>\n <mat-select\n [formControl]=\"endHourFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\"\n >\n <mat-option *ngFor=\"let hour of endHours\" [value]=\"hour\">{{\n hour\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"minute-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.minute' | translate }}</mat-label>\n <mat-select\n [formControl]=\"endMinuteFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\"\n >\n <mat-option *ngFor=\"let minute of endMinutes\" [value]=\"minute\">{{\n minute\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"actions-container\">\n <button\n class=\"reset-button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"resetFilter()\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n [disabled]=\"filterStateDisable\"\n >\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n <mat-slide-toggle\n class=\"toggle-filter-state\"\n (change)=\"toggleFilterState()\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n [checked]=\"!filterStateDisable\"\n >\n </mat-slide-toggle>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{text-align:center!important;margin:auto 5px!important}:host .slider-container{text-align:center}:host .datetime-input-container{display:flex;align-items:center;flex-wrap:wrap}:host .datetime-input-container>:not(:last-child){margin-right:8px}:host .datetime-input{display:block}:host .date-input{width:154px}:host .actions-container{display:flex;align-items:center}:host .time-input{margin-top:16px}:host .time-input>:not(:last-child){margin-right:8px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host .time-input{margin-top:4px}}:host .hour-input,:host .minute-input{width:100px}:host .year-input-container{display:flex;width:100%}:host .year-input-container mat-form-field:not(:last-child){margin-right:4px}:host .year-input-hide{width:120px;margin-right:25px;display:none}:host .year-input-only-year{width:120px;margin-right:25px;text-align:left!important}:host ::ng-deep .datepicker-year ::ng-deep .mat-calendar-arrow{display:none}:host ::ng-deep .datepicker-year ::ng-deep .mat-calendar-period-button{pointer-events:none}:host ::ng-deep .datepicker-year ::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover{background-color:#0000001f;border-radius:999px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i5$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: OgcFilterTimeSliderComponent, selector: "igo-ogc-filter-time-slider", inputs: ["currentFilter", "begin", "max", "datasource"], outputs: ["changeProperty"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i6$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6$3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
19779
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: OgcFilterTimeComponent, isStandalone: true, selector: "igo-ogc-filter-time", inputs: { datasource: "datasource", currentFilter: "currentFilter" }, outputs: { changeProperty: "changeProperty" }, providers: [OGCFilterTimeService, provideMomentDateAdapter()], viewQueries: [{ propertyName: "endDatepickerTime", first: true, predicate: ["endDatepickerTime"], descendants: true }, { propertyName: "beginDatepickerTime", first: true, predicate: ["beginDatepickerTime"], descendants: true }, { propertyName: "beginTime", first: true, predicate: ["beginTime"], descendants: true }, { propertyName: "endTime", first: true, predicate: ["endTime"], descendants: true }], ngImport: i0, template: "<div class=\"datetime-container\">\n <mat-slide-toggle\n *ngIf=\"this.currentFilter.sliderOptions?.enabled\"\n [(ngModel)]=\"sliderMode\"\n (change)=\"modeChange($event)\"\n >\n {{ 'igo.geo.filter.sliderModeTitle' | translate }}\n </mat-slide-toggle>\n\n <div class=\"slider-container\" *ngIf=\"sliderMode\">\n <igo-ogc-filter-time-slider\n [begin]=\"beginValue\"\n [max]=\"this.restrictedToStep() ? this.maxDate : this.endValue\"\n [currentFilter]=\"currentFilter\"\n [datasource]=\"datasource\"\n (changeProperty)=\"changePropertyByPass($event)\"\n >\n </igo-ogc-filter-time-slider>\n </div>\n\n <div *ngIf=\"!sliderMode\">\n <div class=\"year-input-container\" *ngIf=\"calendarTypeYear\">\n <!-- to emulate a year-picker, 2 input: first input to show user just year and second input hiden and bind \n with the datepicker -->\n <mat-form-field class=\"year-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.startYear' | translate }}</mat-label>\n <input\n matInput\n class=\"year-input-only-year\"\n value=\"{{ onlyYearBegin }}\"\n (change)=\"yearOnlyInputChange($event, beginDatepicker, 'begin')\"\n [disabled]=\"filterStateDisable\"\n />\n <mat-datepicker-toggle\n matSuffix\n [for]=\"beginDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n\n <mat-datepicker\n panelClass=\"datepicker-year\"\n #beginDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"beginValue\"\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\n >\n </mat-datepicker>\n\n <input\n #beginYear\n class=\"year-input-hide\"\n matInput\n [matDatepicker]=\"beginDatepicker\"\n enabled=\"false\"\n readonly=\"true\"\n [value]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [min]=\"handleDate(datasource.options.minDate)\"\n [max]=\"\n endValue && !restrictedToStep()\n ? endValue\n : handleDate(datasource.options.maxDate)\n \"\n />\n </mat-form-field>\n\n <mat-form-field class=\"year-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.endYear' | translate }}</mat-label>\n <input\n matInput\n class=\"year-input-only-year\"\n value=\"{{ onlyYearEnd }}\"\n (change)=\"yearOnlyInputChange($event, endDatepicker, 'end')\"\n [disabled]=\"filterStateDisable\"\n />\n <mat-datepicker-toggle\n matSuffix\n [for]=\"endDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n <mat-datepicker\n panelClass=\"datepicker-year\"\n #endDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"endValue\"\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\n >\n </mat-datepicker>\n\n <input\n #endYear\n class=\"year-input-hide\"\n matInput\n [matDatepicker]=\"endDatepicker\"\n enabled=\"false\"\n readonly=\"true\"\n [value]=\"endValue ? endValue : handleDate(datasource.options.maxDate)\"\n [min]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [max]=\"handleDate(datasource.options.maxDate)\"\n />\n </mat-form-field>\n <div class=\"actions-container\">\n <button\n class=\"reset-button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"resetFilter()\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n [disabled]=\"filterStateDisable\"\n >\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n <mat-slide-toggle\n class=\"toggle-filter-state\"\n (change)=\"toggleFilterState()\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [checked]=\"!filterStateDisable\"\n >\n </mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"datetime-input-container\" *ngIf=\"calendarType() !== 'year'\">\n <div class=\"datetime-input\">\n <mat-form-field class=\"date-input\" subscriptSizing=\"dynamic\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"beginDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n <input\n #begin\n matInput\n [matDatepicker]=\"beginDatepicker\"\n [placeholder]=\"'igo.geo.timeFilter.startDate' | translate\"\n [attr.disabled]=\"!currentFilter.active\"\n (dateChange)=\"changeTemporalProperty(begin.value, 1)\"\n [matDatepickerFilter]=\"filterBeginFunction\"\n [value]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [min]=\"handleDate(datasource.options.minDate)\"\n [max]=\"\n endValue && !restrictedToStep()\n ? endValue\n : handleDate(datasource.options.maxDate)\n \"\n [disabled]=\"filterStateDisable\"\n />\n <span class=\"filler\"></span>\n <mat-datepicker\n #beginDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"beginValue\"\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\n (monthSelected)=\"monthSelected($event, beginDatepicker, 'begin')\"\n >\n </mat-datepicker>\n </mat-form-field>\n\n <div *ngIf=\"calendarType() === 'datetime'\" class=\"time-input\">\n <mat-form-field class=\"hour-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.hour' | translate }}</mat-label>\n <mat-select\n [formControl]=\"beginHourFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\"\n >\n <mat-option *ngFor=\"let hour of beginHours\" [value]=\"hour\">{{\n hour\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"minute-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.minute' | translate }}</mat-label>\n <mat-select\n [formControl]=\"beginMinuteFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\"\n >\n <mat-option\n *ngFor=\"let minute of beginMinutes\"\n [value]=\"minute\"\n >{{ minute }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div *ngIf=\"!restrictedToStep()\" class=\"datetime-input\">\n <mat-form-field class=\"date-input\" subscriptSizing=\"dynamic\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"endDatepicker\"\n [disabled]=\"filterStateDisable\"\n ></mat-datepicker-toggle>\n <input\n #end\n matInput\n [matDatepicker]=\"endDatepicker\"\n [placeholder]=\"'igo.geo.timeFilter.endDate' | translate\"\n [attr.disabled]=\"!currentFilter.active\"\n (dateChange)=\"changeTemporalProperty(end.value, 2)\"\n [matDatepickerFilter]=\"filterEndFunction\"\n [value]=\"\n endValue ? endValue : handleDate(datasource.options.maxDate)\n \"\n [min]=\"\n beginValue ? beginValue : handleDate(datasource.options.minDate)\n \"\n [max]=\"handleDate(datasource.options.maxDate)\"\n [disabled]=\"filterStateDisable\"\n />\n <span class=\"filler\"></span>\n <mat-datepicker\n #endDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"endValue\"\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\n (monthSelected)=\"monthSelected($event, endDatepicker, 'end')\"\n >\n </mat-datepicker>\n </mat-form-field>\n\n <div *ngIf=\"calendarType() === 'datetime'\" class=\"time-input\">\n <mat-form-field class=\"hour-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.hour' | translate }}</mat-label>\n <mat-select\n [formControl]=\"endHourFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\"\n >\n <mat-option *ngFor=\"let hour of endHours\" [value]=\"hour\">{{\n hour\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"minute-input\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.timeFilter.minute' | translate }}</mat-label>\n <mat-select\n [formControl]=\"endMinuteFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\"\n >\n <mat-option *ngFor=\"let minute of endMinutes\" [value]=\"minute\">{{\n minute\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"actions-container\">\n <button\n class=\"reset-button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"resetFilter()\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\"\n [disabled]=\"filterStateDisable\"\n >\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n <mat-slide-toggle\n class=\"toggle-filter-state\"\n (change)=\"toggleFilterState()\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n [checked]=\"!filterStateDisable\"\n >\n </mat-slide-toggle>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{text-align:center!important;margin:auto 5px!important}:host .slider-container{text-align:center}:host .datetime-input-container{display:flex;align-items:center;flex-wrap:wrap}:host .datetime-input-container>:not(:last-child){margin-right:8px}:host .datetime-input{display:block}:host .date-input{width:154px}:host .actions-container{display:flex;align-items:center}:host .time-input{margin-top:16px}:host .time-input>:not(:last-child){margin-right:8px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host .time-input{margin-top:4px}}:host .hour-input,:host .minute-input{width:100px}:host .year-input-container{display:flex;width:100%}:host .year-input-container mat-form-field:not(:last-child){margin-right:4px}:host .year-input-hide{width:120px;margin-right:25px;display:none}:host .year-input-only-year{width:120px;margin-right:25px;text-align:left!important}:host ::ng-deep .datepicker-year ::ng-deep .mat-calendar-arrow{display:none}:host ::ng-deep .datepicker-year ::ng-deep .mat-calendar-period-button{pointer-events:none}:host ::ng-deep .datepicker-year ::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover{background-color:#0000001f;border-radius:999px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i5$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: OgcFilterTimeSliderComponent, selector: "igo-ogc-filter-time-slider", inputs: ["currentFilter", "begin", "max", "datasource"], outputs: ["changeProperty"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i6$2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6$2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6$2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
19749
19780
|
}
|
|
19750
19781
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: OgcFilterTimeComponent, decorators: [{
|
|
19751
19782
|
type: Component,
|
|
@@ -20928,7 +20959,7 @@ class OgcFilterableItemComponent {
|
|
|
20928
20959
|
this.ogcFilterService.setOgcWMSFiltersOptions(this.datasource);
|
|
20929
20960
|
break;
|
|
20930
20961
|
case 'wfs':
|
|
20931
|
-
this.ogcFilterService.setOgcWFSFiltersOptions(this.datasource);
|
|
20962
|
+
this.ogcFilterService.setOgcWFSFiltersOptions(this.datasource.options);
|
|
20932
20963
|
break;
|
|
20933
20964
|
default:
|
|
20934
20965
|
break;
|
|
@@ -29772,7 +29803,7 @@ class TimeFilterFormComponent {
|
|
|
29772
29803
|
}
|
|
29773
29804
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TimeFilterFormComponent, deps: [{ token: i1$8.DateAdapter }], target: i0.ɵɵFactoryTarget.Component });
|
|
29774
29805
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: TimeFilterFormComponent, isStandalone: true, selector: "igo-time-filter-form", inputs: { layer: "layer", options: "options", currentValue: "currentValue" }, outputs: { dateChange: "dateChange", yearChange: "yearChange" }, viewQueries: [{ propertyName: "mySlider", first: true, predicate: MatSlider, descendants: true }], ngImport: i0, template: "<div *ngIf=\"style === 'calendar' && type !== 'year'\">\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-form-field>\n <mat-datetimepicker-toggle\n class=\"time-filter-mat-datetimepicker-toggle\"\n [for]=\"datetimePicker\"\n matSuffix\n ></mat-datetimepicker-toggle>\n <mat-datetimepicker\n #datetimePicker\n [type]=\"type\"\n [openOnFocus]=\"true\"\n [timeInterval]=\"5\"\n ></mat-datetimepicker>\n <input\n matInput\n autocomplete=\"false\"\n placeholder=\"{{ 'igo.geo.timeFilter.date' | translate }}\"\n [matDatetimepicker]=\"datetimePicker\"\n [(ngModel)]=\"date\"\n [min]=\"min\"\n [max]=\"max\"\n readonly=\"readonly\"\n (dateChange)=\"handleDateChange()\"\n />\n </mat-form-field>\n </div>\n\n <div *ngIf=\"isRange\">\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-datetimepicker-toggle\n class=\"time-filter-mat-datetimepicker-toggle\"\n [for]=\"minDatetimePicker\"\n matSuffix\n ></mat-datetimepicker-toggle>\n <mat-datetimepicker\n #minDatetimePicker\n [type]=\"type\"\n [openOnFocus]=\"true\"\n [timeInterval]=\"5\"\n ></mat-datetimepicker>\n <input\n matInput\n autocomplete=\"false\"\n placeholder=\"{{ 'igo.geo.timeFilter.startDate' | translate }}\"\n [matDatetimepicker]=\"minDatetimePicker\"\n [(ngModel)]=\"startDate\"\n [min]=\"min\"\n [max]=\"getRangeMaxDate()\"\n readonly=\"readonly\"\n (input)=\"(startDate)\"\n (dateChange)=\"handleDateChange()\"\n />\n </mat-form-field>\n </div>\n\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-datetimepicker-toggle\n class=\"time-filter-mat-datetimepicker-toggle\"\n [for]=\"maxDatetimePicker\"\n matSuffix\n ></mat-datetimepicker-toggle>\n <mat-datetimepicker\n #maxDatetimePicker\n [type]=\"type\"\n [openOnFocus]=\"true\"\n [timeInterval]=\"5\"\n ></mat-datetimepicker>\n <input\n matInput\n autocomplete=\"false\"\n placeholder=\"{{ 'igo.geo.timeFilter.endDate' | translate }}\"\n [matDatetimepicker]=\"maxDatetimePicker\"\n [(ngModel)]=\"endDate\"\n [min]=\"getRangeMinDate()\"\n [max]=\"max\"\n readonly=\"readonly\"\n (dateChange)=\"handleDateChange()\"\n />\n </mat-form-field>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"style === 'calendar' && type === 'year'\">\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'igo.geo.timeFilter.date' | translate }}\"\n [(ngModel)]=\"year\"\n (selectionChange)=\"handleYearChange()\"\n >\n <mat-option [value]=\"year\" *ngFor=\"let year of listYears\">{{\n year\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"isRange\">\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'igo.geo.timeFilter.startDate' | translate }}\"\n [(ngModel)]=\"startYear\"\n (selectionChange)=\"handleYearChange()\"\n >\n <mat-option\n [value]=\"startYear\"\n *ngFor=\"let startYear of startListYears\"\n >{{ startYear }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'igo.geo.timeFilter.endDate' | translate }}\"\n [(ngModel)]=\"endYear\"\n (selectionChange)=\"handleYearChange()\"\n >\n <mat-option [value]=\"endYear\" *ngFor=\"let endYear of endListYears\">{{\n endYear\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n</div>\n\n<br />\n<div\n *ngIf=\"!isRange && style === 'slider' && type === 'year'\"\n class=\"igo-col igo-col-100 igo-col-100-m mat-typography\"\n>\n <span>{{ startYear }}</span>\n <!-- TODO: The 'tickInterval' property no longer exists -->\n <mat-slider\n id=\"time-slider\"\n step=\"{{ step }}\"\n [min]=\"startYear\"\n [max]=\"endYear\"\n [color]=\"color\"\n thumbLabel\n [disabled]=\"!options.enabled || !layer.visible\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"handleSliderValue()\"\n (input)=\"\n handleSliderYearChange({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n (change)=\"\n handleSliderYearChange({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n />\n </mat-slider>\n <span>{{ endYear }}</span>\n <p *ngIf=\"options.enabled\" class=\"date-below\">{{ year }}</p>\n <div #actions class=\"igo-layer-actions-container\">\n <mat-slide-toggle\n (change)=\"toggleFilterState()\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n [color]=\"color\"\n [checked]=\"options.enabled\"\n [disabled]=\"!layer.visible\"\n >\n </mat-slide-toggle>\n <button\n [disabled]=\"!options.enabled || !layer.visible\"\n mat-icon-button\n color=\"primary\"\n (click)=\"playYear()\"\n >\n <mat-icon>{{ playIcon }}</mat-icon>\n </button>\n <button\n [disabled]=\"!options.enabled || !layer.visible\"\n mat-icon-button\n color=\"primary\"\n (click)=\"resetFilter()\"\n >\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n </div>\n</div>\n\n<div\n *ngIf=\"style === 'slider' && type !== 'year'\"\n class=\"igo-col igo-col-100 igo-col-100-m\"\n>\n <!-- TODO: The 'tickInterval' property no longer exists -->\n <mat-slider\n id=\"time-slider\"\n step=\"{{ step }}\"\n [min]=\"dateToNumber(min)\"\n [max]=\"dateToNumber(max)\"\n thumbLabel\n (selectionChange)=\"handleSliderDateChange($event)\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"handleSliderValue()\"\n (input)=\"\n handleSliderDateChange({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n <p class=\"date-below\">{{ handleSliderTooltip() }}</p>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter()\">\n <mat-icon>{{ playIcon }}</mat-icon>\n </button>\n</div>\n", styles: [":host .igo-layer-filters-container{padding-left:5px}:host #time-slider{width:70%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host #time-slider{width:60%}}:host .date-below{margin:0}:host .igo-layer-actions-container{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatetimepickerModule }, { kind: "component", type: i3$6.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "component", type: i3$6.MatDatetimepickerToggleComponent, selector: "mat-datetimepicker-toggle", inputs: ["for", "disabled"], exportAs: ["matDatetimepickerToggle"] }, { kind: "directive", type: i3$6.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatMomentDateModule }, { kind: "ngmodule", type: MatNativeDatetimeModule }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: // For the DateAdapter provider
|
|
29775
|
-
MatInputModule }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i7$
|
|
29806
|
+
MatInputModule }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i7$2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i7$2.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i5$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
29776
29807
|
}
|
|
29777
29808
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TimeFilterFormComponent, decorators: [{
|
|
29778
29809
|
type: Component,
|
|
@@ -32630,7 +32661,7 @@ class SearchSelectorComponent {
|
|
|
32630
32661
|
this.searchTypeChange.emit(searchType);
|
|
32631
32662
|
}
|
|
32632
32663
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchSelectorComponent, deps: [{ token: SearchSourceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32633
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SearchSelectorComponent, isStandalone: true, selector: "igo-search-selector", inputs: { searchTypes: "searchTypes", searchType: "searchType" }, outputs: { searchTypeChange: "searchTypeChange" }, ngImport: i0, template: "<div class=\"igo-search-selector\">\n <button\n mat-icon-button\n class=\"igo-search-selector-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSelectorMenu\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n\n <mat-menu\n #searchSelectorMenu=\"matMenu\"\n class=\"no-border-radius\"\n xPosition=\"before\"\n yPosition=\"above\"\n >\n <mat-radio-group\n class=\"igo-search-selector-radio-group\"\n [value]=\"searchType$ | async\"\n (change)=\"onSearchTypeChange($event.value)\"\n >\n <mat-radio-button\n *ngFor=\"let searchType of searchTypes\"\n [value]=\"searchType\"\n >\n {{ getSearchTypeTitle(searchType) | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </mat-menu>\n</div>\n", styles: [":host .igo-search-selector-button{border-radius:0}:host .igo-search-selector-button button{border-radius:0!important}:host .igo-search-selector-button button .mat-ripple,:host .igo-search-selector-button button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-search-selector-radio-group{display:inline-flex;flex-direction:column}:host .igo-search-selector-radio-group mat-radio-button{margin:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$
|
|
32664
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SearchSelectorComponent, isStandalone: true, selector: "igo-search-selector", inputs: { searchTypes: "searchTypes", searchType: "searchType" }, outputs: { searchTypeChange: "searchTypeChange" }, ngImport: i0, template: "<div class=\"igo-search-selector\">\n <button\n mat-icon-button\n class=\"igo-search-selector-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSelectorMenu\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n\n <mat-menu\n #searchSelectorMenu=\"matMenu\"\n class=\"no-border-radius\"\n xPosition=\"before\"\n yPosition=\"above\"\n >\n <mat-radio-group\n class=\"igo-search-selector-radio-group\"\n [value]=\"searchType$ | async\"\n (change)=\"onSearchTypeChange($event.value)\"\n >\n <mat-radio-button\n *ngFor=\"let searchType of searchTypes\"\n [value]=\"searchType\"\n >\n {{ getSearchTypeTitle(searchType) | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </mat-menu>\n</div>\n", styles: [":host .igo-search-selector-button{border-radius:0}:host .igo-search-selector-button button{border-radius:0!important}:host .igo-search-selector-button button .mat-ripple,:host .igo-search-selector-button button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-search-selector-radio-group{display:inline-flex;flex-direction:column}:host .igo-search-selector-radio-group mat-radio-button{margin:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i6$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32634
32665
|
}
|
|
32635
32666
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchSelectorComponent, decorators: [{
|
|
32636
32667
|
type: Component,
|
|
@@ -32850,7 +32881,7 @@ class SearchSettingsComponent {
|
|
|
32850
32881
|
this.reverseSearchCoordsFormatStatus.emit(this.reverseSearchCoordsFormatEnabled);
|
|
32851
32882
|
}
|
|
32852
32883
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchSettingsComponent, deps: [{ token: SearchSourceService }, { token: i2$7.MediaService }, { token: i3$3.StorageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32853
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SearchSettingsComponent, isStandalone: true, selector: "igo-search-settings", inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"igo-search-settings\">\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\n {{\n !searchSourcesAllEnabled\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\n : ('igo.geo.search.searchSources.selectAll' | translate)\n }}\n </button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"$any(source)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\"\n >\n </mat-checkbox>\n <button\n *ngIf=\"source.settings.length > 0\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item\n >\n {{ source.title }}\n </button>\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\n {{ source.title }}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\n {{\n 'igo.geo.search.searchSources.settings.' + setting.title\n | translate\n }}\n </button>\n <mat-menu\n #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\"\n >\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\"\n >\n <mat-radio-button\n *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedRadioButton(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\n <button\n mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\"\n >\n {{\n setting.allEnabled || setting.allEnabled === undefined\n ? ('igo.geo.search.searchSources.settings.unselectAll'\n | translate)\n : ('igo.geo.search.searchSources.settings.selectAll'\n | translate)\n }}\n </button>\n </div>\n <div\n class=\"igo-search-settings-sub-menu\"\n mat-menu-item\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\n >\n <mat-checkbox\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"$any(setting)\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedCheckbox(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-checkbox>\n </div>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container\">\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changePointerReverseSearch($event)\"\n tooltip-position=\"below\"\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"pointerSummaryEnabled\"\n >\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changeSearchResultsGeometry($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"searchResultsGeometryEnabled\"\n >\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"reverseSearchCoordsFormat($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n reverseSearchCoordsFormatEnabled\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"reverseSearchCoordsFormatEnabled\"\n >\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\n </mat-slide-toggle>\n </div>\n </span>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i5$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32884
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SearchSettingsComponent, isStandalone: true, selector: "igo-search-settings", inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"igo-search-settings\">\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\n {{\n !searchSourcesAllEnabled\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\n : ('igo.geo.search.searchSources.selectAll' | translate)\n }}\n </button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"$any(source)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\"\n >\n </mat-checkbox>\n <button\n *ngIf=\"source.settings.length > 0\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item\n >\n {{ source.title }}\n </button>\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\n {{ source.title }}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\n {{\n 'igo.geo.search.searchSources.settings.' + setting.title\n | translate\n }}\n </button>\n <mat-menu\n #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\"\n >\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\"\n >\n <mat-radio-button\n *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedRadioButton(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\n <button\n mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\"\n >\n {{\n setting.allEnabled || setting.allEnabled === undefined\n ? ('igo.geo.search.searchSources.settings.unselectAll'\n | translate)\n : ('igo.geo.search.searchSources.settings.selectAll'\n | translate)\n }}\n </button>\n </div>\n <div\n class=\"igo-search-settings-sub-menu\"\n mat-menu-item\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\n >\n <mat-checkbox\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"$any(setting)\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"\n settingsValueCheckedCheckbox(\n $event,\n source,\n setting,\n settingValue\n )\n \"\n >\n {{ settingValue.title | translate }}\n </mat-checkbox>\n </div>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container\">\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changePointerReverseSearch($event)\"\n tooltip-position=\"below\"\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"pointerSummaryEnabled\"\n >\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"changeSearchResultsGeometry($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"searchResultsGeometryEnabled\"\n >\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\n </mat-slide-toggle>\n </div>\n <div mat-menu-item>\n <mat-slide-toggle\n class=\"search-option\"\n (change)=\"reverseSearchCoordsFormat($event)\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n reverseSearchCoordsFormatEnabled\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\n \"\n (click)=\"$event.stopPropagation()\"\n [checked]=\"reverseSearchCoordsFormatEnabled\"\n >\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\n </mat-slide-toggle>\n </div>\n </span>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i5$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32854
32885
|
}
|
|
32855
32886
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchSettingsComponent, decorators: [{
|
|
32856
32887
|
type: Component,
|
|
@@ -33412,7 +33443,7 @@ class SearchResultsItemComponent {
|
|
|
33412
33443
|
dataProjection: this.result.data.projection,
|
|
33413
33444
|
featureProjection: this.map.projection
|
|
33414
33445
|
});
|
|
33415
|
-
moveToOlFeatures(this.map.viewController,
|
|
33446
|
+
moveToOlFeatures(this.map.viewController, olFeature, FeatureMotion.Default);
|
|
33416
33447
|
}
|
|
33417
33448
|
/**
|
|
33418
33449
|
* On mouse event, mouseenter /mouseleave
|
|
@@ -36431,7 +36462,7 @@ class ToastComponent {
|
|
|
36431
36462
|
dataProjection: this.feature.projection,
|
|
36432
36463
|
featureProjection: this.map.projection
|
|
36433
36464
|
});
|
|
36434
|
-
moveToOlFeatures(this.map.viewController,
|
|
36465
|
+
moveToOlFeatures(this.map.viewController, olFeature, FeatureMotion.Zoom);
|
|
36435
36466
|
}
|
|
36436
36467
|
}
|
|
36437
36468
|
swipe(action) {
|
|
@@ -37471,8 +37502,7 @@ class EditionWorkspaceService {
|
|
|
37471
37502
|
'SRID=' +
|
|
37472
37503
|
projDest.replace('EPSG:', '') +
|
|
37473
37504
|
';' +
|
|
37474
|
-
this.wktFormat.writeGeometry(this.geoJsonFormat
|
|
37475
|
-
.readFeature(feature.geometry)
|
|
37505
|
+
this.wktFormat.writeGeometry(this.geoJsonFormat.readFeature(feature.geometry)
|
|
37476
37506
|
.getGeometry()
|
|
37477
37507
|
.transform('EPSG:4326', projDest), { dataProjection: projDest });
|
|
37478
37508
|
}
|
|
@@ -37560,8 +37590,7 @@ class EditionWorkspaceService {
|
|
|
37560
37590
|
'SRID=' +
|
|
37561
37591
|
projDest.replace('EPSG:', '') +
|
|
37562
37592
|
';' +
|
|
37563
|
-
this.wktFormat.writeGeometry(this.geoJsonFormat
|
|
37564
|
-
.readFeature(feature.geometry)
|
|
37593
|
+
this.wktFormat.writeGeometry(this.geoJsonFormat.readFeature(feature.geometry)
|
|
37565
37594
|
.getGeometry()
|
|
37566
37595
|
.transform('EPSG:4326', projDest), { dataProjection: projDest });
|
|
37567
37596
|
}
|
|
@@ -37751,7 +37780,7 @@ class EditionWorkspaceService {
|
|
|
37751
37780
|
}
|
|
37752
37781
|
});
|
|
37753
37782
|
}
|
|
37754
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: EditionWorkspaceService, deps: [{ token: LayerService }, { token: i3$3.StorageService }, { token: i2$1.ConfigService }, { token: i2.MessageService }, { token: i1.HttpClient }, { token: i1$6.MatDialog }, { token: StyleService }, { token:
|
|
37783
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: EditionWorkspaceService, deps: [{ token: LayerService }, { token: i3$3.StorageService }, { token: i2$1.ConfigService }, { token: i2.MessageService }, { token: i1.HttpClient }, { token: i1$6.MatDialog }, { token: StyleService }, { token: i7$1.AuthInterceptor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37755
37784
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: EditionWorkspaceService, providedIn: 'root' });
|
|
37756
37785
|
}
|
|
37757
37786
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: EditionWorkspaceService, decorators: [{
|
|
@@ -37759,7 +37788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
37759
37788
|
args: [{
|
|
37760
37789
|
providedIn: 'root'
|
|
37761
37790
|
}]
|
|
37762
|
-
}], ctorParameters: () => [{ type: LayerService }, { type: i3$3.StorageService }, { type: i2$1.ConfigService }, { type: i2.MessageService }, { type: i1.HttpClient }, { type: i1$6.MatDialog }, { type: StyleService }, { type:
|
|
37791
|
+
}], ctorParameters: () => [{ type: LayerService }, { type: i3$3.StorageService }, { type: i2$1.ConfigService }, { type: i2.MessageService }, { type: i1.HttpClient }, { type: i1$6.MatDialog }, { type: StyleService }, { type: i7$1.AuthInterceptor }] });
|
|
37763
37792
|
function getColumnKeyWithoutPropertiesTag(column) {
|
|
37764
37793
|
if (column.includes('properties.')) {
|
|
37765
37794
|
return column.split('.')[1];
|