@esri/solutions-components 0.8.33 → 0.8.34
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/calcite-flow_6.cjs.entry.js +22 -19
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +29 -6
- package/dist/collection/components/create-feature/create-feature.js +13 -12
- package/dist/collection/components/create-related-feature/create-related-feature.js +23 -3
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +31 -8
- package/dist/collection/components/feature-details/feature-details.js +0 -4
- package/dist/collection/demos/crowdsource-reporter.html +32 -8
- package/dist/components/create-feature2.js +13 -12
- package/dist/components/create-related-feature2.js +9 -3
- package/dist/components/crowdsource-reporter.js +29 -6
- package/dist/components/feature-details2.js +0 -4
- package/dist/esm/calcite-flow_6.entry.js +22 -19
- package/dist/esm/crowdsource-reporter.entry.js +29 -6
- package/dist/solutions-components/demos/crowdsource-reporter.html +32 -8
- package/dist/solutions-components/p-0ce36a4a.entry.js +17 -0
- package/dist/solutions-components/p-5c5e3745.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/create-related-feature/create-related-feature.d.ts +4 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +16 -3
- package/dist/types/components.d.ts +7 -2
- package/dist/types/preact.d.ts +2 -1
- package/package.json +1 -1
- package/dist/solutions-components/p-4ae34862.entry.js +0 -17
- package/dist/solutions-components/p-90c3bc54.entry.js +0 -6
|
@@ -522,14 +522,23 @@ const CreateFeature = class {
|
|
|
522
522
|
}
|
|
523
523
|
});
|
|
524
524
|
this._editor.viewModel.addHandles(handle);
|
|
525
|
+
//Add handle to watch featureFormViewModel ready state
|
|
526
|
+
const formHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
527
|
+
if (state === 'ready') {
|
|
528
|
+
this._showSearchWidget = false;
|
|
529
|
+
this.progressStatus.emit(1);
|
|
530
|
+
this.drawComplete.emit();
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
this._editor.viewModel.addHandles(formHandle);
|
|
525
534
|
//Add handle to watch editor viewmodel state and then show the search widget
|
|
526
|
-
const
|
|
535
|
+
const createFeatureHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
|
|
527
536
|
if (state === 'creating-features') {
|
|
528
537
|
this._editorLoading = true;
|
|
529
538
|
this._showSearchWidget = true;
|
|
530
539
|
}
|
|
531
540
|
});
|
|
532
|
-
this._editor.viewModel.addHandles(
|
|
541
|
+
this._editor.viewModel.addHandles(createFeatureHandle);
|
|
533
542
|
}
|
|
534
543
|
/**
|
|
535
544
|
* Start creating the feature
|
|
@@ -547,14 +556,6 @@ const CreateFeature = class {
|
|
|
547
556
|
setTimeout(() => {
|
|
548
557
|
//on form submit
|
|
549
558
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
550
|
-
//on sketch complete emit the event
|
|
551
|
-
this._editor.viewModel.sketchViewModel.on("create", (evt) => {
|
|
552
|
-
if (evt.state === "complete") {
|
|
553
|
-
this._showSearchWidget = false;
|
|
554
|
-
this.progressStatus.emit(1);
|
|
555
|
-
this.drawComplete.emit();
|
|
556
|
-
}
|
|
557
|
-
});
|
|
558
559
|
//hides the header and footer elements in editor widget
|
|
559
560
|
this.hideEditorsElements().then(() => {
|
|
560
561
|
resolve({});
|
|
@@ -668,13 +669,13 @@ const CreateFeature = class {
|
|
|
668
669
|
* @protected
|
|
669
670
|
*/
|
|
670
671
|
async hideEditorsElements() {
|
|
671
|
-
var _a;
|
|
672
|
+
var _a, _b;
|
|
672
673
|
if (!this.customizeSubmit) {
|
|
673
674
|
return;
|
|
674
675
|
}
|
|
675
676
|
await this.timeout(700);
|
|
676
677
|
//hides the header and footer on the featureForm
|
|
677
|
-
(_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null ||
|
|
678
|
+
(_b = (_a = this.el.querySelector('.esri-editor')) === null || _a === void 0 ? void 0 : _a.querySelectorAll('calcite-flow-item')) === null || _b === void 0 ? void 0 : _b.forEach((flowItem) => {
|
|
678
679
|
var _a, _b, _c, _d, _e;
|
|
679
680
|
const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
|
|
680
681
|
//hide the header
|
|
@@ -742,6 +743,7 @@ const CreateRelatedFeature = class {
|
|
|
742
743
|
this.success = index.createEvent(this, "success", 7);
|
|
743
744
|
this.fail = index.createEvent(this, "fail", 7);
|
|
744
745
|
this.isActionPending = index.createEvent(this, "isActionPending", 7);
|
|
746
|
+
this.formReady = index.createEvent(this, "formReady", 7);
|
|
745
747
|
/**
|
|
746
748
|
* boolean: Flag to maintain form submission using submit button
|
|
747
749
|
*/
|
|
@@ -834,7 +836,7 @@ const CreateRelatedFeature = class {
|
|
|
834
836
|
}
|
|
835
837
|
render() {
|
|
836
838
|
const loaderClass = this._editorLoading ? "" : "display-none";
|
|
837
|
-
return (index.h("calcite-loader", { key: '
|
|
839
|
+
return (index.h("calcite-loader", { key: '5302b1166a175b0605604792cd40b9d3fbfabd02', class: loaderClass, label: "", scale: "s" }));
|
|
838
840
|
}
|
|
839
841
|
/**
|
|
840
842
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
@@ -882,6 +884,13 @@ const CreateRelatedFeature = class {
|
|
|
882
884
|
}
|
|
883
885
|
});
|
|
884
886
|
this._editor.viewModel.addHandles(attachmentHandle);
|
|
887
|
+
//Add handle to watch featureFormViewModel ready state
|
|
888
|
+
const formHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
889
|
+
if (state === 'ready') {
|
|
890
|
+
this.formReady.emit();
|
|
891
|
+
}
|
|
892
|
+
});
|
|
893
|
+
this._editor.viewModel.addHandles(formHandle);
|
|
885
894
|
}
|
|
886
895
|
/**
|
|
887
896
|
* Start creating the feature feature form
|
|
@@ -907,8 +916,6 @@ const CreateRelatedFeature = class {
|
|
|
907
916
|
await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
|
|
908
917
|
//hides the header and footer elements in editor widget
|
|
909
918
|
await this.hideEditorsElements();
|
|
910
|
-
// Emit an event to show submit cancel buttons
|
|
911
|
-
this.isActionPending.emit(false);
|
|
912
919
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
913
920
|
}
|
|
914
921
|
/**
|
|
@@ -1316,10 +1323,6 @@ const FeatureDetails = class {
|
|
|
1316
1323
|
const param = { updateFeatures: [newGraphicInstance] };
|
|
1317
1324
|
await selectedLayer.applyEdits(param).then(() => {
|
|
1318
1325
|
this._selectedGraphic = selectFeatureAttr;
|
|
1319
|
-
//update the current graphics in info card so that, the updated values are reflected in popup content
|
|
1320
|
-
if (this._infoCard) {
|
|
1321
|
-
void this._infoCard.updateCurrentGraphic(this._selectedGraphic);
|
|
1322
|
-
}
|
|
1323
1326
|
//store the like dislike value for the current selected graphic in local storage
|
|
1324
1327
|
this.setInLocalStorage();
|
|
1325
1328
|
this._updating = false;
|
|
@@ -113,7 +113,7 @@ const CrowdsourceReporter = class {
|
|
|
113
113
|
*/
|
|
114
114
|
render() {
|
|
115
115
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
|
116
|
-
return (index.h(index.Host, { key: '
|
|
116
|
+
return (index.h(index.Host, { key: 'e512e2693a586f8a6da7bcfa171feb60da26aee3' }, this._reportSubmitted && index.h("calcite-alert", { key: 'e5805ba948f1dc43eba2a78716af452cf71a8222', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, index.h("div", { key: '95b9accf1f09186c09c81cfb02a8939c4869ae8d', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && index.h("calcite-alert", { key: 'cab7f0e0f0d882612b4fa6f00799be9870aea6c5', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, index.h("div", { key: 'b9453672d85e26cf7bdeae0923cd36020d259d49', slot: "title" }, this._translations.error), index.h("div", { key: '5084315857bc88b8f80aaa411ac3fd5e4493e918', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && index.h("calcite-alert", { key: '62b7d9818913c3331ca9c8e4ed23c7f0c48a7946', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, index.h("div", { key: '5f18444fd375657db0c2a403cb453ead75536181', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && index.h("calcite-alert", { key: '732f08960095fc9fefcc79fc8df387a5a4c3f781', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, index.h("div", { key: '16415430cf33ce53c0d49cab19dce2c3e34257d6', slot: "title" }, this._translations.error), index.h("div", { key: '83e5918e00902bd49512165f4aa62813cecb4619', slot: "message" }, this._translations.addingCommentFailedMsg)), index.h("div", { key: '3e9dadd880319708e64e717ba7e7adaddf97b935' }, index.h("calcite-shell", { key: 'c72664d361b3904bc191668207c3ad31ff1f98c9', "content-behind": true }, this._getReporter())), this.filterModal()));
|
|
117
117
|
}
|
|
118
118
|
//--------------------------------------------------------------------------
|
|
119
119
|
//
|
|
@@ -290,7 +290,7 @@ const CrowdsourceReporter = class {
|
|
|
290
290
|
* @protected
|
|
291
291
|
*/
|
|
292
292
|
getFeatureCreateFlowItem() {
|
|
293
|
-
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), this._showSubmitCancelButton && index.h("div", { class: "width-full", slot: "footer" }, index.h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), index.h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), index.h("calcite-panel", { "full-height": true, "full-width": true }, index.h("div", { class: "progress-bar" }, index.h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), index.h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, index.h("div", { slot: "message" }, this._translations.featureEditFormInfoMsg)), index.h("create-feature", { customizeSubmit: true, mapView: this.mapView, onDrawComplete: this.
|
|
293
|
+
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), this._showSubmitCancelButton && index.h("div", { class: "width-full", slot: "footer" }, index.h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), index.h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), index.h("calcite-panel", { "full-height": true, "full-width": true }, index.h("div", { class: "progress-bar" }, index.h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), index.h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, index.h("div", { slot: "message" }, this._translations.featureEditFormInfoMsg)), index.h("create-feature", { customizeSubmit: true, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
|
|
294
294
|
}
|
|
295
295
|
/**
|
|
296
296
|
* Update the progress bar status when editor panel changes
|
|
@@ -301,10 +301,12 @@ const CrowdsourceReporter = class {
|
|
|
301
301
|
this._updatedProgressBarStatus = evt.detail;
|
|
302
302
|
}
|
|
303
303
|
/**
|
|
304
|
-
* When
|
|
304
|
+
* When form is ready then show submit and cancel button
|
|
305
305
|
* @protected
|
|
306
306
|
*/
|
|
307
|
-
|
|
307
|
+
onFormReady() {
|
|
308
|
+
// update the form state when form is ready
|
|
309
|
+
this.updateFormState(true);
|
|
308
310
|
this._showSubmitCancelButton = true;
|
|
309
311
|
}
|
|
310
312
|
/**
|
|
@@ -331,6 +333,10 @@ const CrowdsourceReporter = class {
|
|
|
331
333
|
if (this._createFeature) {
|
|
332
334
|
void this._createFeature.close();
|
|
333
335
|
}
|
|
336
|
+
//on back form will be closed, so update the form state
|
|
337
|
+
if (this.isFormOpen) {
|
|
338
|
+
this.updateFormState(false);
|
|
339
|
+
}
|
|
334
340
|
this.backFromSelectedPanel();
|
|
335
341
|
}
|
|
336
342
|
/**
|
|
@@ -351,6 +357,10 @@ const CrowdsourceReporter = class {
|
|
|
351
357
|
void this._createRelatedFeature.close();
|
|
352
358
|
this._showSubmitCancelButton = false;
|
|
353
359
|
}
|
|
360
|
+
//on back form will be closed, so update the form state
|
|
361
|
+
if (this.isFormOpen) {
|
|
362
|
+
this.updateFormState(false);
|
|
363
|
+
}
|
|
354
364
|
this.backFromSelectedPanel();
|
|
355
365
|
}
|
|
356
366
|
/**
|
|
@@ -367,6 +377,10 @@ const CrowdsourceReporter = class {
|
|
|
367
377
|
* @protected
|
|
368
378
|
*/
|
|
369
379
|
onReportSubmitted() {
|
|
380
|
+
//on report submit form will be closed, so update the form state
|
|
381
|
+
if (this.isFormOpen) {
|
|
382
|
+
this.updateFormState(false);
|
|
383
|
+
}
|
|
370
384
|
this._reportSubmitted = true;
|
|
371
385
|
void this.navigateToHomePage();
|
|
372
386
|
}
|
|
@@ -503,7 +517,16 @@ const CrowdsourceReporter = class {
|
|
|
503
517
|
*/
|
|
504
518
|
toggleSidePanel() {
|
|
505
519
|
this._sidePanelCollapsed = !this._sidePanelCollapsed;
|
|
506
|
-
this.togglePanel.emit(this._sidePanelCollapsed);
|
|
520
|
+
this.togglePanel.emit({ panelState: this._sidePanelCollapsed, isFormOpen: this.isFormOpen });
|
|
521
|
+
}
|
|
522
|
+
/**
|
|
523
|
+
* Hide map when form open in case of mobile
|
|
524
|
+
* @param isFormOpen updated form state
|
|
525
|
+
* @protected
|
|
526
|
+
*/
|
|
527
|
+
updateFormState(isFormOpen) {
|
|
528
|
+
this.isFormOpen = isFormOpen;
|
|
529
|
+
this.togglePanel.emit({ panelState: this._sidePanelCollapsed, isFormOpen: this.isFormOpen });
|
|
507
530
|
}
|
|
508
531
|
/**
|
|
509
532
|
* When feature is selected from list store that and show feature details
|
|
@@ -598,7 +621,7 @@ const CrowdsourceReporter = class {
|
|
|
598
621
|
* @returns Node
|
|
599
622
|
*/
|
|
600
623
|
getAddCommentFlowItem() {
|
|
601
|
-
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), index.h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && index.h("div", { class: "width-full", slot: "footer" }, index.h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), index.h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), index.h("calcite-panel", null, index.h("create-related-feature", { customizeSubmit: true, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
|
|
624
|
+
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), index.h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && index.h("div", { class: "width-full", slot: "footer" }, index.h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), index.h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), index.h("calcite-panel", null, index.h("create-related-feature", { customizeSubmit: true, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
|
|
602
625
|
}
|
|
603
626
|
/**
|
|
604
627
|
* Sets the selected features and updates the first feature as the current selected feature
|
|
@@ -194,14 +194,23 @@ export class CreateFeature {
|
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
196
|
this._editor.viewModel.addHandles(handle);
|
|
197
|
+
//Add handle to watch featureFormViewModel ready state
|
|
198
|
+
const formHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
199
|
+
if (state === 'ready') {
|
|
200
|
+
this._showSearchWidget = false;
|
|
201
|
+
this.progressStatus.emit(1);
|
|
202
|
+
this.drawComplete.emit();
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
this._editor.viewModel.addHandles(formHandle);
|
|
197
206
|
//Add handle to watch editor viewmodel state and then show the search widget
|
|
198
|
-
const
|
|
207
|
+
const createFeatureHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
|
|
199
208
|
if (state === 'creating-features') {
|
|
200
209
|
this._editorLoading = true;
|
|
201
210
|
this._showSearchWidget = true;
|
|
202
211
|
}
|
|
203
212
|
});
|
|
204
|
-
this._editor.viewModel.addHandles(
|
|
213
|
+
this._editor.viewModel.addHandles(createFeatureHandle);
|
|
205
214
|
}
|
|
206
215
|
/**
|
|
207
216
|
* Start creating the feature
|
|
@@ -219,14 +228,6 @@ export class CreateFeature {
|
|
|
219
228
|
setTimeout(() => {
|
|
220
229
|
//on form submit
|
|
221
230
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
222
|
-
//on sketch complete emit the event
|
|
223
|
-
this._editor.viewModel.sketchViewModel.on("create", (evt) => {
|
|
224
|
-
if (evt.state === "complete") {
|
|
225
|
-
this._showSearchWidget = false;
|
|
226
|
-
this.progressStatus.emit(1);
|
|
227
|
-
this.drawComplete.emit();
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
231
|
//hides the header and footer elements in editor widget
|
|
231
232
|
this.hideEditorsElements().then(() => {
|
|
232
233
|
resolve({});
|
|
@@ -340,13 +341,13 @@ export class CreateFeature {
|
|
|
340
341
|
* @protected
|
|
341
342
|
*/
|
|
342
343
|
async hideEditorsElements() {
|
|
343
|
-
var _a;
|
|
344
|
+
var _a, _b;
|
|
344
345
|
if (!this.customizeSubmit) {
|
|
345
346
|
return;
|
|
346
347
|
}
|
|
347
348
|
await this.timeout(700);
|
|
348
349
|
//hides the header and footer on the featureForm
|
|
349
|
-
(_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null ||
|
|
350
|
+
(_b = (_a = this.el.querySelector('.esri-editor')) === null || _a === void 0 ? void 0 : _a.querySelectorAll('calcite-flow-item')) === null || _b === void 0 ? void 0 : _b.forEach((flowItem) => {
|
|
350
351
|
var _a, _b, _c, _d, _e;
|
|
351
352
|
const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
|
|
352
353
|
//hide the header
|
|
@@ -114,7 +114,7 @@ export class CreateRelatedFeature {
|
|
|
114
114
|
}
|
|
115
115
|
render() {
|
|
116
116
|
const loaderClass = this._editorLoading ? "" : "display-none";
|
|
117
|
-
return (h("calcite-loader", { key: '
|
|
117
|
+
return (h("calcite-loader", { key: '5302b1166a175b0605604792cd40b9d3fbfabd02', class: loaderClass, label: "", scale: "s" }));
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
120
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
@@ -162,6 +162,13 @@ export class CreateRelatedFeature {
|
|
|
162
162
|
}
|
|
163
163
|
});
|
|
164
164
|
this._editor.viewModel.addHandles(attachmentHandle);
|
|
165
|
+
//Add handle to watch featureFormViewModel ready state
|
|
166
|
+
const formHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
167
|
+
if (state === 'ready') {
|
|
168
|
+
this.formReady.emit();
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
this._editor.viewModel.addHandles(formHandle);
|
|
165
172
|
}
|
|
166
173
|
/**
|
|
167
174
|
* Start creating the feature feature form
|
|
@@ -187,8 +194,6 @@ export class CreateRelatedFeature {
|
|
|
187
194
|
await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
|
|
188
195
|
//hides the header and footer elements in editor widget
|
|
189
196
|
await this.hideEditorsElements();
|
|
190
|
-
// Emit an event to show submit cancel buttons
|
|
191
|
-
this.isActionPending.emit(false);
|
|
192
197
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
193
198
|
}
|
|
194
199
|
/**
|
|
@@ -422,6 +427,21 @@ export class CreateRelatedFeature {
|
|
|
422
427
|
"resolved": "boolean",
|
|
423
428
|
"references": {}
|
|
424
429
|
}
|
|
430
|
+
}, {
|
|
431
|
+
"method": "formReady",
|
|
432
|
+
"name": "formReady",
|
|
433
|
+
"bubbles": true,
|
|
434
|
+
"cancelable": true,
|
|
435
|
+
"composed": true,
|
|
436
|
+
"docs": {
|
|
437
|
+
"tags": [],
|
|
438
|
+
"text": "Emitted on demand when form is ready"
|
|
439
|
+
},
|
|
440
|
+
"complexType": {
|
|
441
|
+
"original": "void",
|
|
442
|
+
"resolved": "void",
|
|
443
|
+
"references": {}
|
|
444
|
+
}
|
|
425
445
|
}];
|
|
426
446
|
}
|
|
427
447
|
static get methods() {
|
|
@@ -118,7 +118,7 @@ export class CrowdsourceReporter {
|
|
|
118
118
|
*/
|
|
119
119
|
render() {
|
|
120
120
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
|
121
|
-
return (h(Host, { key: '
|
|
121
|
+
return (h(Host, { key: 'e512e2693a586f8a6da7bcfa171feb60da26aee3' }, this._reportSubmitted && h("calcite-alert", { key: 'e5805ba948f1dc43eba2a78716af452cf71a8222', "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: '95b9accf1f09186c09c81cfb02a8939c4869ae8d', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: 'cab7f0e0f0d882612b4fa6f00799be9870aea6c5', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: 'b9453672d85e26cf7bdeae0923cd36020d259d49', slot: "title" }, this._translations.error), h("div", { key: '5084315857bc88b8f80aaa411ac3fd5e4493e918', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '62b7d9818913c3331ca9c8e4ed23c7f0c48a7946', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '5f18444fd375657db0c2a403cb453ead75536181', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '732f08960095fc9fefcc79fc8df387a5a4c3f781', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '16415430cf33ce53c0d49cab19dce2c3e34257d6', slot: "title" }, this._translations.error), h("div", { key: '83e5918e00902bd49512165f4aa62813cecb4619', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '3e9dadd880319708e64e717ba7e7adaddf97b935' }, h("calcite-shell", { key: 'c72664d361b3904bc191668207c3ad31ff1f98c9', "content-behind": true }, this._getReporter())), this.filterModal()));
|
|
122
122
|
}
|
|
123
123
|
//--------------------------------------------------------------------------
|
|
124
124
|
//
|
|
@@ -295,7 +295,7 @@ export class CrowdsourceReporter {
|
|
|
295
295
|
* @protected
|
|
296
296
|
*/
|
|
297
297
|
getFeatureCreateFlowItem() {
|
|
298
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), 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.featureEditFormInfoMsg)), h("create-feature", { customizeSubmit: true, mapView: this.mapView, onDrawComplete: this.
|
|
298
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), 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.featureEditFormInfoMsg)), h("create-feature", { customizeSubmit: true, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
|
|
299
299
|
}
|
|
300
300
|
/**
|
|
301
301
|
* Update the progress bar status when editor panel changes
|
|
@@ -306,10 +306,12 @@ export class CrowdsourceReporter {
|
|
|
306
306
|
this._updatedProgressBarStatus = evt.detail;
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
|
-
* When
|
|
309
|
+
* When form is ready then show submit and cancel button
|
|
310
310
|
* @protected
|
|
311
311
|
*/
|
|
312
|
-
|
|
312
|
+
onFormReady() {
|
|
313
|
+
// update the form state when form is ready
|
|
314
|
+
this.updateFormState(true);
|
|
313
315
|
this._showSubmitCancelButton = true;
|
|
314
316
|
}
|
|
315
317
|
/**
|
|
@@ -336,6 +338,10 @@ export class CrowdsourceReporter {
|
|
|
336
338
|
if (this._createFeature) {
|
|
337
339
|
void this._createFeature.close();
|
|
338
340
|
}
|
|
341
|
+
//on back form will be closed, so update the form state
|
|
342
|
+
if (this.isFormOpen) {
|
|
343
|
+
this.updateFormState(false);
|
|
344
|
+
}
|
|
339
345
|
this.backFromSelectedPanel();
|
|
340
346
|
}
|
|
341
347
|
/**
|
|
@@ -356,6 +362,10 @@ export class CrowdsourceReporter {
|
|
|
356
362
|
void this._createRelatedFeature.close();
|
|
357
363
|
this._showSubmitCancelButton = false;
|
|
358
364
|
}
|
|
365
|
+
//on back form will be closed, so update the form state
|
|
366
|
+
if (this.isFormOpen) {
|
|
367
|
+
this.updateFormState(false);
|
|
368
|
+
}
|
|
359
369
|
this.backFromSelectedPanel();
|
|
360
370
|
}
|
|
361
371
|
/**
|
|
@@ -372,6 +382,10 @@ export class CrowdsourceReporter {
|
|
|
372
382
|
* @protected
|
|
373
383
|
*/
|
|
374
384
|
onReportSubmitted() {
|
|
385
|
+
//on report submit form will be closed, so update the form state
|
|
386
|
+
if (this.isFormOpen) {
|
|
387
|
+
this.updateFormState(false);
|
|
388
|
+
}
|
|
375
389
|
this._reportSubmitted = true;
|
|
376
390
|
void this.navigateToHomePage();
|
|
377
391
|
}
|
|
@@ -508,7 +522,16 @@ export class CrowdsourceReporter {
|
|
|
508
522
|
*/
|
|
509
523
|
toggleSidePanel() {
|
|
510
524
|
this._sidePanelCollapsed = !this._sidePanelCollapsed;
|
|
511
|
-
this.togglePanel.emit(this._sidePanelCollapsed);
|
|
525
|
+
this.togglePanel.emit({ panelState: this._sidePanelCollapsed, isFormOpen: this.isFormOpen });
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Hide map when form open in case of mobile
|
|
529
|
+
* @param isFormOpen updated form state
|
|
530
|
+
* @protected
|
|
531
|
+
*/
|
|
532
|
+
updateFormState(isFormOpen) {
|
|
533
|
+
this.isFormOpen = isFormOpen;
|
|
534
|
+
this.togglePanel.emit({ panelState: this._sidePanelCollapsed, isFormOpen: this.isFormOpen });
|
|
512
535
|
}
|
|
513
536
|
/**
|
|
514
537
|
* When feature is selected from list store that and show feature details
|
|
@@ -603,7 +626,7 @@ export class CrowdsourceReporter {
|
|
|
603
626
|
* @returns Node
|
|
604
627
|
*/
|
|
605
628
|
getAddCommentFlowItem() {
|
|
606
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
|
|
629
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
|
|
607
630
|
}
|
|
608
631
|
/**
|
|
609
632
|
* Sets the selected features and updates the first feature as the current selected feature
|
|
@@ -1425,8 +1448,8 @@ export class CrowdsourceReporter {
|
|
|
1425
1448
|
"text": "Emitted when toggle panel button is clicked in reporter"
|
|
1426
1449
|
},
|
|
1427
1450
|
"complexType": {
|
|
1428
|
-
"original": "boolean",
|
|
1429
|
-
"resolved": "boolean",
|
|
1451
|
+
"original": "{panelState: boolean, isFormOpen: boolean}",
|
|
1452
|
+
"resolved": "{ panelState: boolean; isFormOpen: boolean; }",
|
|
1430
1453
|
"references": {}
|
|
1431
1454
|
}
|
|
1432
1455
|
}];
|
|
@@ -329,10 +329,6 @@ export class FeatureDetails {
|
|
|
329
329
|
const param = { updateFeatures: [newGraphicInstance] };
|
|
330
330
|
await selectedLayer.applyEdits(param).then(() => {
|
|
331
331
|
this._selectedGraphic = selectFeatureAttr;
|
|
332
|
-
//update the current graphics in info card so that, the updated values are reflected in popup content
|
|
333
|
-
if (this._infoCard) {
|
|
334
|
-
void this._infoCard.updateCurrentGraphic(this._selectedGraphic);
|
|
335
|
-
}
|
|
336
332
|
//store the like dislike value for the current selected graphic in local storage
|
|
337
333
|
this.setInLocalStorage();
|
|
338
334
|
this._updating = false;
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
}
|
|
41
41
|
.over-map[dir="rtl"] {
|
|
42
42
|
right: 0px;
|
|
43
|
+
left: auto;
|
|
43
44
|
}
|
|
44
45
|
.column {
|
|
45
46
|
width: 360px;
|
|
@@ -72,6 +73,13 @@
|
|
|
72
73
|
top: calc(100% - 100px);
|
|
73
74
|
height: 100px;
|
|
74
75
|
}
|
|
76
|
+
|
|
77
|
+
.map-collapsed {
|
|
78
|
+
height: 100%;
|
|
79
|
+
top: 0;
|
|
80
|
+
width: 100%;
|
|
81
|
+
z-index: 1000;
|
|
82
|
+
}
|
|
75
83
|
}
|
|
76
84
|
</style>
|
|
77
85
|
|
|
@@ -295,22 +303,38 @@
|
|
|
295
303
|
//on change update the prop for is mobile
|
|
296
304
|
mediaQueryList.onchange = (e) => {
|
|
297
305
|
demo.isMobile = e.matches;
|
|
298
|
-
togglePanel({ detail: false })
|
|
306
|
+
togglePanel({ detail: { panelState: false, isFormOpen: false } })
|
|
299
307
|
}
|
|
300
308
|
//listen to togglePanel event
|
|
301
309
|
demo.addEventListener('togglePanel', togglePanel);
|
|
302
310
|
});
|
|
303
311
|
|
|
304
|
-
|
|
305
|
-
const
|
|
312
|
+
function togglePanel(evt) {
|
|
313
|
+
const panelState = evt.detail.panelState;
|
|
314
|
+
const hideMap = evt.detail.isFormOpen;
|
|
306
315
|
const viewDiv = document.getElementById("viewDiv");
|
|
307
316
|
const demo = document.getElementById("demo");
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
317
|
+
// in case of form is open then collapse the map
|
|
318
|
+
if (hideMap) {
|
|
319
|
+
if (panelState) {
|
|
320
|
+
demo.classList.remove("map-collapsed");
|
|
321
|
+
demo.classList.add("column-collapsed");
|
|
322
|
+
viewDiv.classList.add("map-with-panel-collapsed");
|
|
323
|
+
} else {
|
|
324
|
+
demo.classList.add("map-collapsed");
|
|
325
|
+
demo.classList.remove("column-collapsed");
|
|
326
|
+
viewDiv.classList.remove("map-with-panel-collapsed");
|
|
327
|
+
}
|
|
311
328
|
} else {
|
|
312
|
-
|
|
313
|
-
|
|
329
|
+
if (panelState) {
|
|
330
|
+
demo.classList.add("column-collapsed");
|
|
331
|
+
viewDiv.classList.add("map-with-panel-collapsed");
|
|
332
|
+
demo.classList.remove("map-collapsed");
|
|
333
|
+
} else {
|
|
334
|
+
demo.classList.remove("column-collapsed");
|
|
335
|
+
viewDiv.classList.remove("map-with-panel-collapsed");
|
|
336
|
+
demo.classList.remove("map-collapsed");
|
|
337
|
+
}
|
|
314
338
|
}
|
|
315
339
|
}
|
|
316
340
|
</script>
|
|
@@ -191,14 +191,23 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
|
|
|
191
191
|
}
|
|
192
192
|
});
|
|
193
193
|
this._editor.viewModel.addHandles(handle);
|
|
194
|
+
//Add handle to watch featureFormViewModel ready state
|
|
195
|
+
const formHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
196
|
+
if (state === 'ready') {
|
|
197
|
+
this._showSearchWidget = false;
|
|
198
|
+
this.progressStatus.emit(1);
|
|
199
|
+
this.drawComplete.emit();
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
this._editor.viewModel.addHandles(formHandle);
|
|
194
203
|
//Add handle to watch editor viewmodel state and then show the search widget
|
|
195
|
-
const
|
|
204
|
+
const createFeatureHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
|
|
196
205
|
if (state === 'creating-features') {
|
|
197
206
|
this._editorLoading = true;
|
|
198
207
|
this._showSearchWidget = true;
|
|
199
208
|
}
|
|
200
209
|
});
|
|
201
|
-
this._editor.viewModel.addHandles(
|
|
210
|
+
this._editor.viewModel.addHandles(createFeatureHandle);
|
|
202
211
|
}
|
|
203
212
|
/**
|
|
204
213
|
* Start creating the feature
|
|
@@ -216,14 +225,6 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
|
|
|
216
225
|
setTimeout(() => {
|
|
217
226
|
//on form submit
|
|
218
227
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
219
|
-
//on sketch complete emit the event
|
|
220
|
-
this._editor.viewModel.sketchViewModel.on("create", (evt) => {
|
|
221
|
-
if (evt.state === "complete") {
|
|
222
|
-
this._showSearchWidget = false;
|
|
223
|
-
this.progressStatus.emit(1);
|
|
224
|
-
this.drawComplete.emit();
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
228
|
//hides the header and footer elements in editor widget
|
|
228
229
|
this.hideEditorsElements().then(() => {
|
|
229
230
|
resolve({});
|
|
@@ -337,13 +338,13 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
|
|
|
337
338
|
* @protected
|
|
338
339
|
*/
|
|
339
340
|
async hideEditorsElements() {
|
|
340
|
-
var _a;
|
|
341
|
+
var _a, _b;
|
|
341
342
|
if (!this.customizeSubmit) {
|
|
342
343
|
return;
|
|
343
344
|
}
|
|
344
345
|
await this.timeout(700);
|
|
345
346
|
//hides the header and footer on the featureForm
|
|
346
|
-
(_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null ||
|
|
347
|
+
(_b = (_a = this.el.querySelector('.esri-editor')) === null || _a === void 0 ? void 0 : _a.querySelectorAll('calcite-flow-item')) === null || _b === void 0 ? void 0 : _b.forEach((flowItem) => {
|
|
347
348
|
var _a, _b, _c, _d, _e;
|
|
348
349
|
const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
|
|
349
350
|
//hide the header
|
|
@@ -17,6 +17,7 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
|
|
|
17
17
|
this.success = createEvent(this, "success", 7);
|
|
18
18
|
this.fail = createEvent(this, "fail", 7);
|
|
19
19
|
this.isActionPending = createEvent(this, "isActionPending", 7);
|
|
20
|
+
this.formReady = createEvent(this, "formReady", 7);
|
|
20
21
|
/**
|
|
21
22
|
* boolean: Flag to maintain form submission using submit button
|
|
22
23
|
*/
|
|
@@ -109,7 +110,7 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
|
|
|
109
110
|
}
|
|
110
111
|
render() {
|
|
111
112
|
const loaderClass = this._editorLoading ? "" : "display-none";
|
|
112
|
-
return (h("calcite-loader", { key: '
|
|
113
|
+
return (h("calcite-loader", { key: '5302b1166a175b0605604792cd40b9d3fbfabd02', class: loaderClass, label: "", scale: "s" }));
|
|
113
114
|
}
|
|
114
115
|
/**
|
|
115
116
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
@@ -157,6 +158,13 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
|
|
|
157
158
|
}
|
|
158
159
|
});
|
|
159
160
|
this._editor.viewModel.addHandles(attachmentHandle);
|
|
161
|
+
//Add handle to watch featureFormViewModel ready state
|
|
162
|
+
const formHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
163
|
+
if (state === 'ready') {
|
|
164
|
+
this.formReady.emit();
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
this._editor.viewModel.addHandles(formHandle);
|
|
160
168
|
}
|
|
161
169
|
/**
|
|
162
170
|
* Start creating the feature feature form
|
|
@@ -182,8 +190,6 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
|
|
|
182
190
|
await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
|
|
183
191
|
//hides the header and footer elements in editor widget
|
|
184
192
|
await this.hideEditorsElements();
|
|
185
|
-
// Emit an event to show submit cancel buttons
|
|
186
|
-
this.isActionPending.emit(false);
|
|
187
193
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
188
194
|
}
|
|
189
195
|
/**
|