@igo2/geo 21.0.0-next.36 → 21.0.0-next.37

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.
@@ -28935,7 +28935,7 @@ class TableDataService {
28935
28935
  }
28936
28936
  const columns = sourceFields?.length
28937
28937
  ? await this.getSourceColumns(sourceFields, relations)
28938
- : this.getRawColumn(features[0]);
28938
+ : this.getRawColumns(features);
28939
28939
  return this.transformFeaturesToExportFormat(features, columns);
28940
28940
  }
28941
28941
  async getSourceColumns(sourceFields, relations) {
@@ -28945,18 +28945,20 @@ class TableDataService {
28945
28945
  : [];
28946
28946
  return [...sourceFieldsColumns, ...relationsColumns].filter((col) => col.visible !== false);
28947
28947
  }
28948
- getRawColumn(feature) {
28949
- const geometryName = feature.getGeometryName();
28950
- return feature
28951
- .getKeys()
28952
- .filter((key) => !key.startsWith('_') &&
28953
- key !== 'geometry' &&
28954
- key !== geometryName &&
28955
- !/boundedby/gi.test(key))
28956
- .map((key) => ({
28957
- name: key,
28958
- title: key
28959
- }));
28948
+ getRawColumns(features) {
28949
+ const keys = new Set();
28950
+ for (const feature of features) {
28951
+ const geometryName = feature.getGeometryName();
28952
+ for (const key of feature.getKeys()) {
28953
+ if (!key.startsWith('_') &&
28954
+ key !== 'geometry' &&
28955
+ key !== geometryName &&
28956
+ !/boundedby/gi.test(key)) {
28957
+ keys.add(key);
28958
+ }
28959
+ }
28960
+ }
28961
+ return Array.from(keys, (key) => ({ name: key, title: key }));
28960
28962
  }
28961
28963
  async buildFromFields(fields) {
28962
28964
  return Promise.all(fields.map((field) => this.getColumnFromSourceField(field)));