@esri/solutions-components 0.7.24 → 0.7.25
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/{info-card_4.cjs.entry.js → basemap-gallery_7.cjs.entry.js} +410 -324
- package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -4
- package/dist/cjs/{calcite-alert_3.cjs.entry.js → calcite-alert_4.cjs.entry.js} +296 -3
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -2
- package/dist/cjs/calcite-flow_4.cjs.entry.js +3 -4
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -2
- package/dist/cjs/{card-manager_2.cjs.entry.js → card-manager_3.cjs.entry.js} +182 -5
- package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -2
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +32 -90
- package/dist/cjs/{downloadUtils-401356b5.js → downloadUtils-83c6d3c3.js} +6 -6
- package/dist/cjs/{index.es-a9a4ff08.js → index.es-bd1a93b2.js} +2 -2
- package/dist/cjs/layout-manager.cjs.entry.js +1 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-1ff119f5.js → locale-a476e15d.js} +24 -3
- package/dist/cjs/map-select-tools_3.cjs.entry.js +4 -5
- package/dist/cjs/{popupUtils-8d5b6e94.js → popupUtils-a73902a6.js} +2 -2
- package/dist/cjs/public-notification.cjs.entry.js +3 -4
- package/dist/cjs/solution-configuration.cjs.entry.js +1 -2
- package/dist/cjs/solution-contents_3.cjs.entry.js +1 -2
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/spatial-ref.cjs.entry.js +1 -2
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +5 -27
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +69 -95
- package/dist/collection/demos/crowdsource-reporter.html +96 -45
- package/dist/components/crowdsource-reporter.js +95 -209
- package/dist/esm/{info-card_4.entry.js → basemap-gallery_7.entry.js} +406 -323
- package/dist/esm/buffer-tools_3.entry.js +1 -2
- package/dist/esm/{calcite-alert_3.entry.js → calcite-alert_4.entry.js} +295 -3
- package/dist/esm/calcite-combobox_6.entry.js +1 -2
- package/dist/esm/calcite-flow_4.entry.js +3 -4
- package/dist/esm/calcite-shell-panel_14.entry.js +1 -2
- package/dist/esm/{card-manager_2.entry.js → card-manager_3.entry.js} +181 -5
- package/dist/esm/crowdsource-manager.entry.js +1 -2
- package/dist/esm/crowdsource-reporter.entry.js +32 -90
- package/dist/esm/{downloadUtils-067dc2ff.js → downloadUtils-a301c193.js} +2 -2
- package/dist/esm/{index.es-92e46d8b.js → index.es-37a9907e.js} +2 -2
- package/dist/esm/layout-manager.entry.js +1 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-13e3c96c.js → locale-731e75a8.js} +22 -2
- package/dist/esm/map-select-tools_3.entry.js +2 -3
- package/dist/esm/{popupUtils-b71f30fc.js → popupUtils-a593bd78.js} +1 -1
- package/dist/esm/public-notification.entry.js +2 -3
- package/dist/esm/solution-configuration.entry.js +1 -2
- package/dist/esm/solution-contents_3.entry.js +1 -2
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/spatial-ref.entry.js +1 -2
- package/dist/solutions-components/demos/crowdsource-reporter.html +96 -45
- package/dist/solutions-components/{p-36cbf14f.js → p-0587972d.js} +1 -1
- package/dist/solutions-components/p-0b4f4b0e.entry.js +6 -0
- package/dist/solutions-components/{p-f54f3719.entry.js → p-0b619197.entry.js} +1 -1
- package/dist/solutions-components/{p-d50f34c4.entry.js → p-2656c6e4.entry.js} +1 -1
- package/dist/solutions-components/p-284cc5cd.entry.js +6 -0
- package/dist/solutions-components/{p-01032eec.entry.js → p-29f661f5.entry.js} +2 -2
- package/dist/solutions-components/p-5af99fd8.entry.js +6 -0
- package/dist/solutions-components/{p-d9061e5d.entry.js → p-7116f96d.entry.js} +1 -1
- package/dist/solutions-components/p-7c13406e.entry.js +6 -0
- package/dist/solutions-components/{p-685257d1.entry.js → p-7dbccc10.entry.js} +1 -1
- package/dist/solutions-components/p-8308f64c.entry.js +6 -0
- package/dist/solutions-components/{p-ca4023f4.entry.js → p-891682da.entry.js} +1 -1
- package/dist/solutions-components/{p-14ff1465.js → p-a603e673.js} +2 -2
- package/dist/solutions-components/p-b37ec1f3.entry.js +6 -0
- package/dist/solutions-components/{p-fec77450.js → p-db868283.js} +1 -1
- package/dist/solutions-components/{p-fb1c6811.entry.js → p-dded59a7.entry.js} +1 -1
- package/dist/solutions-components/p-e88a64be.entry.js +6 -0
- package/dist/solutions-components/p-e902ba19.js +36 -0
- package/dist/solutions-components/p-fe295e9d.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +14 -28
- package/dist/types/components.d.ts +16 -0
- package/package.json +1 -1
- package/dist/cjs/basemap-gallery_5.cjs.entry.js +0 -573
- package/dist/cjs/loadModules-46d14e81.js +0 -30
- package/dist/esm/basemap-gallery_5.entry.js +0 -565
- package/dist/esm/loadModules-cea493da.js +0 -28
- package/dist/solutions-components/p-3606c4b8.entry.js +0 -6
- package/dist/solutions-components/p-48ff9cea.js +0 -21
- package/dist/solutions-components/p-5e832d65.entry.js +0 -6
- package/dist/solutions-components/p-8fc072ca.entry.js +0 -6
- package/dist/solutions-components/p-a2d3df14.entry.js +0 -6
- package/dist/solutions-components/p-ab006ace.js +0 -21
- package/dist/solutions-components/p-ba56035f.entry.js +0 -6
- package/dist/solutions-components/p-c0ed2b83.entry.js +0 -6
- package/dist/solutions-components/p-cc88bb42.entry.js +0 -6
- package/dist/solutions-components/p-db69f4ba.entry.js +0 -6
- package/dist/solutions-components/p-e3061220.entry.js +0 -6
@@ -8,94 +8,135 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-b8a649fc.js');
|
11
|
-
const locale = require('./locale-
|
12
|
-
const loadModules = require('./loadModules-46d14e81.js');
|
13
|
-
const popupUtils = require('./popupUtils-8d5b6e94.js');
|
11
|
+
const locale = require('./locale-a476e15d.js');
|
14
12
|
require('./esri-loader-a91c0ec1.js');
|
15
13
|
require('./_commonjsHelpers-384729db.js');
|
16
14
|
|
17
|
-
const
|
15
|
+
const basemapGalleryCss = ":host{display:block}";
|
18
16
|
|
19
|
-
const
|
17
|
+
const BasemapGallery = class {
|
20
18
|
constructor(hostRef) {
|
21
19
|
index.registerInstance(this, hostRef);
|
22
|
-
this.popupClosed = index.createEvent(this, "popupClosed", 7);
|
23
|
-
this.selectionChanged = index.createEvent(this, "selectionChanged", 7);
|
24
|
-
this.graphics = undefined;
|
25
|
-
this.isLoading = false;
|
26
|
-
this.isMobile = undefined;
|
27
20
|
this.mapView = undefined;
|
28
|
-
this.
|
29
|
-
this.
|
30
|
-
this._alertOpen = false;
|
31
|
-
this._count = "";
|
32
|
-
this._editRecordOpen = false;
|
33
|
-
this._mobileTitle = "";
|
34
|
-
this._showListView = false;
|
35
|
-
this._translations = undefined;
|
21
|
+
this.basemapConfig = undefined;
|
22
|
+
this.basemapWidget = undefined;
|
36
23
|
}
|
37
24
|
//--------------------------------------------------------------------------
|
38
25
|
//
|
39
26
|
// Watch handlers
|
40
27
|
//
|
41
28
|
//--------------------------------------------------------------------------
|
29
|
+
async mapViewWatchHandler() {
|
30
|
+
await this.mapView.when(() => {
|
31
|
+
void this._initBaseMapGallery(this.mapView);
|
32
|
+
});
|
33
|
+
}
|
34
|
+
//--------------------------------------------------------------------------
|
35
|
+
//
|
36
|
+
// Methods (public)
|
37
|
+
//
|
38
|
+
//--------------------------------------------------------------------------
|
39
|
+
//--------------------------------------------------------------------------
|
40
|
+
//
|
41
|
+
// Events (public)
|
42
|
+
//
|
43
|
+
//--------------------------------------------------------------------------
|
44
|
+
//--------------------------------------------------------------------------
|
45
|
+
//
|
46
|
+
// Functions (lifecycle)
|
47
|
+
//
|
48
|
+
//--------------------------------------------------------------------------
|
42
49
|
/**
|
43
|
-
*
|
50
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
44
51
|
*/
|
45
|
-
async
|
46
|
-
|
52
|
+
async componentWillLoad() {
|
53
|
+
return this._initModules();
|
47
54
|
}
|
48
55
|
/**
|
49
|
-
*
|
50
|
-
* We need to know if the title should be displayed by the widget (non mobile)
|
51
|
-
* or by us (mobile)
|
56
|
+
* StencilJS: Renders the component.
|
52
57
|
*/
|
53
|
-
|
54
|
-
|
58
|
+
render() {
|
59
|
+
return (index.h(index.Host, null, index.h("div", { ref: (el) => { this._basemapElement = el; } })));
|
55
60
|
}
|
56
61
|
/**
|
57
|
-
*
|
62
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
58
63
|
*/
|
59
|
-
async
|
60
|
-
|
64
|
+
async componentDidLoad() {
|
65
|
+
if (this.mapView) {
|
66
|
+
await this.mapViewWatchHandler();
|
67
|
+
}
|
61
68
|
}
|
62
69
|
//--------------------------------------------------------------------------
|
63
70
|
//
|
64
|
-
//
|
71
|
+
// Functions (protected)
|
65
72
|
//
|
66
73
|
//--------------------------------------------------------------------------
|
67
74
|
/**
|
68
|
-
*
|
75
|
+
* Load esri javascript api modules
|
69
76
|
*
|
70
|
-
* @returns Promise resolving
|
71
|
-
*/
|
72
|
-
async getSelectedFeature() {
|
73
|
-
return this._features.selectedFeature;
|
74
|
-
}
|
75
|
-
/**
|
76
|
-
* Respond to and close the edit record display
|
77
|
+
* @returns Promise resolving when function is done
|
77
78
|
*
|
78
|
-
* @
|
79
|
+
* @protected
|
79
80
|
*/
|
80
|
-
async
|
81
|
-
|
81
|
+
async _initModules() {
|
82
|
+
const [BasemapGallery, PortalBasemapsSource] = await locale.loadModules([
|
83
|
+
"esri/widgets/BasemapGallery",
|
84
|
+
"esri/widgets/BasemapGallery/support/PortalBasemapsSource"
|
85
|
+
]);
|
86
|
+
this.BasemapGallery = BasemapGallery;
|
87
|
+
this.PortalBasemapsSource = PortalBasemapsSource;
|
82
88
|
}
|
83
89
|
/**
|
84
|
-
*
|
90
|
+
* Initialize the basemap gallery or reset the current view if it already exists
|
91
|
+
*
|
92
|
+
* @protected
|
85
93
|
*/
|
86
|
-
async
|
94
|
+
async _initBaseMapGallery(view) {
|
87
95
|
var _a;
|
88
|
-
this.
|
89
|
-
|
90
|
-
|
91
|
-
|
96
|
+
if (this.BasemapGallery) {
|
97
|
+
if (this.basemapWidget) {
|
98
|
+
this.basemapWidget.destroy();
|
99
|
+
}
|
100
|
+
const source = new this.PortalBasemapsSource({
|
101
|
+
query: ((_a = this.basemapConfig) === null || _a === void 0 ? void 0 : _a.basemapGroupId) ? `id:${this.basemapConfig.basemapGroupId}` : null,
|
102
|
+
filterFunction: this.basemapConfig ? (basemap) => {
|
103
|
+
return !this.basemapConfig.basemapIdsToFilter.includes(basemap.portalItem.id);
|
104
|
+
} : () => true
|
105
|
+
});
|
106
|
+
await source.refresh();
|
107
|
+
this.basemapWidget = new this.BasemapGallery({
|
108
|
+
container: this._basemapElement,
|
109
|
+
view,
|
110
|
+
source
|
111
|
+
});
|
92
112
|
}
|
93
113
|
}
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
114
|
+
get el() { return index.getElement(this); }
|
115
|
+
static get watchers() { return {
|
116
|
+
"mapView": ["mapViewWatchHandler"]
|
117
|
+
}; }
|
118
|
+
};
|
119
|
+
BasemapGallery.style = basemapGalleryCss;
|
120
|
+
|
121
|
+
const floorFilterCss = ":host{display:block}";
|
122
|
+
|
123
|
+
const FloorFilter = class {
|
124
|
+
constructor(hostRef) {
|
125
|
+
index.registerInstance(this, hostRef);
|
126
|
+
this.levelChanged = index.createEvent(this, "levelChanged", 7);
|
127
|
+
this.enabled = undefined;
|
128
|
+
this.floorFilterWidget = undefined;
|
129
|
+
this.mapView = undefined;
|
130
|
+
}
|
131
|
+
//--------------------------------------------------------------------------
|
132
|
+
//
|
133
|
+
// Watch handlers
|
134
|
+
//
|
135
|
+
//--------------------------------------------------------------------------
|
136
|
+
async mapViewWatchHandler() {
|
137
|
+
await this.mapView.when(() => {
|
138
|
+
this._initFloorFilter(this.mapView);
|
139
|
+
});
|
99
140
|
}
|
100
141
|
//--------------------------------------------------------------------------
|
101
142
|
//
|
@@ -104,41 +145,12 @@ const InfoCard = class {
|
|
104
145
|
//--------------------------------------------------------------------------
|
105
146
|
/**
|
106
147
|
* StencilJS: Called once just after the component is first connected to the DOM.
|
107
|
-
*
|
108
|
-
* @returns Promise when complete
|
109
148
|
*/
|
110
149
|
async componentWillLoad() {
|
111
|
-
|
112
|
-
await this._getTranslations();
|
113
|
-
this._popupUtils = new popupUtils.PopupUtils();
|
150
|
+
return this._initModules();
|
114
151
|
}
|
115
|
-
/**
|
116
|
-
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
117
|
-
* @returns Promise when complete
|
118
|
-
*/
|
119
|
-
async componentDidLoad() {
|
120
|
-
var _a;
|
121
|
-
if (((_a = this.graphics) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
122
|
-
await this.setGraphics();
|
123
|
-
}
|
124
|
-
}
|
125
|
-
/**
|
126
|
-
* Renders the component.
|
127
|
-
*/
|
128
152
|
render() {
|
129
|
-
|
130
|
-
const loadingClass = this.isLoading ? "" : "display-none";
|
131
|
-
const featureNodeClass = this.isLoading || this._editRecordOpen ? "visibility-hidden" : "position-absolute";
|
132
|
-
const editClass = !this.isLoading && this._editRecordOpen ? "position-absolute" : "display-none";
|
133
|
-
const editButtonClass = (!this.isLoading && this._editRecordOpen) || this._showListView ? "display-none" : "";
|
134
|
-
const nextBackDisabled = ((_b = (_a = this._features) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.length) < 2;
|
135
|
-
const nextBackClass = this.isMobile ? "display-none" : "";
|
136
|
-
const shellClass = this.isMobile && !this._editRecordOpen ? "padding-top-46" : "";
|
137
|
-
const id = (_d = (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeature) === null || _d === void 0 ? void 0 : _d.getObjectId();
|
138
|
-
const ids = parseInt(id === null || id === void 0 ? void 0 : id.toString(), 10) > -1 ? [id] : [];
|
139
|
-
const deleteEnabled = ((_e = this._layer) === null || _e === void 0 ? void 0 : _e.editingEnabled) && ((_h = (_g = (_f = this._layer) === null || _f === void 0 ? void 0 : _f.capabilities) === null || _g === void 0 ? void 0 : _g.operations) === null || _h === void 0 ? void 0 : _h.supportsDelete);
|
140
|
-
return (index.h(index.Host, null, this.isMobile && !this._editRecordOpen ? (index.h("calcite-panel", null, index.h("calcite-action", { class: "end-border", icon: "chevron-left", iconFlipRtl: true, onClick: () => this._closePopup(), scale: "s", slot: "header-actions-start", text: "" }), index.h("span", { class: "font-bold", slot: "header-content" }, this._mobileTitle))) : undefined, index.h("calcite-shell", { class: shellClass }, index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), index.h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), index.h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
|
141
|
-
index.h("div", { class: "display-flex top-border padding-1-2" }, index.h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (index.h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, index.h("span", null, this._translations.edit)), this.isMobile ? (index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-delete" }, index.h("span", null, this._translations.delete))) : undefined), !nextBackDisabled && index.h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, index.h("span", null, this._translations.back))), index.h("div", null, index.h("calcite-action", { icon: "list", onClick: () => this._toggleListView(), scale: "s", text: this._count, textEnabled: true })), index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, index.h("span", null, this._translations.next))))), index.h("edit-card", { class: editClass, graphicIndex: (_j = this._features) === null || _j === void 0 ? void 0 : _j.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._translations.editDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)))));
|
153
|
+
return (index.h(index.Host, null, index.h("div", { ref: (el) => { this._floorFilterElement = el; } })));
|
142
154
|
}
|
143
155
|
//--------------------------------------------------------------------------
|
144
156
|
//
|
@@ -153,217 +165,174 @@ const InfoCard = class {
|
|
153
165
|
* @protected
|
154
166
|
*/
|
155
167
|
async _initModules() {
|
156
|
-
const [
|
157
|
-
"esri/widgets/
|
168
|
+
const [FloorFilter, reactiveUtils] = await locale.loadModules([
|
169
|
+
"esri/widgets/FloorFilter",
|
158
170
|
"esri/core/reactiveUtils"
|
159
171
|
]);
|
160
|
-
this.
|
172
|
+
this.FloorFilter = FloorFilter;
|
161
173
|
this.reactiveUtils = reactiveUtils;
|
162
174
|
}
|
163
175
|
/**
|
164
|
-
*
|
165
|
-
*
|
166
|
-
* @protected
|
176
|
+
* Initialize the floor filter or reset the current view if it already exists
|
167
177
|
*/
|
168
|
-
|
178
|
+
_initFloorFilter(view) {
|
169
179
|
var _a;
|
170
|
-
if (
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
this._editEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsUpdate;
|
176
|
-
this._mobileTitle = await this._popupUtils.getPopupTitle(this.graphics[0]);
|
177
|
-
this._features.open({
|
178
|
-
features: this.graphics
|
179
|
-
});
|
180
|
-
}
|
181
|
-
else {
|
182
|
-
this._features.clear();
|
183
|
-
this._features.close();
|
184
|
-
}
|
185
|
-
this._count = this._getCount();
|
186
|
-
}
|
187
|
-
/**
|
188
|
-
* Init the Feature widget so we can display the popup content
|
189
|
-
*
|
190
|
-
* @returns a promise when the operation has completed
|
191
|
-
*
|
192
|
-
* @protected
|
193
|
-
*/
|
194
|
-
async _initFeaturesWidget() {
|
195
|
-
var _a;
|
196
|
-
return this.isMobile !== undefined ? await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(() => {
|
197
|
-
if (!this._features) {
|
198
|
-
this._features = new this.Features({
|
199
|
-
view: this.mapView,
|
200
|
-
container: "features-node",
|
201
|
-
visibleElements: {
|
202
|
-
actionBar: false,
|
203
|
-
closeButton: false,
|
204
|
-
heading: !this.isMobile
|
205
|
-
}
|
180
|
+
if (view && this.enabled && this.FloorFilter && ((_a = view === null || view === void 0 ? void 0 : view.map) === null || _a === void 0 ? void 0 : _a.floorInfo)) {
|
181
|
+
if (!this.floorFilterWidget) {
|
182
|
+
this.floorFilterWidget = new this.FloorFilter({
|
183
|
+
container: this._floorFilterElement,
|
184
|
+
view
|
206
185
|
});
|
207
|
-
|
208
|
-
|
209
|
-
this._showListView = isOpen;
|
210
|
-
}
|
211
|
-
});
|
212
|
-
if (this.zoomAndScrollToSelected) {
|
213
|
-
this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
|
214
|
-
if (i > -1) {
|
215
|
-
this.selectionChanged.emit([this._features.selectedFeature]);
|
216
|
-
}
|
217
|
-
});
|
186
|
+
if (this._levelHandle) {
|
187
|
+
this._levelHandle.remove();
|
218
188
|
}
|
189
|
+
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
190
|
+
this.levelChanged.emit(level);
|
191
|
+
});
|
219
192
|
}
|
220
193
|
else {
|
221
|
-
this.
|
222
|
-
this._features.visibleElements.actionBar = false;
|
223
|
-
this._features.visibleElements.closeButton = false;
|
224
|
-
this._features.visibleElements.heading = !this.isMobile;
|
194
|
+
this.floorFilterWidget.view = view;
|
225
195
|
}
|
226
|
-
}
|
196
|
+
}
|
227
197
|
}
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
198
|
+
get el() { return index.getElement(this); }
|
199
|
+
static get watchers() { return {
|
200
|
+
"mapView": ["mapViewWatchHandler"]
|
201
|
+
}; }
|
202
|
+
};
|
203
|
+
FloorFilter.style = floorFilterCss;
|
204
|
+
|
205
|
+
const mapFullscreenCss = ":host{display:block}";
|
206
|
+
|
207
|
+
const MapFullscreen = class {
|
208
|
+
constructor(hostRef) {
|
209
|
+
index.registerInstance(this, hostRef);
|
210
|
+
this.fullscreenStateChange = index.createEvent(this, "fullscreenStateChange", 7);
|
211
|
+
this.mapView = undefined;
|
212
|
+
this.fullscreenWidget = undefined;
|
233
213
|
}
|
214
|
+
//--------------------------------------------------------------------------
|
215
|
+
//
|
216
|
+
// Watch handlers
|
217
|
+
//
|
218
|
+
//--------------------------------------------------------------------------
|
234
219
|
/**
|
235
|
-
*
|
220
|
+
* Called each time the mapView prop is changed.
|
221
|
+
*
|
222
|
+
* @returns Promise when complete
|
236
223
|
*/
|
237
|
-
|
238
|
-
this.
|
224
|
+
async mapViewWatchHandler() {
|
225
|
+
await this.mapView.when(async () => {
|
226
|
+
await this._initFullscreenWidget();
|
227
|
+
});
|
239
228
|
}
|
229
|
+
//--------------------------------------------------------------------------
|
230
|
+
//
|
231
|
+
// Functions (lifecycle)
|
232
|
+
//
|
233
|
+
//--------------------------------------------------------------------------
|
240
234
|
/**
|
241
|
-
*
|
235
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
242
236
|
*/
|
243
|
-
|
244
|
-
|
245
|
-
this._editRecordOpen = true;
|
246
|
-
}
|
247
|
-
else {
|
248
|
-
this._alertOpen = true;
|
249
|
-
}
|
237
|
+
async componentWillLoad() {
|
238
|
+
await this._initModules();
|
250
239
|
}
|
251
240
|
/**
|
252
|
-
*
|
241
|
+
* Renders the component.
|
253
242
|
*/
|
254
|
-
|
255
|
-
|
256
|
-
this._count = this._getCount();
|
243
|
+
render() {
|
244
|
+
return (index.h(index.Host, null, index.h("div", { class: "fullscreen-widget", ref: (el) => { this._fullscreenElement = el; } })));
|
257
245
|
}
|
258
246
|
/**
|
259
|
-
*
|
247
|
+
* StencilJS: Called just after the component updates.
|
248
|
+
* It's never called during the first render().
|
260
249
|
*/
|
261
|
-
|
262
|
-
this.
|
263
|
-
this._count = this._getCount();
|
250
|
+
async componentDidUpdate() {
|
251
|
+
await this._initFullscreenWidget();
|
264
252
|
}
|
265
253
|
/**
|
266
|
-
*
|
267
|
-
*
|
268
|
-
* @returns the index of total string
|
254
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
269
255
|
*/
|
270
|
-
|
271
|
-
|
272
|
-
const index = (((_a = this._features) === null || _a === void 0 ? void 0 : _a.viewModel.selectedFeatureIndex) + 1).toString();
|
273
|
-
const total = (_c = (_b = this._features) === null || _b === void 0 ? void 0 : _b.features) === null || _c === void 0 ? void 0 : _c.length.toString();
|
274
|
-
return this._translations.indexOfTotal
|
275
|
-
.replace("{{index}}", index)
|
276
|
-
.replace("{{total}}", total);
|
256
|
+
async componentDidLoad() {
|
257
|
+
await this._initFullscreenWidget();
|
277
258
|
}
|
259
|
+
//--------------------------------------------------------------------------
|
260
|
+
//
|
261
|
+
// Functions (protected)
|
262
|
+
//
|
263
|
+
//--------------------------------------------------------------------------
|
278
264
|
/**
|
279
|
-
*
|
265
|
+
* Load esri javascript api modules
|
266
|
+
*
|
267
|
+
* @returns Promise resolving when function is done
|
268
|
+
*
|
269
|
+
* @protected
|
280
270
|
*/
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
this._features.selectedFeatureIndex = i;
|
271
|
+
async _initModules() {
|
272
|
+
const [Fullscreen, reactiveUtils] = await locale.loadModules([
|
273
|
+
"esri/widgets/Fullscreen",
|
274
|
+
"esri/core/reactiveUtils"
|
275
|
+
]);
|
276
|
+
this.Fullscreen = Fullscreen;
|
277
|
+
this.reactiveUtils = reactiveUtils;
|
289
278
|
}
|
290
279
|
/**
|
291
|
-
*
|
280
|
+
* Initialize the search widget
|
292
281
|
*
|
293
|
-
* @returns Promise when complete
|
294
282
|
* @protected
|
295
283
|
*/
|
296
|
-
async
|
297
|
-
|
298
|
-
|
284
|
+
async _initFullscreenWidget() {
|
285
|
+
if (this.mapView && this._fullscreenElement && !this.fullscreenWidget) {
|
286
|
+
this.fullscreenWidget = new this.Fullscreen({
|
287
|
+
view: this.mapView
|
288
|
+
});
|
289
|
+
await this.fullscreenWidget.when(() => {
|
290
|
+
if (this._fullscreenStateChangeHandle) {
|
291
|
+
this._fullscreenStateChangeHandle.remove();
|
292
|
+
}
|
293
|
+
this._fullscreenStateChangeHandle = this.reactiveUtils.watch(() => this.fullscreenWidget.viewModel.state, (state) => this.fullscreenStateChange.emit(state));
|
294
|
+
});
|
295
|
+
}
|
296
|
+
else if (this.fullscreenWidget) {
|
297
|
+
this.fullscreenWidget.view = this.mapView;
|
298
|
+
}
|
299
299
|
}
|
300
|
-
get el() { return index.getElement(this); }
|
301
300
|
static get watchers() { return {
|
302
|
-
"graphics": ["graphicsWatchHandler"],
|
303
|
-
"isMobile": ["isMobileWatchHandler"],
|
304
301
|
"mapView": ["mapViewWatchHandler"]
|
305
302
|
}; }
|
306
303
|
};
|
307
|
-
|
304
|
+
MapFullscreen.style = mapFullscreenCss;
|
308
305
|
|
309
|
-
const
|
306
|
+
const mapLegendCss = ":host{display:block}";
|
310
307
|
|
311
|
-
const
|
308
|
+
const MapLegend = class {
|
312
309
|
constructor(hostRef) {
|
313
310
|
index.registerInstance(this, hostRef);
|
314
|
-
this.mapChanged = index.createEvent(this, "mapChanged", 7);
|
315
|
-
this.beforeMapChanged = index.createEvent(this, "beforeMapChanged", 7);
|
316
|
-
/**
|
317
|
-
* boolean: When true the default map provided via url params has been loaded and should no longer override other maps
|
318
|
-
*/
|
319
|
-
this._defaultWebmapHonored = false;
|
320
|
-
/**
|
321
|
-
* string: the id of map currently displayed
|
322
|
-
*/
|
323
|
-
this._loadedId = "";
|
324
|
-
this.defaultWebmapId = "";
|
325
|
-
this.enableHome = undefined;
|
326
|
-
this.enableLegend = undefined;
|
327
|
-
this.enableFloorFilter = undefined;
|
328
|
-
this.enableFullscreen = undefined;
|
329
|
-
this.enableSingleExpand = true;
|
330
|
-
this.enableSearch = undefined;
|
331
|
-
this.enableBasemap = undefined;
|
332
|
-
this.basemapConfig = undefined;
|
333
|
-
this.hidden = undefined;
|
334
|
-
this.homeZoomIndex = 3;
|
335
|
-
this.homeZoomPosition = "top-left";
|
336
|
-
this.homeZoomToolsSize = "m";
|
337
|
-
this.mapInfos = [];
|
338
|
-
this.mapWidgetsIndex = 0;
|
339
|
-
this.mapWidgetsPosition = "top-right";
|
340
|
-
this.mapWidgetsSize = "m";
|
341
311
|
this.mapView = undefined;
|
342
|
-
this.
|
343
|
-
this.theme = undefined;
|
344
|
-
this.toolOrder = undefined;
|
345
|
-
this._searchConfiguration = undefined;
|
346
|
-
this._webMapInfo = undefined;
|
312
|
+
this.legendWidget = undefined;
|
347
313
|
}
|
348
314
|
//--------------------------------------------------------------------------
|
349
315
|
//
|
350
316
|
// Watch handlers
|
351
317
|
//
|
352
318
|
//--------------------------------------------------------------------------
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
this._initHome();
|
358
|
-
}
|
359
|
-
/**
|
360
|
-
* Listen for changes to map info and load the appropriate map
|
361
|
-
*/
|
362
|
-
async mapInfoChange(evt) {
|
363
|
-
await this._loadMap(evt.detail);
|
319
|
+
async mapViewWatchHandler() {
|
320
|
+
await this.mapView.when(() => {
|
321
|
+
this._initLegend(this.mapView);
|
322
|
+
});
|
364
323
|
}
|
365
324
|
//--------------------------------------------------------------------------
|
366
325
|
//
|
326
|
+
// Methods (public)
|
327
|
+
//
|
328
|
+
//--------------------------------------------------------------------------
|
329
|
+
//--------------------------------------------------------------------------
|
330
|
+
//
|
331
|
+
// Events (public)
|
332
|
+
//
|
333
|
+
//--------------------------------------------------------------------------
|
334
|
+
//--------------------------------------------------------------------------
|
335
|
+
//
|
367
336
|
// Functions (lifecycle)
|
368
337
|
//
|
369
338
|
//--------------------------------------------------------------------------
|
@@ -371,18 +340,21 @@ const MapCard = class {
|
|
371
340
|
* StencilJS: Called once just after the component is first connected to the DOM.
|
372
341
|
*/
|
373
342
|
async componentWillLoad() {
|
374
|
-
|
343
|
+
return this._initModules();
|
375
344
|
}
|
376
345
|
/**
|
377
|
-
* Renders the component.
|
346
|
+
* StencilJS: Renders the component.
|
378
347
|
*/
|
379
348
|
render() {
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
349
|
+
return (index.h(index.Host, null, index.h("div", { ref: (el) => { this._legendElement = el; } })));
|
350
|
+
}
|
351
|
+
/**
|
352
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
353
|
+
*/
|
354
|
+
async componentDidLoad() {
|
355
|
+
if (this.mapView) {
|
356
|
+
await this.mapViewWatchHandler();
|
357
|
+
}
|
386
358
|
}
|
387
359
|
//--------------------------------------------------------------------------
|
388
360
|
//
|
@@ -397,91 +369,33 @@ const MapCard = class {
|
|
397
369
|
* @protected
|
398
370
|
*/
|
399
371
|
async _initModules() {
|
400
|
-
const [
|
401
|
-
"esri/
|
402
|
-
"esri/views/MapView",
|
403
|
-
"esri/widgets/Home"
|
372
|
+
const [Legend] = await locale.loadModules([
|
373
|
+
"esri/widgets/Legend"
|
404
374
|
]);
|
405
|
-
this.
|
406
|
-
this.MapView = MapView;
|
407
|
-
this.Home = Home;
|
375
|
+
this.Legend = Legend;
|
408
376
|
}
|
409
377
|
/**
|
410
|
-
*
|
411
|
-
*
|
412
|
-
* @param webMapInfo the webmap id and name to load
|
378
|
+
* Initialize the basemap gallery or reset the current view if it already exists
|
413
379
|
*/
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
this._webMapInfo = loadDefaultMap && defaultMap ? defaultMap[0] :
|
421
|
-
!(webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id) && this.mapInfos.length > 0 ? this.mapInfos[0] : webMapInfo;
|
422
|
-
const id = this._webMapInfo.id;
|
423
|
-
const isDefaultMap = loadDefaultMap && (webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id) === this.defaultWebmapId;
|
424
|
-
if ((this._loadedId !== id && !loadDefaultMap) || isDefaultMap) {
|
425
|
-
const webMap = new this.WebMap({
|
426
|
-
portalItem: { id }
|
427
|
-
});
|
428
|
-
this.mapView = new this.MapView({
|
429
|
-
container: this._mapDiv,
|
430
|
-
map: webMap,
|
431
|
-
resizeAlign: "center"
|
432
|
-
});
|
433
|
-
this._loadedId = id;
|
434
|
-
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
435
|
-
this.beforeMapChanged.emit();
|
436
|
-
await this.mapView.when(() => {
|
437
|
-
this._initHome();
|
438
|
-
this.mapView.ui.add(this._mapTools, { position: this.mapWidgetsPosition, index: this.mapWidgetsIndex });
|
439
|
-
this._defaultWebmapHonored = isDefaultMap ? true : this._defaultWebmapHonored;
|
440
|
-
this.mapChanged.emit({
|
441
|
-
id: id,
|
442
|
-
mapView: this.mapView
|
380
|
+
_initLegend(view) {
|
381
|
+
if (view && this.Legend) {
|
382
|
+
if (!this.legendWidget) {
|
383
|
+
this.legendWidget = new this.Legend({
|
384
|
+
container: this._legendElement,
|
385
|
+
view
|
443
386
|
});
|
444
|
-
}
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
this._mapPicker.setMapByID(id);
|
449
|
-
}
|
450
|
-
else if (mapConfigChanged) {
|
451
|
-
// Map is the same so no need to reload but we need to update for any changes from the config
|
452
|
-
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
453
|
-
this.beforeMapChanged.emit();
|
454
|
-
this.mapChanged.emit({
|
455
|
-
id: id,
|
456
|
-
mapView: this.mapView
|
457
|
-
});
|
458
|
-
}
|
459
|
-
}
|
460
|
-
/**
|
461
|
-
* Add/remove the home widget base on enableHome prop
|
462
|
-
*
|
463
|
-
* @protected
|
464
|
-
*/
|
465
|
-
_initHome() {
|
466
|
-
if (this.enableHome) {
|
467
|
-
this._homeWidget = new this.Home({
|
468
|
-
view: this.mapView
|
469
|
-
});
|
470
|
-
this.mapView.ui.add(this._homeWidget, { position: this.homeZoomPosition, index: this.homeZoomIndex });
|
471
|
-
const size = this.homeZoomToolsSize === "s" ? "32px" : this.homeZoomToolsSize === "m" ? "40px" : "48px";
|
472
|
-
this._homeWidget.domNode.style.height = size;
|
473
|
-
this._homeWidget.domNode.style.width = size;
|
474
|
-
}
|
475
|
-
else if (this._homeWidget) {
|
476
|
-
this.mapView.ui.remove(this._homeWidget);
|
387
|
+
}
|
388
|
+
else {
|
389
|
+
this.legendWidget.view = view;
|
390
|
+
}
|
477
391
|
}
|
478
392
|
}
|
479
393
|
get el() { return index.getElement(this); }
|
480
394
|
static get watchers() { return {
|
481
|
-
"
|
395
|
+
"mapView": ["mapViewWatchHandler"]
|
482
396
|
}; }
|
483
397
|
};
|
484
|
-
|
398
|
+
MapLegend.style = mapLegendCss;
|
485
399
|
|
486
400
|
const mapPickerCss = ":host{display:block;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:51px;width:100%}.map-list{position:absolute;display:flex;flex-direction:column;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-color-background);z-index:1000;width:100%;height:-moz-fit-content;height:fit-content}.display-none{display:none}.align-center{align-items:center}";
|
487
401
|
|
@@ -641,6 +555,175 @@ const MapPicker = class {
|
|
641
555
|
};
|
642
556
|
MapPicker.style = mapPickerCss;
|
643
557
|
|
558
|
+
const mapSearchCss = ":host{display:block}.search-widget{width:100% !important;border:1px solid var(--calcite-color-border-input)}";
|
559
|
+
|
560
|
+
const MapSearch = class {
|
561
|
+
constructor(hostRef) {
|
562
|
+
index.registerInstance(this, hostRef);
|
563
|
+
this.mapView = undefined;
|
564
|
+
this.popupEnabled = false;
|
565
|
+
this.resultGraphicEnabled = false;
|
566
|
+
this.searchConfiguration = undefined;
|
567
|
+
this.searchTerm = undefined;
|
568
|
+
this.searchWidget = undefined;
|
569
|
+
}
|
570
|
+
//--------------------------------------------------------------------------
|
571
|
+
//
|
572
|
+
// Watch handlers
|
573
|
+
//
|
574
|
+
//--------------------------------------------------------------------------
|
575
|
+
/**
|
576
|
+
* Called each time the searchConfiguration prop is changed.
|
577
|
+
*
|
578
|
+
* @returns Promise when complete
|
579
|
+
*/
|
580
|
+
async watchSearchConfigurationHandler() {
|
581
|
+
this._initSearchWidget();
|
582
|
+
}
|
583
|
+
/**
|
584
|
+
* Called each time the mapView prop is changed.
|
585
|
+
*
|
586
|
+
* @returns Promise when complete
|
587
|
+
*/
|
588
|
+
async mapViewWatchHandler() {
|
589
|
+
await this.mapView.when(() => {
|
590
|
+
this._initSearchWidget();
|
591
|
+
});
|
592
|
+
}
|
593
|
+
//--------------------------------------------------------------------------
|
594
|
+
//
|
595
|
+
// Methods (public)
|
596
|
+
//
|
597
|
+
//--------------------------------------------------------------------------
|
598
|
+
//--------------------------------------------------------------------------
|
599
|
+
//
|
600
|
+
// Events (public)
|
601
|
+
//
|
602
|
+
//--------------------------------------------------------------------------
|
603
|
+
//--------------------------------------------------------------------------
|
604
|
+
//
|
605
|
+
// Functions (lifecycle)
|
606
|
+
//
|
607
|
+
//--------------------------------------------------------------------------
|
608
|
+
/**
|
609
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
610
|
+
*/
|
611
|
+
async componentWillLoad() {
|
612
|
+
await this._initModules();
|
613
|
+
}
|
614
|
+
/**
|
615
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
616
|
+
*/
|
617
|
+
async componentDidLoad() {
|
618
|
+
return this._initSearchWidget();
|
619
|
+
}
|
620
|
+
/**
|
621
|
+
* Renders the component.
|
622
|
+
*/
|
623
|
+
render() {
|
624
|
+
return (index.h(index.Host, null, index.h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } })));
|
625
|
+
}
|
626
|
+
//--------------------------------------------------------------------------
|
627
|
+
//
|
628
|
+
// Functions (protected)
|
629
|
+
//
|
630
|
+
//--------------------------------------------------------------------------
|
631
|
+
/**
|
632
|
+
* Load esri javascript api modules
|
633
|
+
*
|
634
|
+
* @returns Promise resolving when function is done
|
635
|
+
*
|
636
|
+
* @protected
|
637
|
+
*/
|
638
|
+
async _initModules() {
|
639
|
+
const [Search, FeatureLayer] = await locale.loadModules([
|
640
|
+
"esri/widgets/Search",
|
641
|
+
"esri/layers/FeatureLayer"
|
642
|
+
]);
|
643
|
+
this.Search = Search;
|
644
|
+
this.FeatureLayer = FeatureLayer;
|
645
|
+
}
|
646
|
+
/**
|
647
|
+
* Initialize the search widget
|
648
|
+
*
|
649
|
+
* @protected
|
650
|
+
*/
|
651
|
+
_initSearchWidget() {
|
652
|
+
if (this.mapView && this._searchElement && !this.searchWidget) {
|
653
|
+
let searchOptions = {
|
654
|
+
view: this.mapView,
|
655
|
+
container: this._searchElement,
|
656
|
+
searchTerm: this.searchTerm
|
657
|
+
};
|
658
|
+
if (this.searchConfiguration) {
|
659
|
+
const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
|
660
|
+
searchOptions = Object.assign({}, searchConfiguration);
|
661
|
+
}
|
662
|
+
this.searchWidget = new this.Search(searchOptions);
|
663
|
+
this.searchWidget.popupEnabled = this.popupEnabled;
|
664
|
+
this.searchWidget.resultGraphicEnabled = this.resultGraphicEnabled;
|
665
|
+
}
|
666
|
+
else {
|
667
|
+
if (this.searchWidget) {
|
668
|
+
this.searchWidget.view = this.mapView;
|
669
|
+
}
|
670
|
+
}
|
671
|
+
}
|
672
|
+
/**
|
673
|
+
* Initialize the search widget based on user defined configuration
|
674
|
+
*
|
675
|
+
* @param searchConfiguration search configuration defined by the user
|
676
|
+
* @param view the current map view
|
677
|
+
*
|
678
|
+
* @protected
|
679
|
+
*/
|
680
|
+
_getSearchConfig(searchConfiguration, view) {
|
681
|
+
const INCLUDE_DEFAULT_SOURCES = "includeDefaultSources";
|
682
|
+
const sources = searchConfiguration.sources;
|
683
|
+
if ((sources === null || sources === void 0 ? void 0 : sources.length) > 0) {
|
684
|
+
searchConfiguration[INCLUDE_DEFAULT_SOURCES] = false;
|
685
|
+
sources.forEach((source) => {
|
686
|
+
var _a, _b;
|
687
|
+
const isLayerSource = source.hasOwnProperty("layer");
|
688
|
+
if (isLayerSource) {
|
689
|
+
const layerSource = source;
|
690
|
+
const layerId = (_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id;
|
691
|
+
const layerFromMap = layerId ? view.map.findLayerById(layerId) : null;
|
692
|
+
const layerUrl = (_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url;
|
693
|
+
if (layerFromMap) {
|
694
|
+
layerSource.layer = layerFromMap;
|
695
|
+
}
|
696
|
+
else if (layerUrl) {
|
697
|
+
layerSource.layer = new this.FeatureLayer(layerUrl);
|
698
|
+
}
|
699
|
+
}
|
700
|
+
});
|
701
|
+
sources === null || sources === void 0 ? void 0 : sources.forEach((source) => {
|
702
|
+
const isLocatorSource = source.hasOwnProperty("locator");
|
703
|
+
if (isLocatorSource) {
|
704
|
+
const locatorSource = source;
|
705
|
+
if ((locatorSource === null || locatorSource === void 0 ? void 0 : locatorSource.name) === "ArcGIS World Geocoding Service") {
|
706
|
+
const outFields = locatorSource.outFields || ["Addr_type", "Match_addr", "StAddr", "City"];
|
707
|
+
locatorSource.outFields = outFields;
|
708
|
+
locatorSource.singleLineFieldName = "SingleLine";
|
709
|
+
}
|
710
|
+
locatorSource.url = locatorSource.url;
|
711
|
+
delete locatorSource.url;
|
712
|
+
}
|
713
|
+
});
|
714
|
+
}
|
715
|
+
else {
|
716
|
+
searchConfiguration = Object.assign(Object.assign({}, searchConfiguration), { includeDefaultSources: true });
|
717
|
+
}
|
718
|
+
return searchConfiguration;
|
719
|
+
}
|
720
|
+
static get watchers() { return {
|
721
|
+
"searchConfiguration": ["watchSearchConfigurationHandler"],
|
722
|
+
"mapView": ["mapViewWatchHandler"]
|
723
|
+
}; }
|
724
|
+
};
|
725
|
+
MapSearch.style = mapSearchCss;
|
726
|
+
|
644
727
|
const mapToolsCss = ":host{display:block}.display-none{display:none}.margin-top-1-2{margin-top:0.5rem}.square-32{width:32px;height:32px}.square-40{width:40px;height:40px}.square-48{width:48px;height:48px}.width-40{width:40px}.square-40-41{width:40px;height:41px}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.box-shadow{box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.margin-bottom-1-2{margin-bottom:0.5rem}";
|
645
728
|
|
646
729
|
const MapTools = class {
|
@@ -817,7 +900,7 @@ const MapTools = class {
|
|
817
900
|
* @protected
|
818
901
|
*/
|
819
902
|
async _initModules() {
|
820
|
-
const [Expand] = await
|
903
|
+
const [Expand] = await locale.loadModules([
|
821
904
|
"esri/widgets/Expand"
|
822
905
|
]);
|
823
906
|
this.Expand = Expand;
|
@@ -998,7 +1081,10 @@ const MapTools = class {
|
|
998
1081
|
};
|
999
1082
|
MapTools.style = mapToolsCss;
|
1000
1083
|
|
1001
|
-
exports.
|
1002
|
-
exports.
|
1084
|
+
exports.basemap_gallery = BasemapGallery;
|
1085
|
+
exports.floor_filter = FloorFilter;
|
1086
|
+
exports.map_fullscreen = MapFullscreen;
|
1087
|
+
exports.map_legend = MapLegend;
|
1003
1088
|
exports.map_picker = MapPicker;
|
1089
|
+
exports.map_search = MapSearch;
|
1004
1090
|
exports.map_tools = MapTools;
|