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