@esri/solutions-components 0.8.23 → 0.8.25
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/cjs/arcgis-login.cjs.entry.js +1 -1
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +1 -1
- package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/{calcite-avatar.cjs.entry.js → calcite-avatar_2.cjs.entry.js} +62 -0
- package/dist/cjs/calcite-block_5.cjs.entry.js +12 -3
- package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +419 -0
- package/dist/cjs/{calcite-dropdown_4.cjs.entry.js → calcite-dropdown_2.cjs.entry.js} +12 -435
- package/dist/cjs/calcite-flow_6.cjs.entry.js +44 -34
- package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +58 -38
- package/dist/cjs/feature-list.cjs.entry.js +5 -4
- package/dist/cjs/{helpers-9347ad83.js → helpers-618a3f7d.js} +2 -1
- package/dist/cjs/instant-apps-create.cjs.entry.js +266 -0
- package/dist/cjs/instant-apps-export.cjs.entry.js +31 -16
- package/dist/cjs/instant-apps-header.cjs.entry.js +3 -2
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +11 -4
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-landing-page.cjs.entry.js +45 -9
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +168 -0
- package/dist/cjs/{languageSwitcher-395021d6.js → languageSwitcher-b9a1485c.js} +3 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/resources-fa37e40f.js +26 -0
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/arcgis-login/arcgis-login.js +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.js +1 -1
- package/dist/collection/components/buffer-tools/buffer-tools.js +1 -1
- package/dist/collection/components/card-manager/card-manager.js +1 -1
- package/dist/collection/components/create-feature/create-feature.js +9 -2
- package/dist/collection/components/create-related-feature/create-related-feature.js +9 -2
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +58 -47
- package/dist/collection/components/feature-details/feature-details.css +4 -4
- package/dist/collection/components/feature-details/feature-details.js +62 -18
- package/dist/collection/components/feature-list/feature-list.css +2 -0
- package/dist/collection/components/feature-list/feature-list.js +22 -3
- package/dist/collection/components/layer-list/layer-list.js +6 -13
- package/dist/collection/components/public-notification/public-notification.js +3 -3
- package/dist/collection/demos/crowdsource-reporter.html +22 -15
- package/dist/collection/utils/interfaces.ts +1 -0
- package/dist/components/arcgis-login.js +1 -1
- package/dist/components/basemap-gallery2.js +1 -1
- package/dist/components/buffer-tools2.js +1 -1
- package/dist/components/calcite-navigation-user.js +1 -99
- package/dist/components/card-manager2.js +1 -1
- package/dist/components/create-feature2.js +9 -2
- package/dist/components/create-related-feature2.js +9 -2
- package/dist/components/crowdsource-manager.js +1 -1
- package/dist/components/crowdsource-reporter.js +59 -39
- package/dist/components/feature-details2.js +22 -17
- package/dist/components/feature-list2.js +6 -4
- package/dist/components/helpers.js +3 -2
- package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
- package/dist/components/instant-apps-create.js +317 -0
- package/dist/components/instant-apps-export.js +32 -16
- package/dist/components/instant-apps-filter-list2.js +6 -1
- package/dist/components/instant-apps-header2.js +3 -2
- package/dist/components/instant-apps-interactive-legend-classic2.js +12 -5
- package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
- package/dist/components/instant-apps-landing-page.js +91 -16
- package/dist/components/instant-apps-language-translator2.js +3 -1
- package/dist/components/instant-apps-sign-in.js +11 -0
- package/dist/components/instant-apps-sign-in2.js +243 -0
- package/dist/components/instant-apps-social-share2.js +8 -2
- package/dist/components/layer-list2.js +6 -13
- package/dist/{esm/calcite-navigation-user.entry.js → components/navigation-user.js} +46 -9
- package/dist/components/public-notification.js +3 -3
- package/dist/esm/arcgis-login.entry.js +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +1 -1
- package/dist/esm/buffer-tools_3.entry.js +1 -1
- package/dist/esm/{calcite-avatar.entry.js → calcite-avatar_2.entry.js} +64 -3
- package/dist/esm/calcite-block_5.entry.js +12 -3
- package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
- package/dist/esm/calcite-color-picker.entry.js +1 -1
- package/dist/esm/calcite-dropdown-group_2.entry.js +414 -0
- package/dist/esm/{calcite-dropdown_4.entry.js → calcite-dropdown_2.entry.js} +2 -423
- package/dist/esm/calcite-flow_6.entry.js +44 -34
- package/dist/esm/card-manager_3.entry.js +1 -1
- package/dist/esm/crowdsource-manager.entry.js +1 -1
- package/dist/esm/crowdsource-reporter.entry.js +58 -38
- package/dist/esm/feature-list.entry.js +5 -4
- package/dist/esm/{helpers-a5a81b9d.js → helpers-61b05164.js} +3 -2
- package/dist/esm/instant-apps-create.entry.js +262 -0
- package/dist/esm/instant-apps-export.entry.js +31 -16
- package/dist/esm/instant-apps-header.entry.js +3 -2
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +11 -4
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +1 -1
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +1 -1
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend.entry.js +1 -1
- package/dist/esm/instant-apps-landing-page.entry.js +46 -10
- package/dist/esm/instant-apps-language-switcher.entry.js +1 -1
- package/dist/esm/instant-apps-language-translator.entry.js +1 -1
- package/dist/esm/instant-apps-sign-in.entry.js +164 -0
- package/dist/esm/{languageSwitcher-a4a615e4.js → languageSwitcher-d60f03b2.js} +3 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/resources-16800cce.js +24 -0
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/{utils-6419e941.js → utils-251cb6de.js} +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-create/instant-apps-create.css +150 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +16 -9
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-landing-page/instant-apps-landing-page.css +19 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-sign-in/instant-apps-sign-in.css +98 -0
- package/dist/solutions-components/demos/crowdsource-reporter.html +22 -15
- package/dist/solutions-components/{p-88495699.entry.js → p-16730f05.entry.js} +1 -1
- package/dist/solutions-components/p-1ae3b886.entry.js +17 -0
- package/dist/solutions-components/{p-63460d51.entry.js → p-1ff9eb95.entry.js} +1 -1
- package/dist/solutions-components/{p-8f6e0ae5.entry.js → p-26eb1225.entry.js} +1 -1
- package/dist/solutions-components/{p-3a2e0188.entry.js → p-2c044250.entry.js} +2 -2
- package/dist/solutions-components/p-314dc933.entry.js +6 -0
- package/dist/solutions-components/p-50741707.entry.js +6 -0
- package/dist/solutions-components/p-5b817c98.entry.js +6 -0
- package/dist/solutions-components/p-614ebce7.js +6 -0
- package/dist/solutions-components/p-686fa7ce.entry.js +6 -0
- package/dist/solutions-components/{p-df73649e.entry.js → p-77cd573b.entry.js} +1 -1
- package/dist/solutions-components/{p-c95dcdf7.entry.js → p-7883b885.entry.js} +3 -3
- package/dist/solutions-components/p-79e2e203.entry.js +6 -0
- package/dist/solutions-components/{p-968a6fd8.entry.js → p-7b17e929.entry.js} +1 -1
- package/dist/solutions-components/p-80b3eb6b.entry.js +6 -0
- package/dist/solutions-components/p-84913712.js +6 -0
- package/dist/solutions-components/p-8c500fd7.entry.js +6 -0
- package/dist/solutions-components/{p-fe9d6d06.js → p-9f56c02c.js} +1 -1
- package/dist/solutions-components/{p-667c022f.entry.js → p-af4be4ce.entry.js} +1 -1
- package/dist/solutions-components/p-bb2e669d.entry.js +6 -0
- package/dist/solutions-components/p-c2ec0dcc.entry.js +17 -0
- package/dist/solutions-components/p-c41997d5.js +11 -0
- package/dist/solutions-components/p-c512fcfb.entry.js +6 -0
- package/dist/solutions-components/{p-21d6360a.entry.js → p-c7f0e7a8.entry.js} +1 -1
- package/dist/solutions-components/{p-9c7d4343.entry.js → p-cd91c3e7.entry.js} +1 -1
- package/dist/solutions-components/p-ceba37d3.entry.js +11 -0
- package/dist/solutions-components/{p-09b769b7.entry.js → p-d8a15e32.entry.js} +1 -1
- package/dist/solutions-components/p-d8da6406.entry.js +6 -0
- package/dist/solutions-components/p-da6b3c8a.entry.js +6 -0
- package/dist/solutions-components/{p-60f1055e.entry.js → p-e2400b0d.entry.js} +1 -1
- package/dist/solutions-components/p-f35cc7ae.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +1 -0
- package/dist/types/components/create-feature/create-feature.d.ts +4 -0
- package/dist/types/components/create-related-feature/create-related-feature.d.ts +4 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +18 -7
- package/dist/types/components/feature-details/feature-details.d.ts +17 -1
- package/dist/types/components/feature-list/feature-list.d.ts +4 -0
- package/dist/types/components/layer-list/layer-list.d.ts +1 -1
- package/dist/types/components.d.ts +25 -2
- package/dist/types/preact.d.ts +7 -2
- package/dist/types/utils/interfaces.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/calcite-navigation-user.cjs.entry.js +0 -73
- package/dist/solutions-components/p-08a1e120.js +0 -6
- package/dist/solutions-components/p-3283660c.entry.js +0 -6
- package/dist/solutions-components/p-33647277.entry.js +0 -6
- package/dist/solutions-components/p-3af0764f.entry.js +0 -6
- package/dist/solutions-components/p-41d288c0.entry.js +0 -6
- package/dist/solutions-components/p-599dcc29.js +0 -6
- package/dist/solutions-components/p-64b4b579.entry.js +0 -11
- package/dist/solutions-components/p-64da5bb8.entry.js +0 -17
- package/dist/solutions-components/p-ab96dd27.entry.js +0 -6
- package/dist/solutions-components/p-bb0c7be3.entry.js +0 -17
- package/dist/solutions-components/p-bb8e3add.entry.js +0 -11
- package/dist/solutions-components/p-c36bb8ca.entry.js +0 -6
- package/dist/solutions-components/p-cbe166fc.entry.js +0 -6
- package/dist/solutions-components/p-eab95aa4.entry.js +0 -6
- package/dist/solutions-components/p-f6a1673c.entry.js +0 -6
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": [
|
|
3
|
+
"components/layer-list/layer-list.js",
|
|
3
4
|
"components/arcgis-login/arcgis-login.js",
|
|
4
5
|
"components/basemap-gallery/basemap-gallery.js",
|
|
5
6
|
"components/buffer-tools/buffer-tools.js",
|
|
@@ -8,7 +9,6 @@
|
|
|
8
9
|
"components/create-feature/create-feature.js",
|
|
9
10
|
"components/create-related-feature/create-related-feature.js",
|
|
10
11
|
"components/crowdsource-manager/crowdsource-manager.js",
|
|
11
|
-
"components/layer-list/layer-list.js",
|
|
12
12
|
"components/crowdsource-reporter/crowdsource-reporter.js",
|
|
13
13
|
"components/deduct-calculator/deduct-calculator.js",
|
|
14
14
|
"components/delete-button/delete-button.js",
|
|
@@ -180,6 +180,7 @@
|
|
|
180
180
|
"tags": [
|
|
181
181
|
"instant-apps-ckeditor-wrapper",
|
|
182
182
|
"instant-apps-control-panel",
|
|
183
|
+
"instant-apps-create",
|
|
183
184
|
"instant-apps-export",
|
|
184
185
|
"instant-apps-filter-list",
|
|
185
186
|
"instant-apps-header",
|
|
@@ -204,6 +205,7 @@
|
|
|
204
205
|
"instant-apps-popover",
|
|
205
206
|
"instant-apps-popovers",
|
|
206
207
|
"instant-apps-scoreboard",
|
|
208
|
+
"instant-apps-sign-in",
|
|
207
209
|
"instant-apps-social-share",
|
|
208
210
|
"instant-apps-splash"
|
|
209
211
|
]
|
|
@@ -56,7 +56,7 @@ export class ArcgisLogin {
|
|
|
56
56
|
//
|
|
57
57
|
//--------------------------------------------------------------------------
|
|
58
58
|
render() {
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: 'b71ecf635ef91c3604665890c3eec5c5bc51651c' }, h("slot", { key: '77c4af2284404bc351b1eb93a81b2151f8e8cce1' })));
|
|
60
60
|
}
|
|
61
61
|
static get is() { return "arcgis-login"; }
|
|
62
62
|
static get encapsulation() { return "shadow"; }
|
|
@@ -61,7 +61,7 @@ export class BasemapGallery {
|
|
|
61
61
|
* StencilJS: Renders the component.
|
|
62
62
|
*/
|
|
63
63
|
render() {
|
|
64
|
-
return (h(Host, { key: '
|
|
64
|
+
return (h(Host, { key: '7fe5ef48d77de087f17498e2e1f3370a069e8629' }, h("div", { key: 'aca555c687352046a138343cab6f656234069644', ref: (el) => { this._basemapElement = el; } })));
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
@@ -84,7 +84,7 @@ export class BufferTools {
|
|
|
84
84
|
* Renders the component.
|
|
85
85
|
*/
|
|
86
86
|
render() {
|
|
87
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: '63b775eca8dd10785df7b58be3a79eaa6cf4c049' }, this.appearance === "text" ? this._getTextBoxDisplay() : this._getSliderDisplay()));
|
|
88
88
|
}
|
|
89
89
|
//--------------------------------------------------------------------------
|
|
90
90
|
//
|
|
@@ -86,7 +86,7 @@ export class CardManager {
|
|
|
86
86
|
var _a, _b;
|
|
87
87
|
const featuresClass = ((_a = this._graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "" : "display-none";
|
|
88
88
|
const messageClass = ((_b = this._graphics) === null || _b === void 0 ? void 0 : _b.length) > 0 ? "display-none" : "";
|
|
89
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: '343554e5408de156f1973f6d1e3daa8f1ba90675' }, h("div", { key: '1852562a795002314236052351cab7c29d36854e', class: "overflow-auto height-full" }, h("calcite-shell", { key: '684f013e4397bc50743526357384f782a88a5cd3', class: "position-relative " + featuresClass }, h("div", { key: 'db6d9f4be5448b5596b22f2a4f49c6baefa88466' }, h("info-card", { key: 'be5cec81cae7ca00a5b57c8d9590541f78b67fbd', graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: 'df34e0ae6978298130970c60d21203f52fa32e4b', class: "position-relative " + messageClass }, h("div", { key: '9525a95dd21745e211ebf888da44eca6a6c17721', class: "padding-1" }, h("calcite-notice", { key: 'ade0e0a2f09bbe7b7bda6fdb2ce65ba81121e633', icon: "table", open: true }, h("div", { key: 'd6fce2d657e23738720e004177c510c3273017f4', slot: "message" }, this._translations.selectFeaturesToStart)))))));
|
|
90
90
|
}
|
|
91
91
|
//--------------------------------------------------------------------------
|
|
92
92
|
//
|
|
@@ -23,6 +23,10 @@ import { loadModules } from "../../utils/loadModules";
|
|
|
23
23
|
import { getAllLayers, getLayerOrTable } from "../../utils/mapViewUtils";
|
|
24
24
|
export class CreateFeature {
|
|
25
25
|
constructor() {
|
|
26
|
+
/**
|
|
27
|
+
* boolean: Flag to maintain form submission using submit button
|
|
28
|
+
*/
|
|
29
|
+
this._isSubmitBtnClicked = false;
|
|
26
30
|
this.mapView = undefined;
|
|
27
31
|
this.selectedLayerId = undefined;
|
|
28
32
|
this.customizeSubmit = false;
|
|
@@ -62,6 +66,7 @@ export class CreateFeature {
|
|
|
62
66
|
*/
|
|
63
67
|
async submit() {
|
|
64
68
|
if (this._editor) {
|
|
69
|
+
this._isSubmitBtnClicked = true;
|
|
65
70
|
this._editor.viewModel.featureFormViewModel.submit();
|
|
66
71
|
}
|
|
67
72
|
}
|
|
@@ -88,7 +93,7 @@ export class CreateFeature {
|
|
|
88
93
|
*/
|
|
89
94
|
render() {
|
|
90
95
|
const showSearchWidget = this.showSearchWidget ? '' : 'display-none';
|
|
91
|
-
return (h(Fragment, { key: '
|
|
96
|
+
return (h(Fragment, { key: 'd11a16053bc5eb86a09fd3bc35c9a89cee6dd064' }, h("div", { key: '0320bb0ca9fc069306151078c66fbee11060fcab', id: "feature-form" }), h("div", { key: '8aaa13e87213a880382ca408d324beb79ba7a500', class: `search-widget ${showSearchWidget}`, id: "search-widget-ref" })));
|
|
92
97
|
}
|
|
93
98
|
//--------------------------------------------------------------------------
|
|
94
99
|
//
|
|
@@ -334,11 +339,13 @@ export class CreateFeature {
|
|
|
334
339
|
var _a;
|
|
335
340
|
//return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
|
|
336
341
|
if (evt.invalid.length) {
|
|
342
|
+
this._isSubmitBtnClicked = false;
|
|
337
343
|
return;
|
|
338
344
|
}
|
|
339
345
|
//Submit only when valid attributes
|
|
340
346
|
//emit success or fail based on the result
|
|
341
|
-
if (evt.valid.length) {
|
|
347
|
+
if (evt.valid.length && this._isSubmitBtnClicked) {
|
|
348
|
+
this._isSubmitBtnClicked = false;
|
|
342
349
|
try {
|
|
343
350
|
await this._editor.activeWorkflow.commit();
|
|
344
351
|
//throw errors if any failures
|
|
@@ -22,6 +22,10 @@ import { Host, h } from "@stencil/core";
|
|
|
22
22
|
import { loadModules } from "../../utils/loadModules";
|
|
23
23
|
export class CreateRelatedFeature {
|
|
24
24
|
constructor() {
|
|
25
|
+
/**
|
|
26
|
+
* boolean: Flag to maintain form submission using submit button
|
|
27
|
+
*/
|
|
28
|
+
this._isSubmitBtnClicked = false;
|
|
25
29
|
this.mapView = undefined;
|
|
26
30
|
this.table = undefined;
|
|
27
31
|
this.selectedFeature = undefined;
|
|
@@ -58,6 +62,7 @@ export class CreateRelatedFeature {
|
|
|
58
62
|
*/
|
|
59
63
|
async submit() {
|
|
60
64
|
if (this._editor) {
|
|
65
|
+
this._isSubmitBtnClicked = true;
|
|
61
66
|
this._editor.viewModel.featureFormViewModel.submit();
|
|
62
67
|
}
|
|
63
68
|
}
|
|
@@ -95,7 +100,7 @@ export class CreateRelatedFeature {
|
|
|
95
100
|
this.reactiveUtils = reactiveUtils;
|
|
96
101
|
}
|
|
97
102
|
render() {
|
|
98
|
-
return (h(Host, { key: '
|
|
103
|
+
return (h(Host, { key: '8c32e05707b6e5501759caaef5d89f8da40640e4' }));
|
|
99
104
|
}
|
|
100
105
|
/**
|
|
101
106
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
@@ -225,11 +230,13 @@ export class CreateRelatedFeature {
|
|
|
225
230
|
var _a;
|
|
226
231
|
//return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
|
|
227
232
|
if (evt.invalid.length) {
|
|
233
|
+
this._isSubmitBtnClicked = false;
|
|
228
234
|
return;
|
|
229
235
|
}
|
|
230
236
|
//Submit only when valid attributes
|
|
231
237
|
//emit success or fail based on the result
|
|
232
|
-
if (evt.valid.length) {
|
|
238
|
+
if (evt.valid.length && this._isSubmitBtnClicked) {
|
|
239
|
+
this._isSubmitBtnClicked = false;
|
|
233
240
|
try {
|
|
234
241
|
await this._editor.activeWorkflow.commit();
|
|
235
242
|
//throw errors if any failures
|
|
@@ -202,7 +202,7 @@ export class CrowdsourceManager {
|
|
|
202
202
|
render() {
|
|
203
203
|
// only avoid border when we have a header color that is not white
|
|
204
204
|
const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
|
|
205
|
-
return (h(Host, { key: '
|
|
205
|
+
return (h(Host, { key: '0f06df71cc424887b8dc4b4929670d94b6548085' }, h("calcite-shell", { key: 'c81a570fb771650de6193e45ffbebd03544eaf2e', class: "position-relative" }, h("calcite-panel", { key: '5e67c2bf9ed0df0080629989f93e89a145349abc', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
|
206
206
|
}
|
|
207
207
|
/**
|
|
208
208
|
* Called after each render
|
|
@@ -90,18 +90,6 @@ export class CrowdsourceReporter {
|
|
|
90
90
|
await this.setMapView();
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
|
-
/**
|
|
94
|
-
* On Feature details change update the Layer title and the current selected layer id
|
|
95
|
-
* @param evt Event hold the details of current feature graphic in the info-card
|
|
96
|
-
*/
|
|
97
|
-
async selectionChanged(evt) {
|
|
98
|
-
void this.updatingFeatureDetails(true);
|
|
99
|
-
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
|
100
|
-
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
|
101
|
-
this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
|
102
|
-
//update the feature details to reflect the like, dislike and comment values
|
|
103
|
-
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
|
104
|
-
}
|
|
105
93
|
//--------------------------------------------------------------------------
|
|
106
94
|
//
|
|
107
95
|
// Functions (lifecycle)
|
|
@@ -118,9 +106,9 @@ export class CrowdsourceReporter {
|
|
|
118
106
|
await this._initModules();
|
|
119
107
|
await this._getTranslations();
|
|
120
108
|
await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(async () => {
|
|
121
|
-
//set configured
|
|
109
|
+
//set configured layers array which are enabled for data collection
|
|
122
110
|
this._layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
|
123
|
-
return this.reportingOptions[layerId].
|
|
111
|
+
return this.reportingOptions[layerId].visible;
|
|
124
112
|
}) : [];
|
|
125
113
|
await this.setMapView();
|
|
126
114
|
}));
|
|
@@ -130,7 +118,7 @@ export class CrowdsourceReporter {
|
|
|
130
118
|
*/
|
|
131
119
|
render() {
|
|
132
120
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
|
133
|
-
return (h(Host, { key: '
|
|
121
|
+
return (h(Host, { key: '497227745f29c2afc434349e86da19b088b1eb78' }, this._reportSubmitted && h("calcite-alert", { key: 'd22cceb7124073ad390cd53d97214a2983e97ea0', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '1f98f71fa79cf64e65fecfbceec3862714702609', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '381d3b5a3f5115782634833ad53b4494e888ea97', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '34371959d1272e4bc465e5f5a432d450a156c20b', slot: "title" }, this._translations.error), h("div", { key: '09a55e3325edde43f660a2db1621a4ffd373e09f', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '33d79a67575c9a2b14e602e60b702ca82025e20f', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '91b9dcc26cf1f66a116a287a94e8df5c3d2f37bf', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '758f1d465d4301fade8fd93a682bfe4b359be2ca', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '982424caf90e309701c62c75065d7e7e15d327b4', slot: "title" }, this._translations.error), h("div", { key: '1c93f9f8e1b958ccf8553560c36a32273f16a3a6', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '612254cf38da92cf88b90ace8136a2e0859afcae' }, h("calcite-shell", { key: 'bb56100b4dfc355b93d580deee929aad7cfb3f7f', "content-behind": true }, this._getReporter())), this.filterModal()));
|
|
134
122
|
}
|
|
135
123
|
//--------------------------------------------------------------------------
|
|
136
124
|
//
|
|
@@ -165,6 +153,14 @@ export class CrowdsourceReporter {
|
|
|
165
153
|
layer.set('visible', !layerId || (layer.id === layerId));
|
|
166
154
|
});
|
|
167
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Returns the layers configuration
|
|
158
|
+
* @param layerId string layerId of the selected layer
|
|
159
|
+
* @returns Configuration for the layerId
|
|
160
|
+
*/
|
|
161
|
+
_getLayersConfig(layerId) {
|
|
162
|
+
return this.reportingOptions && this.reportingOptions[layerId] ? this.reportingOptions[layerId] : null;
|
|
163
|
+
}
|
|
168
164
|
/**
|
|
169
165
|
* Get the reporter app functionality
|
|
170
166
|
* @protected
|
|
@@ -288,7 +284,10 @@ export class CrowdsourceReporter {
|
|
|
288
284
|
* @protected
|
|
289
285
|
*/
|
|
290
286
|
getChooseCategoryFlowItem() {
|
|
291
|
-
|
|
287
|
+
const onlyReportingLayers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
|
288
|
+
return this.reportingOptions[layerId].visible && this.reportingOptions[layerId].reporting && this._layerItemsHash[layerId] && this._layerItemsHash[layerId].supportsAdd;
|
|
289
|
+
}) : [];
|
|
290
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.chooseCategoryMsg)), h("layer-list", { class: "height-full", layers: onlyReportingLayers, mapView: this.mapView, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
|
292
291
|
}
|
|
293
292
|
/**
|
|
294
293
|
* Get Feature create form of the selected feature layer
|
|
@@ -447,16 +446,22 @@ export class CrowdsourceReporter {
|
|
|
447
446
|
const layersListed = evt.detail;
|
|
448
447
|
//consider only the layers listed in the layer-list component
|
|
449
448
|
const allMapLayers = await getAllLayers(this.mapView);
|
|
449
|
+
const reportingEnabledLayerIds = [];
|
|
450
450
|
this._validLayers = [];
|
|
451
451
|
allMapLayers.forEach((eachLayer) => {
|
|
452
|
+
var _a;
|
|
452
453
|
if (layersListed.includes(eachLayer.id)) {
|
|
453
454
|
this._validLayers.push(eachLayer);
|
|
455
|
+
//create list of reporting enabled layers
|
|
456
|
+
if (((_a = this._getLayersConfig(eachLayer.id)) === null || _a === void 0 ? void 0 : _a.reporting) && this._layerItemsHash[eachLayer.id] && this._layerItemsHash[eachLayer.id].supportsAdd) {
|
|
457
|
+
reportingEnabledLayerIds.push(eachLayer.id);
|
|
458
|
+
}
|
|
454
459
|
}
|
|
455
460
|
});
|
|
456
461
|
//handleMap click on layer list loaded
|
|
457
462
|
this.handleMapClick();
|
|
458
|
-
//
|
|
459
|
-
this._hasValidLayers =
|
|
463
|
+
//When we have any reporting layer then only show the create report button on layerList
|
|
464
|
+
this._hasValidLayers = reportingEnabledLayerIds.length > 0;
|
|
460
465
|
//navigate to the feature details if URL params found
|
|
461
466
|
if (!this._urlParamsLoaded) {
|
|
462
467
|
this._urlParamsLoaded = true;
|
|
@@ -484,8 +489,9 @@ export class CrowdsourceReporter {
|
|
|
484
489
|
backFromSelectedPanel() {
|
|
485
490
|
this._updatedProgressBarStatus = 0.25;
|
|
486
491
|
const updatedFlowItems = [...this._flowItems];
|
|
487
|
-
// when
|
|
488
|
-
if (updatedFlowItems[updatedFlowItems.length - 1]
|
|
492
|
+
// when back from comment details or add comment page don't clear the highlighted feature of map
|
|
493
|
+
if (!(updatedFlowItems[updatedFlowItems.length - 1] === 'comment-details' ||
|
|
494
|
+
updatedFlowItems[updatedFlowItems.length - 1] === 'add-comment')) {
|
|
489
495
|
this.clearHighlights();
|
|
490
496
|
}
|
|
491
497
|
updatedFlowItems.pop();
|
|
@@ -530,6 +536,19 @@ export class CrowdsourceReporter {
|
|
|
530
536
|
async updatingFeatureDetails(isLoading) {
|
|
531
537
|
this._showLoadingIndicator = isLoading;
|
|
532
538
|
}
|
|
539
|
+
/**
|
|
540
|
+
* On Feature details change update the Layer title and the current selected layer id
|
|
541
|
+
* @param evt Event hold the details of current feature graphic from the feature-details
|
|
542
|
+
* @protected
|
|
543
|
+
*/
|
|
544
|
+
async selectionChanged(evt) {
|
|
545
|
+
void this.updatingFeatureDetails(true);
|
|
546
|
+
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
|
547
|
+
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
|
548
|
+
this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
|
549
|
+
//update the feature details to reflect the like, dislike and comment values
|
|
550
|
+
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
|
551
|
+
}
|
|
533
552
|
/**
|
|
534
553
|
* When comment is selected from list store that and show comment details
|
|
535
554
|
* @param evt Event which has details of selected feature
|
|
@@ -547,10 +566,11 @@ export class CrowdsourceReporter {
|
|
|
547
566
|
* @protected
|
|
548
567
|
*/
|
|
549
568
|
getFeatureListFlowItem(layerId, layerName) {
|
|
550
|
-
var _a;
|
|
569
|
+
var _a, _b;
|
|
551
570
|
const layerExpressions = (_a = this.layerExpressions) === null || _a === void 0 ? void 0 : _a.filter((exp) => exp.id === this._selectedLayerId);
|
|
571
|
+
const canCreateReports = ((_b = this._getLayersConfig(this._selectedLayerId)) === null || _b === void 0 ? void 0 : _b.reporting) && this._layerItemsHash[this._selectedLayerId].supportsAdd;
|
|
552
572
|
const showFilterIcon = (layerExpressions === null || layerExpressions === void 0 ? void 0 : layerExpressions.length) > 0;
|
|
553
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
|
|
573
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && canCreateReports &&
|
|
554
574
|
h("calcite-button", { appearance: "solid", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnHover: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, ref: el => this._featureList = el, selectedLayerId: layerId, sortingInfo: this._updatedSorting }))));
|
|
555
575
|
}
|
|
556
576
|
/**
|
|
@@ -558,8 +578,9 @@ export class CrowdsourceReporter {
|
|
|
558
578
|
* @returns Node
|
|
559
579
|
*/
|
|
560
580
|
getFeatureDetailsFlowItem() {
|
|
561
|
-
|
|
562
|
-
|
|
581
|
+
var _a;
|
|
582
|
+
const showCommentBtn = ((_a = this._getLayersConfig(this._selectedLayerId)) === null || _a === void 0 ? void 0 : _a.comment) && this._selectedLayer.relationships.length > 0;
|
|
583
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "s", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("calcite-panel", null, h("feature-details", { class: 'full-height', graphics: this._selectedFeature, layerItemsHash: this._layerItemsHash, mapView: this.mapView, onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }), showCommentBtn &&
|
|
563
584
|
h("calcite-button", { appearance: "solid", onClick: () => this._flowItems = [...this._flowItems, "add-comment"], slot: "footer", width: "full" }, this._translations.comment))));
|
|
564
585
|
}
|
|
565
586
|
/**
|
|
@@ -597,13 +618,14 @@ export class CrowdsourceReporter {
|
|
|
597
618
|
* @param selectedFeature Graphic currently shown in feature details
|
|
598
619
|
*/
|
|
599
620
|
async setCurrentFeature(selectedFeature) {
|
|
621
|
+
var _a;
|
|
600
622
|
this._currentFeature = selectedFeature;
|
|
601
623
|
if (selectedFeature && selectedFeature.layer) {
|
|
602
624
|
const layer = selectedFeature.layer;
|
|
603
625
|
void this.setSelectedLayer(layer.id, layer.title);
|
|
604
626
|
this._currentFeatureId = selectedFeature.attributes[layer.objectIdField];
|
|
605
627
|
// check if comments are configured and relationship is present then only get the related table
|
|
606
|
-
const isCommentTablePresent = this.
|
|
628
|
+
const isCommentTablePresent = ((_a = this._getLayersConfig(layer.id)) === null || _a === void 0 ? void 0 : _a.comment) && layer.relationships.length > 0;
|
|
607
629
|
if (isCommentTablePresent) {
|
|
608
630
|
await this.getRelatedTable();
|
|
609
631
|
}
|
|
@@ -717,12 +739,12 @@ export class CrowdsourceReporter {
|
|
|
717
739
|
await this.setSelectedFeatures(reportingLayerGraphics);
|
|
718
740
|
//if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
|
|
719
741
|
// eslint-disable-next-line unicorn/prefer-ternary
|
|
720
|
-
if (this._flowItems.length && this._flowItems
|
|
721
|
-
this._flowItems = [...this._flowItems, "feature-details"];
|
|
742
|
+
if (this._flowItems.length && this._flowItems.includes("feature-details")) {
|
|
743
|
+
this._flowItems = [...this._flowItems.slice(0, this._flowItems.indexOf("feature-details") + 1)];
|
|
744
|
+
await this.highlightOnMap(clickedGraphics[0]);
|
|
722
745
|
}
|
|
723
746
|
else {
|
|
724
|
-
this._flowItems = [...this._flowItems];
|
|
725
|
-
void this.highlightOnMap(clickedGraphics[0]);
|
|
747
|
+
this._flowItems = [...this._flowItems, "feature-details"];
|
|
726
748
|
}
|
|
727
749
|
}
|
|
728
750
|
// if clicked graphic's layer is from non reporting layers then show popup on map
|
|
@@ -765,13 +787,11 @@ export class CrowdsourceReporter {
|
|
|
765
787
|
* @returns array of editable layer ids
|
|
766
788
|
*/
|
|
767
789
|
reduceToConfiguredLayers(hash) {
|
|
768
|
-
var _a;
|
|
769
|
-
const configuredLayers = ((_a = this._layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this._layers : [];
|
|
770
790
|
return Object.keys(hash).reduce((prev, cur) => {
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
791
|
+
var _a;
|
|
792
|
+
// check if reporting options exists consider the visible prop if else just check the supports Add
|
|
793
|
+
const showLayer = this.reportingOptions ? (_a = this._getLayersConfig(cur)) === null || _a === void 0 ? void 0 : _a.visible
|
|
794
|
+
: hash[cur].supportsAdd;
|
|
775
795
|
if (showLayer) {
|
|
776
796
|
prev.push(cur);
|
|
777
797
|
}
|
|
@@ -792,18 +812,19 @@ export class CrowdsourceReporter {
|
|
|
792
812
|
}
|
|
793
813
|
});
|
|
794
814
|
this._editableLayerIds = this.reduceToConfiguredLayers(layerItemsHash);
|
|
815
|
+
this._layerItemsHash = layerItemsHash;
|
|
795
816
|
}
|
|
796
817
|
/**
|
|
797
818
|
* renders feature list
|
|
798
819
|
* @protected
|
|
799
820
|
*/
|
|
800
821
|
async renderFeaturesList() {
|
|
822
|
+
this._flowItems = ['feature-list'];
|
|
801
823
|
const evt = {
|
|
802
824
|
detail: this._editableLayerIds
|
|
803
825
|
};
|
|
804
826
|
await this.layerListLoaded(evt);
|
|
805
827
|
void this.setSelectedLayer(this._validLayers[0].id, this._validLayers[0].title);
|
|
806
|
-
this._flowItems = ['feature-list'];
|
|
807
828
|
}
|
|
808
829
|
/**
|
|
809
830
|
* Updates the share url for current selected feature
|
|
@@ -851,7 +872,7 @@ export class CrowdsourceReporter {
|
|
|
851
872
|
const featureSet = await queryFeaturesByID([Number(this.objectId)], layer, [], true, this.mapView.spatialReference);
|
|
852
873
|
if (featureSet.length) {
|
|
853
874
|
//update the selectedFeature
|
|
854
|
-
this.
|
|
875
|
+
await this.setSelectedFeatures(featureSet);
|
|
855
876
|
//if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
|
|
856
877
|
// eslint-disable-next-line unicorn/prefer-ternary
|
|
857
878
|
if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
|
|
@@ -860,7 +881,6 @@ export class CrowdsourceReporter {
|
|
|
860
881
|
else {
|
|
861
882
|
this._flowItems = [...this._flowItems];
|
|
862
883
|
}
|
|
863
|
-
await this.highlightOnMap(featureSet[0]);
|
|
864
884
|
}
|
|
865
885
|
}
|
|
866
886
|
}
|
|
@@ -1421,13 +1441,4 @@ export class CrowdsourceReporter {
|
|
|
1421
1441
|
"methodName": "mapViewWatchHandler"
|
|
1422
1442
|
}];
|
|
1423
1443
|
}
|
|
1424
|
-
static get listeners() {
|
|
1425
|
-
return [{
|
|
1426
|
-
"name": "selectionChanged",
|
|
1427
|
-
"method": "selectionChanged",
|
|
1428
|
-
"target": "window",
|
|
1429
|
-
"capture": false,
|
|
1430
|
-
"passive": false
|
|
1431
|
-
}];
|
|
1432
|
-
}
|
|
1433
1444
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
.buttons-container{
|
|
6
6
|
align-items: center;
|
|
7
7
|
display: flex;
|
|
8
|
-
padding:
|
|
8
|
+
padding: 4px;
|
|
9
9
|
color: var(--calcite-color-text-1) !important;
|
|
10
10
|
background-color: var(--calcite-color-foreground-1) !important;
|
|
11
11
|
border-block-start: 1px solid var(--calcite-color-border-3);
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
.comment-btn{
|
|
16
16
|
display: flex;
|
|
17
|
-
gap:
|
|
18
|
-
font-size: var(--calcite-font-size--
|
|
17
|
+
gap: 10px;
|
|
18
|
+
font-size: var(--calcite-font-size--1);
|
|
19
19
|
align-items: center;
|
|
20
|
-
padding:
|
|
20
|
+
padding: 7px 0.75rem;
|
|
21
21
|
}
|