@arcgis/map-components 5.0.0-next.163 → 5.0.0-next.164
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/dist/cdn/{G4FP7GXM.js → 3UILDMTJ.js} +1 -1
- package/dist/cdn/3V6ZTS7B.js +2 -0
- package/dist/cdn/{ANP7PYGJ.js → 3XJU4K4Z.js} +1 -1
- package/dist/cdn/5KET4V4O.js +2 -0
- package/dist/cdn/7EW22PZD.js +2 -0
- package/dist/cdn/AAGYR4XM.js +2 -0
- package/dist/cdn/AZN2TGWK.js +2 -0
- package/dist/cdn/{NWXN5M4S.js → DPW55W6W.js} +1 -1
- package/dist/cdn/{SK6O74LF.js → DUHFQ4AI.js} +1 -1
- package/dist/cdn/{UNLAUFXF.js → F5I4VDXM.js} +1 -1
- package/dist/cdn/{R2FIOZIL.js → FUHAGBXL.js} +1 -1
- package/dist/cdn/{ESNK6MCY.js → IWXXD73F.js} +1 -1
- package/dist/cdn/{FD4A66OJ.js → KDJV5F4T.js} +1 -1
- package/dist/cdn/{SQFVC4KA.js → MJBV536L.js} +1 -1
- package/dist/cdn/MU6C77DZ.js +2 -0
- package/dist/cdn/NPEMOLA3.js +2 -0
- package/dist/cdn/{2AHY7O7C.js → POP5NTRI.js} +1 -1
- package/dist/cdn/SI3PITPE.js +2 -0
- package/dist/cdn/SU6ZGF4G.js +2 -0
- package/dist/cdn/W3AN7XLR.js +2 -0
- package/dist/cdn/{7NOD6U2Y.js → WUISNRWL.js} +1 -1
- package/dist/cdn/X25QBU47.js +2 -0
- package/dist/cdn/Z22BBNTK.js +2 -0
- package/dist/cdn/{YXYCWJFF.js → Z6LBCKKH.js} +1 -1
- package/dist/cdn/{AJ64UYFM.js → ZFATBY4D.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/esri-main.js +1 -1
- package/dist/components/arcgis-directions/customElement.js +5 -5
- package/dist/components/arcgis-feature/customElement.js +6 -6
- package/dist/components/arcgis-feature-table/customElement.d.ts +57 -2
- package/dist/components/arcgis-feature-table/customElement.js +28 -13
- package/dist/components/arcgis-feature-templates/customElement.d.ts +3 -0
- package/dist/components/arcgis-feature-templates/customElement.js +2 -2
- package/dist/components/arcgis-feature-utility-network-association-list/customElement.js +16 -16
- package/dist/components/arcgis-feature-utility-network-associations/customElement.js +55 -55
- package/dist/components/arcgis-features/customElement.js +46 -52
- package/dist/components/arcgis-link-chart/customElement.js +10 -15
- package/dist/components/arcgis-map/customElement.js +1 -6
- package/dist/components/arcgis-paste/customElement.js +44 -44
- package/dist/components/arcgis-popup/customElement.js +4 -4
- package/dist/components/arcgis-print/customElement.d.ts +10 -0
- package/dist/components/arcgis-print/customElement.js +7 -7
- package/dist/components/arcgis-print-layout-advanced-options/customElement.js +12 -12
- package/dist/components/arcgis-print-layout-panel/customElement.js +6 -6
- package/dist/components/arcgis-print-main-panel/customElement.js +7 -7
- package/dist/components/arcgis-scene/customElement.js +8 -13
- package/dist/components/arcgis-utility-network-aggregated-geometry/customElement.d.ts +12 -0
- package/dist/components/arcgis-utility-network-aggregated-geometry/customElement.js +7 -7
- package/dist/components/arcgis-utility-network-trace/customElement.d.ts +1 -1
- package/dist/components/arcgis-utility-network-trace/customElement.js +1 -1
- package/dist/components/arcgis-utility-network-trace-analysis/customElement.js +47 -40
- package/dist/components/arcgis-utility-network-trace-inputs/customElement.d.ts +12 -0
- package/dist/components/arcgis-utility-network-trace-inputs/customElement.js +80 -65
- package/dist/components/arcgis-utility-network-trace-location/customElement.d.ts +4 -0
- package/dist/components/arcgis-utility-network-trace-location/customElement.js +17 -14
- package/dist/components/arcgis-utility-network-trace-results/customElement.d.ts +13 -0
- package/dist/components/arcgis-utility-network-trace-results/customElement.js +39 -26
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +12 -12
- package/dist/types/lumina.d.ts +6 -6
- package/dist/types/preact.d.ts +6 -6
- package/dist/types/react.d.ts +6 -6
- package/dist/types/stencil.d.ts +6 -6
- package/package.json +4 -4
- package/dist/cdn/55TRWAT7.js +0 -2
- package/dist/cdn/BHPXKX47.js +0 -2
- package/dist/cdn/D4LTASH2.js +0 -2
- package/dist/cdn/H7O5I4IF.js +0 -2
- package/dist/cdn/I5M2Z7WS.js +0 -2
- package/dist/cdn/L6YZXUBB.js +0 -2
- package/dist/cdn/P7PWOUNZ.js +0 -2
- package/dist/cdn/Q4B4MXH4.js +0 -2
- package/dist/cdn/RN57AN5P.js +0 -2
- package/dist/cdn/URUFNID2.js +0 -2
- package/dist/cdn/WREEAAEV.js +0 -2
- package/dist/cdn/WTTBFFC2.js +0 -2
|
@@ -18,7 +18,7 @@ import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
|
18
18
|
import type { ArcgisReferenceElement, IconName } from "../types.js";
|
|
19
19
|
import type { FeatureStoreItem, ActionColumnConfig, FeatureTableSupportedFilters, ColumnSortOrder, FeatureTableSupportedLayer } from "@arcgis/core/widgets/FeatureTable/support/types.js";
|
|
20
20
|
import type { CollectionChangeEvent } from "@arcgis/core/core/Collection.js";
|
|
21
|
-
import type { TableInteractionColumnReorderEvent, TableInteractionCellPointeroverEvent, TableInteractionCellPointeroutEvent, TableInteractionCellKeydownEvent, TableInteractionCellClickEvent, TableMenuConfig, GridMultiSortPriority, FeatureTableState } from "@arcgis/core/widgets/FeatureTable/Grid/types.js";
|
|
21
|
+
import type { DiscardPendingEditsParameters, FeatureStoreEdits, TableInteractionColumnReorderEvent, TableInteractionCellPointeroverEvent, TableInteractionCellPointeroutEvent, TableInteractionCellKeydownEvent, TableInteractionCellClickEvent, TableMenuConfig, GridMultiSortPriority, FeatureTableState } from "@arcgis/core/widgets/FeatureTable/Grid/types.js";
|
|
22
22
|
import type { MapViewOrSceneView } from "@arcgis/core/views/MapViewOrSceneView.js";
|
|
23
23
|
import type { FeatureTableDescriptionFunction, FeatureTableTitleFunction } from "@arcgis/core/widgets/FeatureTable.js";
|
|
24
24
|
import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
|
|
@@ -964,10 +964,55 @@ export abstract class ArcgisFeatureTable extends LitElement {
|
|
|
964
964
|
* @since 4.33
|
|
965
965
|
*/
|
|
966
966
|
get visibleColumns(): Array<Column>;
|
|
967
|
+
/**
|
|
968
|
+
* Creates a pending edit with the specified parameters.
|
|
969
|
+
* A pending edit is not immediately saved to the layer.
|
|
970
|
+
*
|
|
971
|
+
* @param edits - Pending edits to be cached. Edits must include a valid objectId and field name.
|
|
972
|
+
* @since 5.0
|
|
973
|
+
* @example
|
|
974
|
+
* // Add pending edits for two cells in a single row
|
|
975
|
+
* table.addPendingEdits(
|
|
976
|
+
* [
|
|
977
|
+
* {
|
|
978
|
+
* objectId: 1,
|
|
979
|
+
* updates: [
|
|
980
|
+
* { fieldName: "Hotel_Name", value: "My Hotel" },
|
|
981
|
+
* { fieldName: "Address", value: "123 Hotel Street" },
|
|
982
|
+
* ]
|
|
983
|
+
* }
|
|
984
|
+
* ]
|
|
985
|
+
* );
|
|
986
|
+
*/
|
|
987
|
+
addPendingEdits(edits: FeatureStoreEdits[]): void;
|
|
967
988
|
/** @param showWarningPrompt */
|
|
968
989
|
deleteSelection(showWarningPrompt?: boolean): Promise<void>;
|
|
969
990
|
/** Permanently destroy the component. */
|
|
970
991
|
destroy(): Promise<void>;
|
|
992
|
+
/**
|
|
993
|
+
* Cancels any pending edits. This might be edits for a specific field or column, or
|
|
994
|
+
* all pending edits for a specific feature. If no parameters are supplied, all pending edits
|
|
995
|
+
* for all features are discarded. Additionally, if showWarningPrompt is 'true', the value returned
|
|
996
|
+
* from this method will reflect whether or not the user chose to discard the pending edits.
|
|
997
|
+
*
|
|
998
|
+
* @param edits - Information about which pending edits should be canceled. If nothing is provided, all pending edits are discarded.
|
|
999
|
+
* @param showWarningPrompt - Indicates the table should display a warning prompt, which allows users to confirm if pending edits should be discarded.
|
|
1000
|
+
* @since 5.0
|
|
1001
|
+
* @example
|
|
1002
|
+
* // Discard pending edits for single cell in a given row
|
|
1003
|
+
* table.discardPendingEdits([{ objectId: 1, fieldName: "Address" }]);
|
|
1004
|
+
*
|
|
1005
|
+
* // Discard pending edits for all cells in a given row
|
|
1006
|
+
* table.discardPendingEdits([{ objectId: 1 }]);
|
|
1007
|
+
*
|
|
1008
|
+
* // Discard all pending edits
|
|
1009
|
+
* table.discardPendingEdits();
|
|
1010
|
+
*
|
|
1011
|
+
* // Displays a confirmation prompt before discarding all pending edits
|
|
1012
|
+
* // Returns 'true' if edits were discarded
|
|
1013
|
+
* const editsWereDiscarded = await table.discardPendingEdits(undefined, true);
|
|
1014
|
+
*/
|
|
1015
|
+
discardPendingEdits(edits?: DiscardPendingEditsParameters[] | null, showWarningPrompt?: boolean): Promise<boolean>;
|
|
971
1016
|
/** @param includeGeometry */
|
|
972
1017
|
exportSelectionToCSV(includeGeometry?: boolean): Promise<void>;
|
|
973
1018
|
/** @param fieldName */
|
|
@@ -978,7 +1023,7 @@ export abstract class ArcgisFeatureTable extends LitElement {
|
|
|
978
1023
|
* @param objectId
|
|
979
1024
|
* @since 5.0
|
|
980
1025
|
*/
|
|
981
|
-
getFeatureStoreItemByObjectId(objectId: number | string): FeatureStoreItem | null | undefined
|
|
1026
|
+
getFeatureStoreItemByObjectId(objectId: number | string): Promise<FeatureStoreItem | null | undefined>;
|
|
982
1027
|
/** @param index */
|
|
983
1028
|
goToPage(index: number): Promise<void>;
|
|
984
1029
|
/** @param fieldName */
|
|
@@ -986,6 +1031,14 @@ export abstract class ArcgisFeatureTable extends LitElement {
|
|
|
986
1031
|
nextPage(): Promise<void>;
|
|
987
1032
|
previousPage(): Promise<void>;
|
|
988
1033
|
refresh(): Promise<void>;
|
|
1034
|
+
refreshCellContent(): Promise<void>;
|
|
1035
|
+
/**
|
|
1036
|
+
* Attempts to save any pending edits. If any edits are invalid, the save will be rejected until the edits are in a valid state.
|
|
1037
|
+
*
|
|
1038
|
+
* @returns Resolves when the edits are saved or rejected.
|
|
1039
|
+
* @since 5.0
|
|
1040
|
+
*/
|
|
1041
|
+
savePendingEdits(): Promise<void>;
|
|
989
1042
|
scrollToBottom(): Promise<void>;
|
|
990
1043
|
/** @param index */
|
|
991
1044
|
scrollToIndex(index: number): Promise<void>;
|
|
@@ -1001,6 +1054,8 @@ export abstract class ArcgisFeatureTable extends LitElement {
|
|
|
1001
1054
|
* @param direction
|
|
1002
1055
|
*/
|
|
1003
1056
|
sortColumn(path: string, direction: "asc" | "desc"): Promise<void>;
|
|
1057
|
+
/** @param fieldName */
|
|
1058
|
+
toggleColumnVisibility(fieldName: string): Promise<void>;
|
|
1004
1059
|
zoomToSelection(): Promise<void>;
|
|
1005
1060
|
"@setterTypes": {
|
|
1006
1061
|
icon?: IconName;
|
|
@@ -27,26 +27,32 @@ class w extends c {
|
|
|
27
27
|
set tableDisabled(e) {
|
|
28
28
|
this.widget.disabled = e;
|
|
29
29
|
}
|
|
30
|
+
addPendingEdits(e) {
|
|
31
|
+
this.widget.addPendingEdits(e);
|
|
32
|
+
}
|
|
30
33
|
async deleteSelection(e) {
|
|
31
|
-
await this.widget
|
|
34
|
+
await this.widget.deleteSelection(e);
|
|
32
35
|
}
|
|
33
36
|
async destroy() {
|
|
34
37
|
await this.manager.destroy();
|
|
35
38
|
}
|
|
39
|
+
async discardPendingEdits(e, i) {
|
|
40
|
+
return await this.widget.discardPendingEdits(e, i);
|
|
41
|
+
}
|
|
36
42
|
async exportSelectionToCSV(e) {
|
|
37
|
-
await this.widget
|
|
43
|
+
await this.widget.exportSelectionToCSV(e);
|
|
38
44
|
}
|
|
39
45
|
async findColumn(e) {
|
|
40
|
-
return this.widget
|
|
46
|
+
return this.widget.findColumn(e);
|
|
41
47
|
}
|
|
42
|
-
getFeatureStoreItemByObjectId(e) {
|
|
43
|
-
return this.widget
|
|
48
|
+
async getFeatureStoreItemByObjectId(e) {
|
|
49
|
+
return this.widget.getFeatureStoreItemByObjectId(e);
|
|
44
50
|
}
|
|
45
51
|
async goToPage(e) {
|
|
46
52
|
this.widget.goToPage(e);
|
|
47
53
|
}
|
|
48
54
|
async hideColumn(e) {
|
|
49
|
-
this.widget
|
|
55
|
+
this.widget.hideColumn(e);
|
|
50
56
|
}
|
|
51
57
|
async nextPage() {
|
|
52
58
|
this.widget.nextPage();
|
|
@@ -55,34 +61,43 @@ class w extends c {
|
|
|
55
61
|
this.widget.previousPage();
|
|
56
62
|
}
|
|
57
63
|
async refresh() {
|
|
58
|
-
await this.widget
|
|
64
|
+
await this.widget.refresh();
|
|
65
|
+
}
|
|
66
|
+
async refreshCellContent() {
|
|
67
|
+
this.widget.refreshCellContent();
|
|
68
|
+
}
|
|
69
|
+
async savePendingEdits() {
|
|
70
|
+
this.widget.savePendingEdits();
|
|
59
71
|
}
|
|
60
72
|
async scrollToBottom() {
|
|
61
73
|
this.widget.scrollToBottom();
|
|
62
74
|
}
|
|
63
75
|
async scrollToIndex(e) {
|
|
64
|
-
this.widget
|
|
76
|
+
this.widget.scrollToIndex(e);
|
|
65
77
|
}
|
|
66
78
|
async scrollToLeft() {
|
|
67
79
|
this.widget.scrollLeft();
|
|
68
80
|
}
|
|
69
81
|
async scrollToRow(e) {
|
|
70
|
-
this.widget
|
|
82
|
+
this.widget.scrollToRow(e);
|
|
71
83
|
}
|
|
72
84
|
async scrollToTop() {
|
|
73
85
|
this.widget.scrollToTop();
|
|
74
86
|
}
|
|
75
87
|
async showAllColumns() {
|
|
76
|
-
this.widget
|
|
88
|
+
this.widget.showAllColumns();
|
|
77
89
|
}
|
|
78
90
|
async showColumn(e) {
|
|
79
|
-
this.widget
|
|
91
|
+
this.widget.showColumn(e);
|
|
80
92
|
}
|
|
81
93
|
async sortColumn(e, i) {
|
|
82
|
-
this.widget
|
|
94
|
+
this.widget.sortColumn(e, i);
|
|
95
|
+
}
|
|
96
|
+
async toggleColumnVisibility(e) {
|
|
97
|
+
this.widget.toggleColumnVisibility(e);
|
|
83
98
|
}
|
|
84
99
|
async zoomToSelection() {
|
|
85
|
-
this.widget
|
|
100
|
+
this.widget.zoomToSelection();
|
|
86
101
|
}
|
|
87
102
|
load() {
|
|
88
103
|
this.manager.onLifecycle(() => this.widget.highlightIds.on("change", this.arcgisSelectionChange.emit));
|
|
@@ -9,6 +9,7 @@ import type { Filter, GroupByType } from "@arcgis/core/widgets/FeatureTemplates/
|
|
|
9
9
|
import type { HeadingLevel } from "@arcgis/core/widgets/support/types.js";
|
|
10
10
|
import type { Icon } from "@esri/calcite-components/components/calcite-icon";
|
|
11
11
|
import type { LayerWithFeatureTemplatesUnion } from "@arcgis/core/layers/types.js";
|
|
12
|
+
import type { MapViewOrSceneView as MapViewOrSceneView2 } from "@arcgis/core/views/MapViewOrSceneView.js";
|
|
12
13
|
|
|
13
14
|
/** @internal */
|
|
14
15
|
export abstract class ArcgisFeatureTemplates extends LitElement {
|
|
@@ -185,6 +186,8 @@ export abstract class ArcgisFeatureTemplates extends LitElement {
|
|
|
185
186
|
* @default "disabled"
|
|
186
187
|
*/
|
|
187
188
|
get state(): FeatureTemplatesViewModelState;
|
|
189
|
+
/** A reference to the MapView or SceneView. */
|
|
190
|
+
accessor view: MapViewOrSceneView2 | null | undefined;
|
|
188
191
|
/** Permanently destroy the component. */
|
|
189
192
|
destroy(): Promise<void>;
|
|
190
193
|
/**
|
|
@@ -9,10 +9,10 @@ import { css as n } from "lit";
|
|
|
9
9
|
const c = n`.esri-widget__heading{color:var(--calcite-color-text-2);margin:0 0 .5rem;font-weight:var(--calcite-font-weight-semibold)}h1.esri-widget__heading{font-size:var(--calcite-font-size-xl)}h2.esri-widget__heading{font-size:var(--calcite-font-size-md)}h3.esri-widget__heading,h4.esri-widget__heading,h5.esri-widget__heading,h6.esri-widget__heading{font-size:var(--calcite-font-size)}.esri-widget{box-sizing:border-box;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget *,.esri-widget :before,.esri-widget :after{box-sizing:inherit}.esri-widget.esri-widget--disabled>*{opacity:.4;pointer-events:none}.esri-widget.esri-widget--compact{--esri-widget-padding-y: 0;--esri-widget-padding-x: 0}.esri-widget__anchor{color:var(--calcite-color-text-2)}.esri-widget__anchor:hover{color:var(--calcite-color-text-3)}.esri-widget__anchor:hover,.esri-widget__anchor:focus{text-decoration:underline}.esri-widget__anchor--disabled{opacity:.4;pointer-events:none}.esri-widget__header{background-color:var(--calcite-color-foreground-1);flex:1 0 100%;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 0 12px 15px;display:flex}.esri-widget__heading{word-break:break-word}.esri-widget__header .esri-widget__heading{width:calc(100% - 48px);text-align:initial;color:var(--calcite-color-text-1);align-items:center;margin:0;padding:0;display:flex}.esri-widget__header-button{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);border:none;flex:0 0 48px;justify-content:center;align-self:stretch;align-items:center;width:48px;padding:0;display:flex}.esri-widget__footer{background-color:var(--calcite-color-foreground-1);justify-content:center;align-items:center;width:100%;min-height:48px;display:flex}.esri-widget__footer-pagination{color:var(--calcite-color-text-2);justify-content:space-between;align-items:center;display:flex}.esri-widget__footer-pagination-previous-button,.esri-widget__footer-pagination-next-button{cursor:pointer;background-color:var(--calcite-color-foreground-1);border:0;margin:0 7px;padding:12px 15px;transition:background-color .125s ease-in-out}.esri-widget__footer-pagination-previous-button:hover,.esri-widget__footer-pagination-previous-button:focus,.esri-widget__footer-pagination-next-button:hover,.esri-widget__footer-pagination-next-button:focus{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1)}.esri-menu{visibility:hidden;z-index:1;background-clip:padding;background-color:var(--calcite-color-foreground-1);background-clip:padding-box;width:100%;max-height:0;margin:2px 0 0;padding:0;font-size:var(--calcite-font-size);line-height:var(--calcite-spacing-xl);position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 1px 2px #0000004d}.esri-menu .esri-menu__header{color:var(--calcite-color-text-inverse);background-color:var(--calcite-color-inverse);padding:6px 12px}.esri-menu__list{margin:0;padding:0;list-style:none}.esri-menu__list-item{cursor:pointer;border-top:1px solid #adadad4d;border-left:3px solid #0000;padding:.8em 1em}.esri-menu__list-item [class^=esri-icon-],.esri-menu__list-item [class*=" esri-icon-"]{padding-right:2.8px}.esri-menu__list-item:first-child{border-top:none}.esri-menu__list-item--focus,.esri-menu__list-item:hover,.esri-menu__list-item:focus{background-color:var(--calcite-color-foreground-1)}.esri-menu__list-item:active{background-color:var(--calcite-color-foreground-current)}.esri-menu__list-item--active,.esri-menu__list-item--active:hover,.esri-menu__list-item--active:focus{background-color:var(--calcite-color-foreground-1);border-left-color:var(--calcite-color-brand)}.esri-widget__table{border-collapse:collapse;color:var(--calcite-color-text-1);border:none;width:100%;line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget__table tr:nth-child(odd){background-color:var(--calcite-color-transparent)}.esri-widget__table tr:nth-child(2n){background-color:var(--calcite-color-transparent-press)}.esri-widget__table tr a{color:var(--calcite-color-text-2)}.esri-widget__table tr a:hover,.esri-widget__table tr a:focus{color:var(--calcite-color-text-1)}.esri-widget__table tr td,.esri-widget__table tr th{vertical-align:top;word-break:break-word;padding:.5em .7em;font-size:var(--calcite-font-size-sm);font-weight:var(--calcite-font-weight-regular)}.esri-widget__table tr th{text-align:left;border-right:3px solid #0000000d;width:50%}.esri-widget__table tr td{width:50%}.esri-input{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1);border:1px solid #959595;font-size:var(--calcite-font-size)}.esri-input::-ms-clear{display:none}.esri-input::placeholder{opacity:1;color:var(--calcite-color-text-2)}.esri-input:placeholder-shown{text-overflow:ellipsis}.esri-input[type=text],.esri-input[type=password],.esri-input[type=number]{height:32px;padding:0 .5em}calcite-combobox.esri-input{border:none}.esri-widget__content--empty{text-align:center;color:var(--calcite-color-border-input);flex-flow:column wrap;align-items:center;padding:18px 22px;display:flex}.esri-widget__content--empty h1.esri-widget__heading,.esri-widget__content--empty h2.esri-widget__heading,.esri-widget__content--empty h3.esri-widget__heading,.esri-widget__content--empty h4.esri-widget__heading,.esri-widget__content--empty h5.esri-widget__heading{font-weight:var(--calcite-font-weight-regular)}.esri-widget__content-illustration--empty{width:128px;padding:1rem 0}.esri-widget__content-icon--empty{width:32px;padding:.5rem 0}.esri-select{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background:var(--calcite-color-foreground-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 32 32' width='32' height='32'%3E%3Cpath d='M8 11.207l-4-4V5.793l4 4 4-4v1.414z' fill='%23adadad' fillrule='nonzero'/%3E%3C/svg%3E") 100% no-repeat;border:1px solid #959595;border-radius:0;width:100%;height:32px;margin:0;padding:0 .5em;font-family:inherit;font-size:.85em;display:block}.esri-select[disabled]{cursor:auto}.esri-select::-ms-expand{display:none}.esri-disabled a,.esri-disabled [role=menu],.esri-disabled [role=checkbox],.esri-disabled [class^=esri-icon-],.esri-disabled [class*=" esri-icon-"]{color:var(--calcite-color-text-3)}.keynav-mode .esri-widget:focus,.keynav-mode .esri-widget :focus{z-index:1;outline-offset:2px;outline:2px solid #adadad}.esri-widget__loader-animation{border:.15em solid #adadad4d;border-top-color:var(--calcite-color-border-input);border-radius:100%;width:1em;height:1em;font-size:var(--calcite-font-size-md);animation:1.25s linear infinite esri-rotate;display:block;transform:translateZ(0)}:dir(rtl) .esri-widget__table th{text-align:right;border-left:3px solid #0000000d;border-right:none}:dir(rtl) .esri-select{background-position:0}:dir(rtl) .esri-menu__list-item{border-left:none;border-right:3px solid #0000}:dir(rtl) .esri-menu__list-item [class^=esri-icon-],:dir(rtl) .esri-menu__list-item [class*=" esri-icon-"]{padding-left:2px;padding-right:0}:dir(rtl) .esri-menu__list-item--active{border-right-color:var(--calcite-color-brand)}.esri-icon-font-fallback-text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.esri-rotating{animation:1.25s linear infinite esri-rotate;transform:translateZ(0)}.esri-clearfix:before,.esri-clearfix:after{content:" ";display:table}.esri-clearfix:after{clear:both}.esri-interactive{cursor:pointer}.esri-hidden{display:none!important}.esri-invisible{visibility:hidden!important}.esri-offscreen{position:absolute;top:-999em;left:-999em}.esri-match-height{flex-direction:column;flex:auto;display:flex;overflow:hidden}.esri-item-list{width:100%}.esri-item-list__filter-container--sticky{z-index:1;position:sticky;top:0}.esri-item-list__group{margin-top:12px}.esri-item-list__scroller{overflow-y:auto}.esri-item-list__scroller{z-index:0;position:relative}.esri-item-list__scroller--enabled{max-height:420px}.esri-item-list__group__header{color:var(--calcite-color-text-2);font-weight:var(--calcite-font-weight-medium)}.esri-item-list__list-item{cursor:pointer;min-height:32px}.esri-item-list__list-item[class^=esri-icon-],.esri-item-list__list-item[class*=" esri-icon-"]{padding-inline-end:2.8px}.esri-item-list__list-item--disabled{cursor:default}.esri-item-list__list-item-icon{justify-content:center;align-items:center;min-width:32px;height:32px;display:flex}.esri-item-list__list-item-icon span{line-height:0}.esri-thumbnail-preview{background-position:50%;width:22px;height:22px}.esri-item-list__no-matches-message{justify-content:center;align-items:center;height:96px;display:flex}.esri-feature-templates{background:var(--calcite-color-background);width:100%}.esri-feature-templates__list-item-icon{flex:0;justify-content:center;align-items:center;width:48px;min-width:48px;display:flex}.esri-feature-templates__list-item-icon>div{display:flex}.esri-ui .esri-feature-templates{width:300px}.esri-ui .esri-widget .esri-feature-templates{width:100%}.esri-feature-templates .esri-item-list__scroller--enabled{max-height:var(--arcgis-feature-templates-max-list-height, 420px)}`, d = l(o);
|
|
10
10
|
class g extends s {
|
|
11
11
|
constructor() {
|
|
12
|
-
super(...arguments), this.widget = d(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.enableListScroll = this.widget.enableListScroll, this.filterFunction = this.widget.filterFunction, this.filterText = this.widget.filterText, this.groupBy = this.widget.groupBy, this.headingLevel = this.widget.headingLevel, this.hideFilter = this.widget.visibleElements.filter, this.disabledItemFunction = this.viewModel.disabledItemFunction, this.icon = this.widget.icon, this.label = this.widget.label, this.layers = this.widget.layers, this.selectionMode = this.widget.selectionMode, this.state = this.viewModel.state, this.items = this.viewModel.items, this.selectedItem = this.viewModel.selectedItem, this.arcgisPropertyChange = t()("state"), this.arcgisReady = a(), this.arcgisSelect = r(() => this.widget, "select");
|
|
12
|
+
super(...arguments), this.widget = d(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.enableListScroll = this.widget.enableListScroll, this.filterFunction = this.widget.filterFunction, this.filterText = this.widget.filterText, this.groupBy = this.widget.groupBy, this.headingLevel = this.widget.headingLevel, this.hideFilter = this.widget.visibleElements.filter, this.disabledItemFunction = this.viewModel.disabledItemFunction, this.icon = this.widget.icon, this.label = this.widget.label, this.layers = this.widget.layers, this.selectionMode = this.widget.selectionMode, this.state = this.viewModel.state, this.items = this.viewModel.items, this.selectedItem = this.viewModel.selectedItem, this.view = this.viewModel.view, this.arcgisPropertyChange = t()("state"), this.arcgisReady = a(), this.arcgisSelect = r(() => this.widget, "select");
|
|
13
13
|
}
|
|
14
14
|
static {
|
|
15
|
-
this.properties = { autoDestroyDisabled: 5, enableListScroll: 5, filterFunction: 0, filterText: 1, groupBy: 1, headingLevel: 9, hideFilter: 5, disabledItemFunction: 0, icon: 1, label: 1, layers: 0, referenceElement: 1, selectionMode: 1, state: 32, items: 32, selectedItem: 32 };
|
|
15
|
+
this.properties = { autoDestroyDisabled: 5, enableListScroll: 5, filterFunction: 0, filterText: 1, groupBy: 1, headingLevel: 9, hideFilter: 5, disabledItemFunction: 0, icon: 1, label: 1, layers: 0, referenceElement: 1, selectionMode: 1, state: 32, items: 32, selectedItem: 32, view: 0 };
|
|
16
16
|
}
|
|
17
17
|
static {
|
|
18
18
|
this.styles = c;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
2
|
import { c as m } from "../../chunks/runtime.js";
|
|
3
|
-
import { css as f, html as
|
|
3
|
+
import { css as f, html as o } from "lit";
|
|
4
4
|
import { keyed as d } from "lit/directives/keyed.js";
|
|
5
5
|
import { ArcgisUtilityNetworkAssociationList as g } from "../arcgis-utility-network-association-list/customElement.js";
|
|
6
6
|
import { stripHTML as u } from "@arcgis/core/applications/Components/stringUtils.js";
|
|
@@ -12,7 +12,7 @@ class A extends g {
|
|
|
12
12
|
super(...arguments), this.displayCount = 3, this.flowType = "feature-utility-network-association-type";
|
|
13
13
|
}
|
|
14
14
|
static {
|
|
15
|
-
this.properties = { description: 1, displayCount: 9, endIndex: 32, flowItems: 0, flowType: 1, heading: 1, map: 0, spatialReference: 0, timeZone: 1, view: 0 };
|
|
15
|
+
this.properties = { description: 1, displayCount: 9, endIndex: 32, flowItems: 0, flowType: 1, heading: 1, map: 0, referenceElement: 1, spatialReference: 0, timeZone: 1, view: 0 };
|
|
16
16
|
}
|
|
17
17
|
static {
|
|
18
18
|
this.styles = b;
|
|
@@ -23,13 +23,13 @@ class A extends g {
|
|
|
23
23
|
}
|
|
24
24
|
_featureViewModelMatch(e, t) {
|
|
25
25
|
const s = e.graphic, i = s?.layer;
|
|
26
|
-
let
|
|
27
|
-
i?.type === "subtype-sublayer" && i.parent ?
|
|
28
|
-
const l =
|
|
26
|
+
let n = null;
|
|
27
|
+
i?.type === "subtype-sublayer" && i.parent ? n = i.parent.globalIdField ?? null : i && "globalIdField" in i && (n = i.globalIdField);
|
|
28
|
+
const l = n ? s?.getAttribute(n) : null, r = t.graphic, a = r?.layer;
|
|
29
29
|
let c = null;
|
|
30
30
|
a?.type === "subtype-sublayer" && a.parent ? c = a.parent.globalIdField ?? null : a && "globalIdField" in a && (c = a.globalIdField);
|
|
31
|
-
const h = c ? r?.
|
|
32
|
-
return l && h && l === h;
|
|
31
|
+
const h = c ? r?.getAttribute(c) : null;
|
|
32
|
+
return !!(l && h && l === h);
|
|
33
33
|
}
|
|
34
34
|
_findFlowItem(e) {
|
|
35
35
|
return this.flowItems?.findIndex((t) => {
|
|
@@ -75,7 +75,7 @@ class A extends g {
|
|
|
75
75
|
}
|
|
76
76
|
async _selectAssociation(e) {
|
|
77
77
|
const { flowItems: t } = this;
|
|
78
|
-
t && t.push(p(d(this.parentFeatureViewModel,
|
|
78
|
+
t && t.push(p(d(this.parentFeatureViewModel, o`<arcgis-feature .flowItems=${t} .flowType=${"feature-association"} .graphic=${e.graphic} .map=${this.map} .referenceElement=${this.referenceElement} show-utility-network-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature>`)));
|
|
79
79
|
}
|
|
80
80
|
_showAllAssociations(e) {
|
|
81
81
|
const { flowItems: t, description: s } = this;
|
|
@@ -83,15 +83,15 @@ class A extends g {
|
|
|
83
83
|
return;
|
|
84
84
|
this.showAllEnabled = !0;
|
|
85
85
|
const i = e?.title ?? "";
|
|
86
|
-
t.push(p(
|
|
86
|
+
t.push(p(o`<arcgis-feature-utility-network-association-list .associationViewModels=${this.associationViewModels} .description=${s} .flowItems=${t} .flowType=${this.flowType} .heading=${i} .messages=${this.messages} .parentFeatureViewModel=${this.parentFeatureViewModel} .referenceElement=${this.referenceElement} .selectedLayer=${e} .showAllEnabled=${this.showAllEnabled}></arcgis-feature-utility-network-association-list>`));
|
|
87
87
|
}
|
|
88
88
|
render() {
|
|
89
89
|
const { associationViewModels: e, state: t } = this, s = this.selectedLayer?.title ?? this.messages?.noTitle ?? "";
|
|
90
|
-
return
|
|
90
|
+
return o`<div class="root">${t === "loading" || t === "querying" ? this._renderLoading() : o`<calcite-list .displayMode=${_} .filterEnabled=${this.showAllEnabled && !!this.selectedLayer} .filterLabel=${this.messages?.associationFilterPlaceholder} .filterPlaceholder=${this.messages?.associationFilterPlaceholder} .label=${s}>${this.showAllEnabled && this.selectedLayer ? o`${this._renderFeatureCountWarning()}${this._renderAssociatedFeatureListPage()}${this._renderFeatureObserver()}` : Array.from(e.keys(), (i) => this._renderTypeList(i))}</calcite-list>`}</div>`;
|
|
91
91
|
}
|
|
92
92
|
_renderAssociatedFeature(e) {
|
|
93
|
-
const { featureViewModel: t, title: s } = e, i = this.state === "loading",
|
|
94
|
-
return
|
|
93
|
+
const { featureViewModel: t, title: s } = e, i = this.state === "loading", n = this._findFlowItem(t), l = n < 0 && this._isParentFeature(t), r = l || n >= 0, a = `associated-feature-${e.association.globalId}`;
|
|
94
|
+
return o`<calcite-list-item class=${y(i ? "list-item--hidden" : "")} .description=${u(e.terminalName ?? "")} .label=${u(s)} @calciteListItemSelect=${async () => await this._handleFeatureClick(l, n, t)}>${this._isConnectivityAssociation(e.association) ? this._renderConnectivityIcon(e.association.associationType, a) : null}${this._isConnectivityMidspanAssociation(e.association) ? o`<calcite-chip .label=${this._formatPercentAlong(e.association)} scale=s slot=content-end>${this._formatPercentAlong(e.association)}</calcite-chip>` : null}${this._renderChevronIconNode(r)}</calcite-list-item>`;
|
|
95
95
|
}
|
|
96
96
|
_renderAssociatedFeatureList(e) {
|
|
97
97
|
return e.toArray().map((t) => this._renderAssociatedFeature(t));
|
|
@@ -101,15 +101,15 @@ class A extends g {
|
|
|
101
101
|
return [...this._renderTooltips(e), ...this._renderAssociatedFeatureList(e)];
|
|
102
102
|
}
|
|
103
103
|
_renderChevronIconNode(e) {
|
|
104
|
-
return
|
|
104
|
+
return o`<calcite-icon flip-rtl .icon=${e ? "move-up" : "chevron-right"} scale=s slot=content-end></calcite-icon>`;
|
|
105
105
|
}
|
|
106
106
|
_renderItemTooltip(e) {
|
|
107
107
|
const { tooltipReferenceMap: t } = this, s = `associated-feature-${e.association.globalId}`;
|
|
108
|
-
return this._isConnectivityAssociation(e.association) ?
|
|
108
|
+
return this._isConnectivityAssociation(e.association) ? o`<calcite-tooltip overlay-positioning=fixed .referenceElement=${t.get(s)}>${this.getConnectivityTooltip(e.association.associationType)}</calcite-tooltip>` : null;
|
|
109
109
|
}
|
|
110
110
|
_renderTypeList(e) {
|
|
111
|
-
const { messages: t } = this, { displayCount: s } = this, i = this.associationViewModels.get(e),
|
|
112
|
-
return d("show-all",
|
|
111
|
+
const { messages: t } = this, { displayCount: s } = this, i = this.associationViewModels.get(e), n = i.slice(0, s), l = n.length < i.length, r = $(t?.numberRecords ?? "", { number: i.length.toString() }), a = t?.showAll ?? "";
|
|
112
|
+
return d("show-all", o`<calcite-list-item expanded .label=${e.title} .value=${e.id}><calcite-chip .label=${String(i.length)} scale=s slot=content-end>${i.length}</calcite-chip><calcite-list .group=${e.id} .label=${e.title ?? ""}>${[this._renderTooltips(n), this._renderAssociatedFeatureList(n)]}${l ? d("show-all-item", o`<calcite-list-item .description=${r} .label=${a} @calciteListItemSelect=${() => this._showAllAssociations(e)}><calcite-icon icon=list scale=s slot=content-end></calcite-icon></calcite-list-item>`) : null}</calcite-list></calcite-list-item>`);
|
|
113
113
|
}
|
|
114
114
|
_renderTooltips(e) {
|
|
115
115
|
return e.toArray().map((t) => this._renderItemTooltip(t));
|
|
@@ -15,7 +15,7 @@ import P from "@arcgis/core/rest/support/Query.js";
|
|
|
15
15
|
import G from "@arcgis/core/widgets/Feature/FeatureViewModel.js";
|
|
16
16
|
import { LitElement as Q, renderElement as B } from "@arcgis/lumina";
|
|
17
17
|
import { debounce as L } from "@arcgis/toolkit/function";
|
|
18
|
-
const O = N`.list-container{min-height:var(--calcite-spacing-xxxl)}.loading-container{display:flex;justify-content:center;padding:var(--calcite-spacing-md) 0;width:100%}.sticky-loading-container{display:flex;position:sticky;bottom:var(--calcite-spacing-sm);align-items:center;justify-content:center;z-index:2;margin:0;padding:0;height:var(--calcite-spacing-xxxl);pointer-events:none;height:500px}`,
|
|
18
|
+
const O = N`.list-container{min-height:var(--calcite-spacing-xxxl)}.loading-container{display:flex;justify-content:center;padding:var(--calcite-spacing-md) 0;width:100%}.sticky-loading-container{display:flex;position:sticky;bottom:var(--calcite-spacing-sm);align-items:center;justify-content:center;z-index:2;margin:0;padding:0;height:var(--calcite-spacing-xxxl);pointer-events:none;height:500px}`, E = 100, q = {
|
|
19
19
|
assetGroup: "assetgroup",
|
|
20
20
|
assetType: "assettype"
|
|
21
21
|
}, S = "{00000000-0000-0000-0000-000000000000}";
|
|
@@ -43,12 +43,12 @@ class R extends Q {
|
|
|
43
43
|
this._loaded = !1, this._cancelQueryFeatureCount();
|
|
44
44
|
const t = new AbortController();
|
|
45
45
|
this._queryFeatureCountAbortController = t, await v(this._queryFeatureCount()), this._queryFeatureCountAbortController === t && (this._queryFeatureCountAbortController = null), this._loaded = !0;
|
|
46
|
-
}, this._queryDebounced = L(this._queryController,
|
|
46
|
+
}, this._queryDebounced = L(this._queryController, E), this._queryFeatureCountDebounced = L(this._queryFeatureCountController, E), this._structureAssociations = new w(), this._structureFeatureCount = 0, this._queryAssociationType = async () => {
|
|
47
47
|
this._activeAssociationType && this._queryDebounced(this._activeAssociationType);
|
|
48
48
|
}, this._associationFeatures = I(), this._associationViewModels = I(), this._featureCount = 0, this._loaded = !1, this._queryAbortController = null, this._queryFeatureCountAbortController = null, this._queryPageAbortController = null, this.associationTypes = null, this.autoDestroyDisabled = !1, this.flowType = "feature-utility-network-associations", this.headingLevel = 2, this.source = "popup";
|
|
49
49
|
}
|
|
50
50
|
static {
|
|
51
|
-
this.properties = { _activeAssociationType: 16, _associationFeatures: 16, _associationViewModels: 16, _canLoad: 16, _canQuery: 16, _featureCount: 16, _loaded: 16, _queryAbortController: 16, _queryFeatureCountAbortController: 16, _queryPageAbortController: 16, _state: 16, associationTypes: 0, autoDestroyDisabled: 5, description: 1, flowItems: 0, flowType: 1, graphic: 0, heading: 1, headingLevel: 9, layer: 0, map: 0, messages: 0, parentFeatureViewModel: 0, source: 1, spatialReference: 0, timeZone: 1, view: 0 };
|
|
51
|
+
this.properties = { _activeAssociationType: 16, _associationFeatures: 16, _associationViewModels: 16, _canLoad: 16, _canQuery: 16, _featureCount: 16, _loaded: 16, _queryAbortController: 16, _queryFeatureCountAbortController: 16, _queryPageAbortController: 16, _state: 16, associationTypes: 0, autoDestroyDisabled: 5, description: 1, flowItems: 0, flowType: 1, graphic: 0, heading: 1, headingLevel: 9, layer: 0, map: 0, messages: 0, parentFeatureViewModel: 0, referenceElement: 1, source: 1, spatialReference: 0, timeZone: 1, view: 0 };
|
|
52
52
|
}
|
|
53
53
|
static {
|
|
54
54
|
this.styles = O;
|
|
@@ -82,8 +82,8 @@ class R extends Q {
|
|
|
82
82
|
return !!this.layer?.capabilities?.query?.supportsPagination;
|
|
83
83
|
}
|
|
84
84
|
get _state() {
|
|
85
|
-
const { _canLoad: t, _canQuery: e, _featureCount: s, _loaded: o, _queryAbortController: i, _queryFeatureCountAbortController:
|
|
86
|
-
return
|
|
85
|
+
const { _canLoad: t, _canQuery: e, _featureCount: s, _loaded: o, _queryAbortController: i, _queryFeatureCountAbortController: r, _queryPageAbortController: u, associationTypes: c } = this;
|
|
86
|
+
return r || t && !o ? "loading" : i || u ? "querying" : !this._globalId || !c || !e || !s ? "disabled" : "ready";
|
|
87
87
|
}
|
|
88
88
|
get heading() {
|
|
89
89
|
return this._heading;
|
|
@@ -118,7 +118,7 @@ class R extends Q {
|
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
_addAssociationTypeFlowItem(t) {
|
|
121
|
-
this._addFlowItem(B(p`<arcgis-feature-utility-network-association-list .associationViewModels=${this._associationViewModels} .description=${this.parentFeatureViewModel?.title} .flowItems=${this.flowItems} .flowType=${this.flowType} .heading=${this._getAssociationTypeTitle(t)} .messages=${this.messages} .map=${this.map} .parentFeatureViewModel=${this.parentFeatureViewModel} .state=${this._state} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-utility-network-association-list>`));
|
|
121
|
+
this._addFlowItem(B(p`<arcgis-feature-utility-network-association-list .associationViewModels=${this._associationViewModels} .description=${this.parentFeatureViewModel?.title} .flowItems=${this.flowItems} .flowType=${this.flowType} .heading=${this._getAssociationTypeTitle(t)} .messages=${this.messages} .map=${this.map} .parentFeatureViewModel=${this.parentFeatureViewModel} .referenceElement=${this.referenceElement} .state=${this._state} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-utility-network-association-list>`));
|
|
122
122
|
}
|
|
123
123
|
_clearAssociations() {
|
|
124
124
|
this._attachmentAssociations.removeAll(), this._connectivityAssociations.removeAll(), this._containerAssociations.removeAll(), this._contentAssociations.removeAll(), this._structureAssociations.removeAll();
|
|
@@ -132,9 +132,9 @@ class R extends Q {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
async _countAssociatedFeatureCount(t, e, s, o, i) {
|
|
135
|
-
const
|
|
135
|
+
const r = this._getFeatureQueryWhereClause(t, e, s, o);
|
|
136
136
|
return await t.queryFeatureCount({
|
|
137
|
-
where:
|
|
137
|
+
where: r,
|
|
138
138
|
outFields: ["*"],
|
|
139
139
|
returnGeometry: !1
|
|
140
140
|
}, {
|
|
@@ -144,37 +144,37 @@ class R extends Q {
|
|
|
144
144
|
async _countAssociatedFeatures(t, e, s, o, i) {
|
|
145
145
|
if (!e.length)
|
|
146
146
|
return 0;
|
|
147
|
-
const
|
|
148
|
-
await this._loadLayers(
|
|
149
|
-
const u =
|
|
150
|
-
return (await Promise.all(u)).reduce((
|
|
147
|
+
const r = await this._findLayersBySourceId(t);
|
|
148
|
+
await this._loadLayers(r);
|
|
149
|
+
const u = r.map((a) => this._countAssociatedFeatureCount(a, e, s, o, i));
|
|
150
|
+
return (await Promise.all(u)).reduce((a, d) => a + d, 0);
|
|
151
151
|
}
|
|
152
152
|
async _createAssociationFeatureObjects(t, e, s, o, i) {
|
|
153
153
|
if (!t.length)
|
|
154
154
|
return [];
|
|
155
|
-
const
|
|
156
|
-
const l = await this._findLayersBySourceId(
|
|
155
|
+
const r = /* @__PURE__ */ new Map(), u = Array.from(e.entries()).map(async ([a, d]) => {
|
|
156
|
+
const l = await this._findLayersBySourceId(a);
|
|
157
157
|
await this._loadLayers(l);
|
|
158
158
|
const y = l.map((n) => this._queryLayer(n, d, s, o, i));
|
|
159
159
|
(await Promise.all(y)).forEach((n) => {
|
|
160
160
|
n.forEach((h) => {
|
|
161
161
|
if (this.source === "popup" ? h.sourceLayer && h.getEffectivePopupTemplate() : !!h.sourceLayer) {
|
|
162
|
-
const f = h.layer.globalIdField ?? "", g = h.
|
|
163
|
-
b.push(h),
|
|
162
|
+
const f = h.layer.globalIdField ?? "", g = h.getAttribute(f), b = r.get(g) ?? [];
|
|
163
|
+
b.push(h), r.set(g, b);
|
|
164
164
|
}
|
|
165
165
|
});
|
|
166
166
|
});
|
|
167
167
|
});
|
|
168
168
|
await Promise.all(u);
|
|
169
169
|
const c = [];
|
|
170
|
-
return await Promise.all(t.toArray().map(async (
|
|
171
|
-
const { fromNetworkElement: d, toNetworkElement: l } =
|
|
170
|
+
return await Promise.all(t.toArray().map(async (a) => {
|
|
171
|
+
const { fromNetworkElement: d, toNetworkElement: l } = a, y = d.globalId === this._globalId ? l : d, m = r.get(y.globalId) ?? [];
|
|
172
172
|
await Promise.all(m.map(async (n) => {
|
|
173
173
|
const h = this._utilityNetwork?.getTerminalById(y?.terminalId ?? void 0)?.name, _ = await n.sourceLayer.getFeatureTitle(n) || this._getFeatureTitle(n);
|
|
174
174
|
c.push({
|
|
175
175
|
title: _,
|
|
176
176
|
feature: n,
|
|
177
|
-
association:
|
|
177
|
+
association: a,
|
|
178
178
|
terminalName: h
|
|
179
179
|
});
|
|
180
180
|
}));
|
|
@@ -188,16 +188,16 @@ class R extends Q {
|
|
|
188
188
|
let s = function(d, l) {
|
|
189
189
|
return d.networkSourceId === l.networkSourceId && d.globalId === l.globalId && d.terminalId === l.terminalId && d.firstUnit === l.firstUnit && d.numUnits === l.numUnits;
|
|
190
190
|
};
|
|
191
|
-
const o = t.fromNetworkElement, i = t.toNetworkElement,
|
|
192
|
-
return c &&
|
|
191
|
+
const o = t.fromNetworkElement, i = t.toNetworkElement, r = e.fromNetworkElement, u = e.toNetworkElement, c = s(o, r), a = s(i, u);
|
|
192
|
+
return c && a && t.associationType === e.associationType;
|
|
193
193
|
}
|
|
194
194
|
return t.globalId != null && e.globalId != null && t.globalId === e.globalId;
|
|
195
195
|
}
|
|
196
196
|
async _findLayersBySourceId(t) {
|
|
197
197
|
const { _utilityNetwork: e, map: s } = this;
|
|
198
198
|
e?.loaded || await e?.load();
|
|
199
|
-
const o = e.getLayerIdBySourceId(t), i = s.allLayers.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o),
|
|
200
|
-
return i.concat(
|
|
199
|
+
const o = e.getLayerIdBySourceId(t), i = s.allLayers.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o), r = s.allTables.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o);
|
|
200
|
+
return i.concat(r).toArray();
|
|
201
201
|
}
|
|
202
202
|
_getAssociationsByType(t) {
|
|
203
203
|
switch (t) {
|
|
@@ -245,15 +245,15 @@ class R extends Q {
|
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
_getFeatureQueryWhereClause(t, e, s, o) {
|
|
248
|
-
const i = t.globalIdField,
|
|
248
|
+
const i = t.globalIdField, r = t.fieldsIndex.get(q.assetGroup), u = t.fieldsIndex.get(q.assetType), c = s != null, a = o != null, d = i ? V.sqlIn(i, e) : null, l = c ? `(${r?.name} = ${s})` : null, y = c && a ? `(${u?.name} = ${o})` : null;
|
|
249
249
|
return [d, l, y].filter(Boolean).join(" AND ");
|
|
250
250
|
}
|
|
251
251
|
_getFeatureTitle(t) {
|
|
252
252
|
const e = t.attributes, s = t.sourceLayer;
|
|
253
253
|
if (!e || !s)
|
|
254
254
|
return "";
|
|
255
|
-
const o = "displayField" in s ? s.displayField : null, i = o != null ? e[o.toString()] : null,
|
|
256
|
-
return
|
|
255
|
+
const o = "displayField" in s ? s.displayField : null, i = o != null ? e[o.toString()] : null, r = i != null ? i.toString() : null, u = t.getObjectId()?.toString();
|
|
256
|
+
return r || u || "";
|
|
257
257
|
}
|
|
258
258
|
_isSubtypeGroupLayer(t) {
|
|
259
259
|
return t != null && typeof t == "object" && "type" in t && t.type === "subtype-group" && "sublayers" in t;
|
|
@@ -285,11 +285,11 @@ class R extends Q {
|
|
|
285
285
|
return this._equals(t.association, e.association);
|
|
286
286
|
}
|
|
287
287
|
async _queryAssociatedFeatures(t, e) {
|
|
288
|
-
const { layer: s, _globalId: o, associationTypes: i, _utilityNetwork:
|
|
289
|
-
if (await Promise.allSettled([s?.load(),
|
|
288
|
+
const { layer: s, _globalId: o, associationTypes: i, _utilityNetwork: r, _canQuery: u, _associationFeatures: c } = this;
|
|
289
|
+
if (await Promise.allSettled([s?.load(), r?.load()]), !u || !s || !i || !r)
|
|
290
290
|
return;
|
|
291
|
-
const
|
|
292
|
-
|
|
291
|
+
const a = this._getAssociationsByType(t.type), { associatedAssetGroup: d, associatedAssetType: l } = t, y = /* @__PURE__ */ new Map();
|
|
292
|
+
a.forEach((n) => {
|
|
293
293
|
const { fromNetworkElement: h, toNetworkElement: _ } = n, { networkSourceId: f, elementGlobalId: g } = h.globalId === o ? {
|
|
294
294
|
networkSourceId: _.networkSourceId,
|
|
295
295
|
elementGlobalId: _.globalId
|
|
@@ -299,35 +299,35 @@ class R extends Q {
|
|
|
299
299
|
}, b = y.get(f) || [];
|
|
300
300
|
b.push(g), y.set(f, b);
|
|
301
301
|
});
|
|
302
|
-
const m = await this._createAssociationFeatureObjects(
|
|
302
|
+
const m = await this._createAssociationFeatureObjects(a, y, d, l, e);
|
|
303
303
|
this._parseFeatureObjects(m, c);
|
|
304
304
|
}
|
|
305
305
|
async _queryAssociations(t) {
|
|
306
|
-
const { layer: e, _globalId: s, associationTypes: o, _utilityNetwork: i, _canQuery:
|
|
307
|
-
if (await Promise.allSettled([e?.load(), i?.load()]), this._clearAssociations(), !
|
|
306
|
+
const { layer: e, _globalId: s, associationTypes: o, _utilityNetwork: i, _canQuery: r } = this;
|
|
307
|
+
if (await Promise.allSettled([e?.load(), i?.load()]), this._clearAssociations(), !r || !e || !o || !i || !s)
|
|
308
308
|
return;
|
|
309
309
|
const u = this._isSubtypeSublayer(e) ? e.parent : e, c = new U({
|
|
310
310
|
globalId: s,
|
|
311
311
|
networkSourceId: i.getSourceIdByLayerId(u.layerId)
|
|
312
|
-
}),
|
|
312
|
+
}), a = /* @__PURE__ */ new Set();
|
|
313
313
|
o.forEach((n) => {
|
|
314
314
|
switch (n.type) {
|
|
315
315
|
case "attachment":
|
|
316
316
|
case "structure":
|
|
317
|
-
|
|
317
|
+
a.add("attachment");
|
|
318
318
|
break;
|
|
319
319
|
case "container":
|
|
320
320
|
case "content":
|
|
321
|
-
|
|
321
|
+
a.add("containment");
|
|
322
322
|
break;
|
|
323
323
|
case "connectivity":
|
|
324
|
-
|
|
324
|
+
a.add("connectivity"), a.add("junction-junction-connectivity"), a.add("junction-edge-from-connectivity"), a.add("junction-edge-midspan-connectivity"), a.add("junction-edge-to-connectivity");
|
|
325
325
|
break;
|
|
326
326
|
}
|
|
327
327
|
});
|
|
328
328
|
const d = await i?.queryAssociations(new x({
|
|
329
329
|
elements: [c],
|
|
330
|
-
types: Array.from(
|
|
330
|
+
types: Array.from(a)
|
|
331
331
|
}), {
|
|
332
332
|
signal: t?.signal
|
|
333
333
|
}), l = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map();
|
|
@@ -408,21 +408,21 @@ class R extends Q {
|
|
|
408
408
|
await this._queryAssociations(t), this._featureCount = this._attachmentFeatureCount + this._connectivityFeatureCount + this._containerFeatureCount + this._contentFeatureCount + this._structureFeatureCount;
|
|
409
409
|
}
|
|
410
410
|
async _queryLayer(t, e, s, o, i) {
|
|
411
|
-
const
|
|
412
|
-
where:
|
|
411
|
+
const r = this._getFeatureQueryWhereClause(t, e, s, o), u = new P({
|
|
412
|
+
where: r,
|
|
413
413
|
outFields: ["*"],
|
|
414
414
|
cacheHint: this._supportsCacheHint
|
|
415
415
|
}), c = D.fromJSON(await $(t, u, i));
|
|
416
|
-
return c.features.forEach((
|
|
416
|
+
return c.features.forEach((a) => {
|
|
417
417
|
const d = this._isSubtypeGroupLayer(t);
|
|
418
|
-
|
|
418
|
+
a.layer = d ? t.findSublayerForFeature(a) : t, a.sourceLayer = d ? t.findSublayerForFeature(a) : t;
|
|
419
419
|
}), c.features;
|
|
420
420
|
}
|
|
421
421
|
_parseFeatureObjects(t, e) {
|
|
422
422
|
const s = I();
|
|
423
423
|
t.forEach((o) => {
|
|
424
|
-
const
|
|
425
|
-
j(s,
|
|
424
|
+
const r = (o?.feature).sourceLayer;
|
|
425
|
+
j(s, r, () => new w()).add(o);
|
|
426
426
|
});
|
|
427
427
|
for (const [o, i] of s)
|
|
428
428
|
this._sortFeatureObjectsByTitle(i), e.set(o, i);
|
|
@@ -432,16 +432,16 @@ class R extends Q {
|
|
|
432
432
|
e && (this._activeAssociationType = t, this._setUpUtilityNetworkAssociationsViewModels(), this._addAssociationTypeFlowItem(t));
|
|
433
433
|
}
|
|
434
434
|
_setUpUtilityNetworkAssociationsViewModels() {
|
|
435
|
-
this._associationViewModels.forEach((i,
|
|
436
|
-
const u = this._associationFeatures.get(
|
|
435
|
+
this._associationViewModels.forEach((i, r) => {
|
|
436
|
+
const u = this._associationFeatures.get(r);
|
|
437
437
|
u ? i.forEach((c) => {
|
|
438
|
-
u.find((d) => this._matchesGlobalFeature(c, d)) || (i.remove(c), i.length || this._associationViewModels.delete(
|
|
439
|
-
}) : (i.removeAll(), this._associationViewModels.delete(
|
|
438
|
+
u.find((d) => this._matchesGlobalFeature(c, d)) || (i.remove(c), i.length || this._associationViewModels.delete(r));
|
|
439
|
+
}) : (i.removeAll(), this._associationViewModels.delete(r));
|
|
440
440
|
});
|
|
441
441
|
const { map: t, view: e, spatialReference: s, timeZone: o } = this;
|
|
442
|
-
this._associationFeatures.forEach((i,
|
|
443
|
-
const u = this._associationViewModels.get(
|
|
444
|
-
i?.filter(Boolean).forEach((c,
|
|
442
|
+
this._associationFeatures.forEach((i, r) => {
|
|
443
|
+
const u = this._associationViewModels.get(r) || new w();
|
|
444
|
+
i?.filter(Boolean).forEach((c, a) => {
|
|
445
445
|
if (!u.some((l) => this._matchesGlobalFeature(l, c))) {
|
|
446
446
|
const { association: l, feature: y, terminalName: m, title: n } = c;
|
|
447
447
|
u.add({
|
|
@@ -456,16 +456,16 @@ class R extends Q {
|
|
|
456
456
|
graphic: y
|
|
457
457
|
}),
|
|
458
458
|
terminalName: m
|
|
459
|
-
},
|
|
459
|
+
}, a);
|
|
460
460
|
}
|
|
461
|
-
}), this._associationViewModels.set(
|
|
461
|
+
}), this._associationViewModels.set(r, u);
|
|
462
462
|
});
|
|
463
463
|
}
|
|
464
464
|
_shouldDiscardNetworkElement(t, e, s) {
|
|
465
465
|
if (!t)
|
|
466
466
|
return !1;
|
|
467
|
-
const { networkSourceId: o } = t, i = s.get(e)?.associatedNetworkSourceId,
|
|
468
|
-
return i != null && i !== o || !
|
|
467
|
+
const { networkSourceId: o } = t, i = s.get(e)?.associatedNetworkSourceId, r = this._networkSourceIdsInUse.has(o);
|
|
468
|
+
return i != null && i !== o || !r;
|
|
469
469
|
}
|
|
470
470
|
_sortFeatureObjectsByTitle(t) {
|
|
471
471
|
t.sort(this._compareByFeatureTitle);
|