@esri/solutions-components 0.11.34 → 0.11.36

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.
@@ -1144,10 +1144,12 @@ const LayerTable = class {
1144
1144
  const featuresSelected = this._featuresSelected();
1145
1145
  // hide multiple edits for R03
1146
1146
  const showMultipleEdits = this.selectedIds.length > 1 && this._layer?.capabilities?.operations?.supportsUpdate && false;
1147
+ const showZoom = !this.mapHidden && !this._layer?.isTable;
1147
1148
  const featuresEmpty = this._featuresEmpty();
1149
+ const showFilterIcon = !this._layer?.isTable || this._hasFilterExpressions();
1148
1150
  if (this._translations) {
1149
1151
  this._toolInfos = [
1150
- !this.mapHidden ? {
1152
+ showZoom ? {
1151
1153
  active: false,
1152
1154
  icon: "zoom-to-object",
1153
1155
  indicator: false,
@@ -1156,7 +1158,7 @@ const LayerTable = class {
1156
1158
  disabled: !featuresSelected,
1157
1159
  isOverflow: false
1158
1160
  } : undefined,
1159
- {
1161
+ showFilterIcon ? {
1160
1162
  active: false,
1161
1163
  icon: "filter",
1162
1164
  indicator: false,
@@ -1164,7 +1166,7 @@ const LayerTable = class {
1164
1166
  func: () => this.createFilterModal ? this._toggleFilter() : this.toggleFilter.emit(),
1165
1167
  disabled: false,
1166
1168
  isOverflow: false
1167
- },
1169
+ } : undefined,
1168
1170
  showMultipleEdits ? {
1169
1171
  active: false,
1170
1172
  icon: "pencil",
@@ -1674,8 +1676,10 @@ const LayerTable = class {
1674
1676
  */
1675
1677
  tempHighlightOnHover(e) {
1676
1678
  this._removeTempHighlight();
1677
- const temporaryFeature = e.feature;
1678
- this._temporaryFeatureHandle = this._selectedLayerView.highlight([temporaryFeature], { name: "temporary" });
1679
+ if (this._selectedLayerView) {
1680
+ const temporaryFeature = e.feature;
1681
+ this._temporaryFeatureHandle = this._selectedLayerView?.highlight([temporaryFeature], { name: "temporary" });
1682
+ }
1679
1683
  }
1680
1684
  /**
1681
1685
  * Clears the temporary highlight
@@ -1691,10 +1695,12 @@ const LayerTable = class {
1691
1695
  */
1692
1696
  _highlightFeatures(currentFeatureId) {
1693
1697
  this._clearHighlights();
1694
- this._currentFeatureHighlightHandle = this._selectedLayerView.highlight([currentFeatureId], { name: "current-selection" });
1695
- if (this.selectedIds.length > 1) {
1696
- const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1697
- this._defaultFeaturesHandle = this._selectedLayerView.highlight(secondaryFeatures, { name: "default" });
1698
+ if (this._selectedLayerView) {
1699
+ this._currentFeatureHighlightHandle = this._selectedLayerView?.highlight([currentFeatureId], { name: "current-selection" });
1700
+ if (this.selectedIds.length > 1) {
1701
+ const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1702
+ this._defaultFeaturesHandle = this._selectedLayerView?.highlight(secondaryFeatures, { name: "default" });
1703
+ }
1698
1704
  }
1699
1705
  }
1700
1706
  /**
@@ -1778,6 +1784,7 @@ const LayerTable = class {
1778
1784
  await this._handleDefaults();
1779
1785
  await this._sortTable();
1780
1786
  this._initToolInfos();
1787
+ this._controlsThatFitWatchHandler();
1781
1788
  this._updateToolbar();
1782
1789
  }
1783
1790
  catch (e) {
@@ -1932,7 +1939,7 @@ const LayerTable = class {
1932
1939
  */
1933
1940
  _handleDocumentClick(e) {
1934
1941
  const id = e.target?.id;
1935
- if (id.startsWith('layer-table-')) {
1942
+ if (id.startsWith('layer-table-') && this._moreDropdown) {
1936
1943
  this._moreDropdown.open = true;
1937
1944
  }
1938
1945
  else if (this._showHideOpen && Object.keys(this._columnsInfo).indexOf(id) < 0 && id !== "chevron-right") {
@@ -2236,7 +2243,7 @@ const LayerTable = class {
2236
2243
  this._fetchingData = true;
2237
2244
  const layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
2238
2245
  layer && await layer.when(async () => {
2239
- this._selectedLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, layer.id);
2246
+ this._selectedLayerView = !layer.isTable ? await mapViewUtils.getFeatureLayerView(this.mapView, layer.id) : null;
2240
2247
  if (this._table && this._table?.viewModel?.attachmentsViewOptions?.objectId) {
2241
2248
  this._table.viewModel.hideAttachmentsView();
2242
2249
  }
@@ -3031,7 +3038,6 @@ const MapCard = class {
3031
3038
  */
3032
3039
  _initToolInfos() {
3033
3040
  const featuresSelected = this.selectedFeaturesIds?.length > 0;
3034
- const hasFilterExpressions = this._hasFilterExpressions();
3035
3041
  // hide multiple edits for R03
3036
3042
  const showMultipleEdits = this.selectedFeaturesIds?.length > 1 && false;
3037
3043
  if (this._translations) {
@@ -3045,7 +3051,7 @@ const MapCard = class {
3045
3051
  disabled: !featuresSelected,
3046
3052
  isOverflow: false
3047
3053
  },
3048
- hasFilterExpressions ? {
3054
+ {
3049
3055
  active: false,
3050
3056
  icon: "filter",
3051
3057
  indicator: false,
@@ -3053,7 +3059,7 @@ const MapCard = class {
3053
3059
  func: () => this._toggleFilter(),
3054
3060
  disabled: false,
3055
3061
  isOverflow: false
3056
- } : undefined,
3062
+ },
3057
3063
  showMultipleEdits ? {
3058
3064
  active: false,
3059
3065
  icon: "pencil",
@@ -563,6 +563,7 @@ const CrowdsourceManager = class {
563
563
  return (index.h("calcite-panel", null, index.h("div", null, index.h("calcite-block", { class: this.theme === "dark" ? "background-dark" : "", heading: '', "menu-placement": 'bottom-end', open: true }, index.h("div", { class: "filter-extent-container" }, index.h("div", { class: "filter-extent-message" }, index.h("span", null, this._translations.filterByExtentMsg, " "), index.h("calcite-icon", { icon: "information", id: "filter-message-info", scale: "s" }), index.h("calcite-tooltip", { overlayPositioning: "fixed", placement: "top", "reference-element": "filter-message-info" }, this._translations.filterByExtentTooltipMsg)), index.h("calcite-switch", { checked: this._mapExtentFilterChecked, onCalciteSwitchChange: (e) => {
564
564
  const active = e.target.checked || this._filterList?.filterCount > 0;
565
565
  void this._layerTable.filterUpdate(active, e.target.checked);
566
+ void this._mapCard.updateFilterState(active);
566
567
  this._mapExtentFilterChecked = e.target.checked;
567
568
  }, scale: "m" }))), showButtons &&
568
569
  index.h("div", { class: "filter-modal-buttons", slot: "footer" }, index.h("calcite-button", { appearance: "outline", onClick: this._handleFilterListReset.bind(this), width: "full" }, this._translations.Resetfilter), index.h("calcite-button", { onClick: this._closeFilter.bind(this), width: "full" }, this._translations.close)))));
@@ -575,7 +576,7 @@ const CrowdsourceManager = class {
575
576
  */
576
577
  _filterModal() {
577
578
  const showFilterModal = this._layerExpressions?.length > 0;
578
- return (index.h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, this._mapExtentFilter(), showFilterModal && index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
579
+ return (index.h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, !this._layer?.isTable && this._mapExtentFilter(), showFilterModal && index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
579
580
  }
580
581
  /**
581
582
  * Update the filter state
@@ -571,6 +571,7 @@ export class CrowdsourceManager {
571
571
  return (h("calcite-panel", null, h("div", null, h("calcite-block", { class: this.theme === "dark" ? "background-dark" : "", heading: '', "menu-placement": 'bottom-end', open: true }, h("div", { class: "filter-extent-container" }, h("div", { class: "filter-extent-message" }, h("span", null, this._translations.filterByExtentMsg, " "), h("calcite-icon", { icon: "information", id: "filter-message-info", scale: "s" }), h("calcite-tooltip", { overlayPositioning: "fixed", placement: "top", "reference-element": "filter-message-info" }, this._translations.filterByExtentTooltipMsg)), h("calcite-switch", { checked: this._mapExtentFilterChecked, onCalciteSwitchChange: (e) => {
572
572
  const active = e.target.checked || this._filterList?.filterCount > 0;
573
573
  void this._layerTable.filterUpdate(active, e.target.checked);
574
+ void this._mapCard.updateFilterState(active);
574
575
  this._mapExtentFilterChecked = e.target.checked;
575
576
  }, scale: "m" }))), showButtons &&
576
577
  h("div", { class: "filter-modal-buttons", slot: "footer" }, h("calcite-button", { appearance: "outline", onClick: this._handleFilterListReset.bind(this), width: "full" }, this._translations.Resetfilter), h("calcite-button", { onClick: this._closeFilter.bind(this), width: "full" }, this._translations.close)))));
@@ -583,7 +584,7 @@ export class CrowdsourceManager {
583
584
  */
584
585
  _filterModal() {
585
586
  const showFilterModal = this._layerExpressions?.length > 0;
586
- return (h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, this._mapExtentFilter(), showFilterModal && h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
587
+ return (h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, !this._layer?.isTable && this._mapExtentFilter(), showFilterModal && h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
587
588
  }
588
589
  /**
589
590
  * Update the filter state
@@ -948,10 +948,12 @@ export class LayerTable {
948
948
  const featuresSelected = this._featuresSelected();
949
949
  // hide multiple edits for R03
950
950
  const showMultipleEdits = this.selectedIds.length > 1 && this._layer?.capabilities?.operations?.supportsUpdate && false;
951
+ const showZoom = !this.mapHidden && !this._layer?.isTable;
951
952
  const featuresEmpty = this._featuresEmpty();
953
+ const showFilterIcon = !this._layer?.isTable || this._hasFilterExpressions();
952
954
  if (this._translations) {
953
955
  this._toolInfos = [
954
- !this.mapHidden ? {
956
+ showZoom ? {
955
957
  active: false,
956
958
  icon: "zoom-to-object",
957
959
  indicator: false,
@@ -960,7 +962,7 @@ export class LayerTable {
960
962
  disabled: !featuresSelected,
961
963
  isOverflow: false
962
964
  } : undefined,
963
- {
965
+ showFilterIcon ? {
964
966
  active: false,
965
967
  icon: "filter",
966
968
  indicator: false,
@@ -968,7 +970,7 @@ export class LayerTable {
968
970
  func: () => this.createFilterModal ? this._toggleFilter() : this.toggleFilter.emit(),
969
971
  disabled: false,
970
972
  isOverflow: false
971
- },
973
+ } : undefined,
972
974
  showMultipleEdits ? {
973
975
  active: false,
974
976
  icon: "pencil",
@@ -1478,8 +1480,10 @@ export class LayerTable {
1478
1480
  */
1479
1481
  tempHighlightOnHover(e) {
1480
1482
  this._removeTempHighlight();
1481
- const temporaryFeature = e.feature;
1482
- this._temporaryFeatureHandle = this._selectedLayerView.highlight([temporaryFeature], { name: "temporary" });
1483
+ if (this._selectedLayerView) {
1484
+ const temporaryFeature = e.feature;
1485
+ this._temporaryFeatureHandle = this._selectedLayerView?.highlight([temporaryFeature], { name: "temporary" });
1486
+ }
1483
1487
  }
1484
1488
  /**
1485
1489
  * Clears the temporary highlight
@@ -1495,10 +1499,12 @@ export class LayerTable {
1495
1499
  */
1496
1500
  _highlightFeatures(currentFeatureId) {
1497
1501
  this._clearHighlights();
1498
- this._currentFeatureHighlightHandle = this._selectedLayerView.highlight([currentFeatureId], { name: "current-selection" });
1499
- if (this.selectedIds.length > 1) {
1500
- const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1501
- this._defaultFeaturesHandle = this._selectedLayerView.highlight(secondaryFeatures, { name: "default" });
1502
+ if (this._selectedLayerView) {
1503
+ this._currentFeatureHighlightHandle = this._selectedLayerView?.highlight([currentFeatureId], { name: "current-selection" });
1504
+ if (this.selectedIds.length > 1) {
1505
+ const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1506
+ this._defaultFeaturesHandle = this._selectedLayerView?.highlight(secondaryFeatures, { name: "default" });
1507
+ }
1502
1508
  }
1503
1509
  }
1504
1510
  /**
@@ -1582,6 +1588,7 @@ export class LayerTable {
1582
1588
  await this._handleDefaults();
1583
1589
  await this._sortTable();
1584
1590
  this._initToolInfos();
1591
+ this._controlsThatFitWatchHandler();
1585
1592
  this._updateToolbar();
1586
1593
  }
1587
1594
  catch (e) {
@@ -1736,7 +1743,7 @@ export class LayerTable {
1736
1743
  */
1737
1744
  _handleDocumentClick(e) {
1738
1745
  const id = e.target?.id;
1739
- if (id.startsWith('layer-table-')) {
1746
+ if (id.startsWith('layer-table-') && this._moreDropdown) {
1740
1747
  this._moreDropdown.open = true;
1741
1748
  }
1742
1749
  else if (this._showHideOpen && Object.keys(this._columnsInfo).indexOf(id) < 0 && id !== "chevron-right") {
@@ -2040,7 +2047,7 @@ export class LayerTable {
2040
2047
  this._fetchingData = true;
2041
2048
  const layer = await getLayerOrTable(this.mapView, id);
2042
2049
  layer && await layer.when(async () => {
2043
- this._selectedLayerView = await getFeatureLayerView(this.mapView, layer.id);
2050
+ this._selectedLayerView = !layer.isTable ? await getFeatureLayerView(this.mapView, layer.id) : null;
2044
2051
  if (this._table && this._table?.viewModel?.attachmentsViewOptions?.objectId) {
2045
2052
  this._table.viewModel.hideAttachmentsView();
2046
2053
  }
@@ -654,7 +654,6 @@ export class MapCard {
654
654
  */
655
655
  _initToolInfos() {
656
656
  const featuresSelected = this.selectedFeaturesIds?.length > 0;
657
- const hasFilterExpressions = this._hasFilterExpressions();
658
657
  // hide multiple edits for R03
659
658
  const showMultipleEdits = this.selectedFeaturesIds?.length > 1 && false;
660
659
  if (this._translations) {
@@ -668,7 +667,7 @@ export class MapCard {
668
667
  disabled: !featuresSelected,
669
668
  isOverflow: false
670
669
  },
671
- hasFilterExpressions ? {
670
+ {
672
671
  active: false,
673
672
  icon: "filter",
674
673
  indicator: false,
@@ -676,7 +675,7 @@ export class MapCard {
676
675
  func: () => this._toggleFilter(),
677
676
  disabled: false,
678
677
  isOverflow: false
679
- } : undefined,
678
+ },
680
679
  showMultipleEdits ? {
681
680
  active: false,
682
681
  icon: "pencil",
@@ -591,6 +591,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
591
591
  return (h("calcite-panel", null, h("div", null, h("calcite-block", { class: this.theme === "dark" ? "background-dark" : "", heading: '', "menu-placement": 'bottom-end', open: true }, h("div", { class: "filter-extent-container" }, h("div", { class: "filter-extent-message" }, h("span", null, this._translations.filterByExtentMsg, " "), h("calcite-icon", { icon: "information", id: "filter-message-info", scale: "s" }), h("calcite-tooltip", { overlayPositioning: "fixed", placement: "top", "reference-element": "filter-message-info" }, this._translations.filterByExtentTooltipMsg)), h("calcite-switch", { checked: this._mapExtentFilterChecked, onCalciteSwitchChange: (e) => {
592
592
  const active = e.target.checked || this._filterList?.filterCount > 0;
593
593
  void this._layerTable.filterUpdate(active, e.target.checked);
594
+ void this._mapCard.updateFilterState(active);
594
595
  this._mapExtentFilterChecked = e.target.checked;
595
596
  }, scale: "m" }))), showButtons &&
596
597
  h("div", { class: "filter-modal-buttons", slot: "footer" }, h("calcite-button", { appearance: "outline", onClick: this._handleFilterListReset.bind(this), width: "full" }, this._translations.Resetfilter), h("calcite-button", { onClick: this._closeFilter.bind(this), width: "full" }, this._translations.close)))));
@@ -603,7 +604,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
603
604
  */
604
605
  _filterModal() {
605
606
  const showFilterModal = this._layerExpressions?.length > 0;
606
- return (h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, this._mapExtentFilter(), showFilterModal && h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
607
+ return (h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, !this._layer?.isTable && this._mapExtentFilter(), showFilterModal && h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
607
608
  }
608
609
  /**
609
610
  * Update the filter state
@@ -954,10 +954,12 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
954
954
  const featuresSelected = this._featuresSelected();
955
955
  // hide multiple edits for R03
956
956
  const showMultipleEdits = this.selectedIds.length > 1 && this._layer?.capabilities?.operations?.supportsUpdate && false;
957
+ const showZoom = !this.mapHidden && !this._layer?.isTable;
957
958
  const featuresEmpty = this._featuresEmpty();
959
+ const showFilterIcon = !this._layer?.isTable || this._hasFilterExpressions();
958
960
  if (this._translations) {
959
961
  this._toolInfos = [
960
- !this.mapHidden ? {
962
+ showZoom ? {
961
963
  active: false,
962
964
  icon: "zoom-to-object",
963
965
  indicator: false,
@@ -966,7 +968,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
966
968
  disabled: !featuresSelected,
967
969
  isOverflow: false
968
970
  } : undefined,
969
- {
971
+ showFilterIcon ? {
970
972
  active: false,
971
973
  icon: "filter",
972
974
  indicator: false,
@@ -974,7 +976,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
974
976
  func: () => this.createFilterModal ? this._toggleFilter() : this.toggleFilter.emit(),
975
977
  disabled: false,
976
978
  isOverflow: false
977
- },
979
+ } : undefined,
978
980
  showMultipleEdits ? {
979
981
  active: false,
980
982
  icon: "pencil",
@@ -1484,8 +1486,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1484
1486
  */
1485
1487
  tempHighlightOnHover(e) {
1486
1488
  this._removeTempHighlight();
1487
- const temporaryFeature = e.feature;
1488
- this._temporaryFeatureHandle = this._selectedLayerView.highlight([temporaryFeature], { name: "temporary" });
1489
+ if (this._selectedLayerView) {
1490
+ const temporaryFeature = e.feature;
1491
+ this._temporaryFeatureHandle = this._selectedLayerView?.highlight([temporaryFeature], { name: "temporary" });
1492
+ }
1489
1493
  }
1490
1494
  /**
1491
1495
  * Clears the temporary highlight
@@ -1501,10 +1505,12 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1501
1505
  */
1502
1506
  _highlightFeatures(currentFeatureId) {
1503
1507
  this._clearHighlights();
1504
- this._currentFeatureHighlightHandle = this._selectedLayerView.highlight([currentFeatureId], { name: "current-selection" });
1505
- if (this.selectedIds.length > 1) {
1506
- const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1507
- this._defaultFeaturesHandle = this._selectedLayerView.highlight(secondaryFeatures, { name: "default" });
1508
+ if (this._selectedLayerView) {
1509
+ this._currentFeatureHighlightHandle = this._selectedLayerView?.highlight([currentFeatureId], { name: "current-selection" });
1510
+ if (this.selectedIds.length > 1) {
1511
+ const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1512
+ this._defaultFeaturesHandle = this._selectedLayerView?.highlight(secondaryFeatures, { name: "default" });
1513
+ }
1508
1514
  }
1509
1515
  }
1510
1516
  /**
@@ -1588,6 +1594,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1588
1594
  await this._handleDefaults();
1589
1595
  await this._sortTable();
1590
1596
  this._initToolInfos();
1597
+ this._controlsThatFitWatchHandler();
1591
1598
  this._updateToolbar();
1592
1599
  }
1593
1600
  catch (e) {
@@ -1742,7 +1749,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1742
1749
  */
1743
1750
  _handleDocumentClick(e) {
1744
1751
  const id = e.target?.id;
1745
- if (id.startsWith('layer-table-')) {
1752
+ if (id.startsWith('layer-table-') && this._moreDropdown) {
1746
1753
  this._moreDropdown.open = true;
1747
1754
  }
1748
1755
  else if (this._showHideOpen && Object.keys(this._columnsInfo).indexOf(id) < 0 && id !== "chevron-right") {
@@ -2046,7 +2053,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
2046
2053
  this._fetchingData = true;
2047
2054
  const layer = await getLayerOrTable(this.mapView, id);
2048
2055
  layer && await layer.when(async () => {
2049
- this._selectedLayerView = await getFeatureLayerView(this.mapView, layer.id);
2056
+ this._selectedLayerView = !layer.isTable ? await getFeatureLayerView(this.mapView, layer.id) : null;
2050
2057
  if (this._table && this._table?.viewModel?.attachmentsViewOptions?.objectId) {
2051
2058
  this._table.viewModel.hideAttachmentsView();
2052
2059
  }
@@ -697,7 +697,6 @@ const MapCard = /*@__PURE__*/ proxyCustomElement(class MapCard extends HTMLEleme
697
697
  */
698
698
  _initToolInfos() {
699
699
  const featuresSelected = this.selectedFeaturesIds?.length > 0;
700
- const hasFilterExpressions = this._hasFilterExpressions();
701
700
  // hide multiple edits for R03
702
701
  const showMultipleEdits = this.selectedFeaturesIds?.length > 1 && false;
703
702
  if (this._translations) {
@@ -711,7 +710,7 @@ const MapCard = /*@__PURE__*/ proxyCustomElement(class MapCard extends HTMLEleme
711
710
  disabled: !featuresSelected,
712
711
  isOverflow: false
713
712
  },
714
- hasFilterExpressions ? {
713
+ {
715
714
  active: false,
716
715
  icon: "filter",
717
716
  indicator: false,
@@ -719,7 +718,7 @@ const MapCard = /*@__PURE__*/ proxyCustomElement(class MapCard extends HTMLEleme
719
718
  func: () => this._toggleFilter(),
720
719
  disabled: false,
721
720
  isOverflow: false
722
- } : undefined,
721
+ },
723
722
  showMultipleEdits ? {
724
723
  active: false,
725
724
  icon: "pencil",
@@ -1140,10 +1140,12 @@ const LayerTable = class {
1140
1140
  const featuresSelected = this._featuresSelected();
1141
1141
  // hide multiple edits for R03
1142
1142
  const showMultipleEdits = this.selectedIds.length > 1 && this._layer?.capabilities?.operations?.supportsUpdate && false;
1143
+ const showZoom = !this.mapHidden && !this._layer?.isTable;
1143
1144
  const featuresEmpty = this._featuresEmpty();
1145
+ const showFilterIcon = !this._layer?.isTable || this._hasFilterExpressions();
1144
1146
  if (this._translations) {
1145
1147
  this._toolInfos = [
1146
- !this.mapHidden ? {
1148
+ showZoom ? {
1147
1149
  active: false,
1148
1150
  icon: "zoom-to-object",
1149
1151
  indicator: false,
@@ -1152,7 +1154,7 @@ const LayerTable = class {
1152
1154
  disabled: !featuresSelected,
1153
1155
  isOverflow: false
1154
1156
  } : undefined,
1155
- {
1157
+ showFilterIcon ? {
1156
1158
  active: false,
1157
1159
  icon: "filter",
1158
1160
  indicator: false,
@@ -1160,7 +1162,7 @@ const LayerTable = class {
1160
1162
  func: () => this.createFilterModal ? this._toggleFilter() : this.toggleFilter.emit(),
1161
1163
  disabled: false,
1162
1164
  isOverflow: false
1163
- },
1165
+ } : undefined,
1164
1166
  showMultipleEdits ? {
1165
1167
  active: false,
1166
1168
  icon: "pencil",
@@ -1670,8 +1672,10 @@ const LayerTable = class {
1670
1672
  */
1671
1673
  tempHighlightOnHover(e) {
1672
1674
  this._removeTempHighlight();
1673
- const temporaryFeature = e.feature;
1674
- this._temporaryFeatureHandle = this._selectedLayerView.highlight([temporaryFeature], { name: "temporary" });
1675
+ if (this._selectedLayerView) {
1676
+ const temporaryFeature = e.feature;
1677
+ this._temporaryFeatureHandle = this._selectedLayerView?.highlight([temporaryFeature], { name: "temporary" });
1678
+ }
1675
1679
  }
1676
1680
  /**
1677
1681
  * Clears the temporary highlight
@@ -1687,10 +1691,12 @@ const LayerTable = class {
1687
1691
  */
1688
1692
  _highlightFeatures(currentFeatureId) {
1689
1693
  this._clearHighlights();
1690
- this._currentFeatureHighlightHandle = this._selectedLayerView.highlight([currentFeatureId], { name: "current-selection" });
1691
- if (this.selectedIds.length > 1) {
1692
- const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1693
- this._defaultFeaturesHandle = this._selectedLayerView.highlight(secondaryFeatures, { name: "default" });
1694
+ if (this._selectedLayerView) {
1695
+ this._currentFeatureHighlightHandle = this._selectedLayerView?.highlight([currentFeatureId], { name: "current-selection" });
1696
+ if (this.selectedIds.length > 1) {
1697
+ const secondaryFeatures = this.selectedIds.filter((id) => id !== currentFeatureId);
1698
+ this._defaultFeaturesHandle = this._selectedLayerView?.highlight(secondaryFeatures, { name: "default" });
1699
+ }
1694
1700
  }
1695
1701
  }
1696
1702
  /**
@@ -1774,6 +1780,7 @@ const LayerTable = class {
1774
1780
  await this._handleDefaults();
1775
1781
  await this._sortTable();
1776
1782
  this._initToolInfos();
1783
+ this._controlsThatFitWatchHandler();
1777
1784
  this._updateToolbar();
1778
1785
  }
1779
1786
  catch (e) {
@@ -1928,7 +1935,7 @@ const LayerTable = class {
1928
1935
  */
1929
1936
  _handleDocumentClick(e) {
1930
1937
  const id = e.target?.id;
1931
- if (id.startsWith('layer-table-')) {
1938
+ if (id.startsWith('layer-table-') && this._moreDropdown) {
1932
1939
  this._moreDropdown.open = true;
1933
1940
  }
1934
1941
  else if (this._showHideOpen && Object.keys(this._columnsInfo).indexOf(id) < 0 && id !== "chevron-right") {
@@ -2232,7 +2239,7 @@ const LayerTable = class {
2232
2239
  this._fetchingData = true;
2233
2240
  const layer = await getLayerOrTable(this.mapView, id);
2234
2241
  layer && await layer.when(async () => {
2235
- this._selectedLayerView = await getFeatureLayerView(this.mapView, layer.id);
2242
+ this._selectedLayerView = !layer.isTable ? await getFeatureLayerView(this.mapView, layer.id) : null;
2236
2243
  if (this._table && this._table?.viewModel?.attachmentsViewOptions?.objectId) {
2237
2244
  this._table.viewModel.hideAttachmentsView();
2238
2245
  }
@@ -3027,7 +3034,6 @@ const MapCard = class {
3027
3034
  */
3028
3035
  _initToolInfos() {
3029
3036
  const featuresSelected = this.selectedFeaturesIds?.length > 0;
3030
- const hasFilterExpressions = this._hasFilterExpressions();
3031
3037
  // hide multiple edits for R03
3032
3038
  const showMultipleEdits = this.selectedFeaturesIds?.length > 1 && false;
3033
3039
  if (this._translations) {
@@ -3041,7 +3047,7 @@ const MapCard = class {
3041
3047
  disabled: !featuresSelected,
3042
3048
  isOverflow: false
3043
3049
  },
3044
- hasFilterExpressions ? {
3050
+ {
3045
3051
  active: false,
3046
3052
  icon: "filter",
3047
3053
  indicator: false,
@@ -3049,7 +3055,7 @@ const MapCard = class {
3049
3055
  func: () => this._toggleFilter(),
3050
3056
  disabled: false,
3051
3057
  isOverflow: false
3052
- } : undefined,
3058
+ },
3053
3059
  showMultipleEdits ? {
3054
3060
  active: false,
3055
3061
  icon: "pencil",
@@ -559,6 +559,7 @@ const CrowdsourceManager = class {
559
559
  return (h("calcite-panel", null, h("div", null, h("calcite-block", { class: this.theme === "dark" ? "background-dark" : "", heading: '', "menu-placement": 'bottom-end', open: true }, h("div", { class: "filter-extent-container" }, h("div", { class: "filter-extent-message" }, h("span", null, this._translations.filterByExtentMsg, " "), h("calcite-icon", { icon: "information", id: "filter-message-info", scale: "s" }), h("calcite-tooltip", { overlayPositioning: "fixed", placement: "top", "reference-element": "filter-message-info" }, this._translations.filterByExtentTooltipMsg)), h("calcite-switch", { checked: this._mapExtentFilterChecked, onCalciteSwitchChange: (e) => {
560
560
  const active = e.target.checked || this._filterList?.filterCount > 0;
561
561
  void this._layerTable.filterUpdate(active, e.target.checked);
562
+ void this._mapCard.updateFilterState(active);
562
563
  this._mapExtentFilterChecked = e.target.checked;
563
564
  }, scale: "m" }))), showButtons &&
564
565
  h("div", { class: "filter-modal-buttons", slot: "footer" }, h("calcite-button", { appearance: "outline", onClick: this._handleFilterListReset.bind(this), width: "full" }, this._translations.Resetfilter), h("calcite-button", { onClick: this._closeFilter.bind(this), width: "full" }, this._translations.close)))));
@@ -571,7 +572,7 @@ const CrowdsourceManager = class {
571
572
  */
572
573
  _filterModal() {
573
574
  const showFilterModal = this._layerExpressions?.length > 0;
574
- return (h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, this._mapExtentFilter(), showFilterModal && h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
575
+ return (h("calcite-dialog", { class: "filter-content-space", heading: this._translations?.filter?.replace("{{title}}", this._layer?.title), id: "solutions-filter-dialog", kind: "brand", modal: true, onCalciteDialogClose: () => void this._closeFilter(), open: this._filterOpen, width: "s" }, !this._layer?.isTable && this._mapExtentFilter(), showFilterModal && h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: this._handleFilterListReset.bind(this), onFilterUpdate: () => void this._updateFilter(), ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false })));
575
576
  }
576
577
  /**
577
578
  * Update the filter state