@esri/solutions-components 0.8.7 → 0.8.9
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/assets/t9n/crowdsource-reporter/resources.json +3 -1
- package/dist/assets/t9n/crowdsource-reporter/resources_en.json +3 -1
- package/dist/cjs/{calcite-action-menu_2.cjs.entry.js → calcite-action-menu_3.cjs.entry.js} +114 -7
- package/dist/cjs/calcite-alert_4.cjs.entry.js +46 -5
- package/dist/cjs/{calcite-input-date-picker_3.cjs.entry.js → calcite-block_5.cjs.entry.js} +691 -13
- package/dist/cjs/{calcite-combobox_5.cjs.entry.js → calcite-combobox_3.cjs.entry.js} +876 -844
- package/dist/cjs/calcite-dropdown_4.cjs.entry.js +1023 -0
- package/dist/cjs/{calcite-flow_5.cjs.entry.js → calcite-flow_6.cjs.entry.js} +327 -2
- package/dist/cjs/card-manager_3.cjs.entry.js +5 -5
- package/dist/cjs/crowdsource-manager.cjs.entry.js +5 -1
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +122 -23
- package/dist/cjs/{downloadUtils-8b05d7cc.js → downloadUtils-dc349b1a.js} +2 -2
- package/dist/cjs/{index.es-e7587227.js → index.es-1830a1e6.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +8 -8
- package/dist/cjs/{mapViewUtils-3e0fa457.js → mapViewUtils-9dc05308.js} +11 -5
- package/dist/cjs/public-notification.cjs.entry.js +2 -2
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/create-feature/create-feature.js +18 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +72 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +16 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +155 -71
- package/dist/collection/components/feature-details/feature-details.css +18 -0
- package/dist/collection/components/feature-details/feature-details.js +500 -0
- package/dist/collection/components/feature-details/test/feature-details.e2e.js +14 -0
- package/dist/collection/components/feature-details/test/feature-details.spec.js +22 -0
- package/dist/collection/components/feature-list/feature-list.js +14 -1
- package/dist/collection/components/info-card/info-card.css +15 -5
- package/dist/collection/components/info-card/info-card.js +178 -5
- package/dist/collection/components/layer-table/layer-table.js +2 -2
- package/dist/collection/components/map-card/map-card.js +1 -1
- package/dist/collection/components/map-select-tools/map-select-tools.js +5 -5
- package/dist/collection/components/refine-selection/refine-selection.js +1 -1
- package/dist/collection/demos/crowdsource-reporter.html +115 -1
- package/dist/collection/utils/interfaces.ts +4 -4
- package/dist/collection/utils/mapViewUtils.js +11 -5
- package/dist/collection/utils/mapViewUtils.ts +13 -5
- package/dist/components/create-feature2.js +4 -0
- package/dist/components/crowdsource-manager.js +8 -0
- package/dist/components/crowdsource-reporter.js +270 -85
- package/dist/components/feature-details.d.ts +11 -0
- package/dist/components/feature-details.js +11 -0
- package/dist/components/feature-details2.js +449 -0
- package/dist/components/feature-list2.js +14 -1
- package/dist/components/info-card2.js +53 -5
- package/dist/components/layer-table2.js +2 -2
- package/dist/components/map-card2.js +1 -1
- package/dist/components/map-select-tools2.js +5 -5
- package/dist/components/mapViewUtils.js +11 -5
- package/dist/components/refine-selection2.js +1 -1
- package/dist/esm/{calcite-action-menu_2.entry.js → calcite-action-menu_3.entry.js} +118 -12
- package/dist/esm/calcite-alert_4.entry.js +46 -5
- package/dist/esm/{calcite-input-date-picker_3.entry.js → calcite-block_5.entry.js} +688 -12
- package/dist/esm/{calcite-combobox_5.entry.js → calcite-combobox_3.entry.js} +878 -844
- package/dist/esm/calcite-date-picker-day_3.entry.js +1 -1
- package/dist/esm/calcite-dropdown_4.entry.js +1016 -0
- package/dist/esm/{calcite-flow_5.entry.js → calcite-flow_6.entry.js} +327 -3
- package/dist/esm/card-manager_3.entry.js +5 -5
- package/dist/esm/crowdsource-manager.entry.js +5 -1
- package/dist/esm/crowdsource-reporter.entry.js +122 -23
- package/dist/esm/{date-5630530d.js → date-0c026a8b.js} +1 -1
- package/dist/esm/{downloadUtils-0c1e4d7b.js → downloadUtils-df4f21f6.js} +2 -2
- package/dist/esm/{index.es-286e3cfa.js → index.es-904fb846.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +8 -8
- package/dist/esm/{mapViewUtils-253178f1.js → mapViewUtils-2ec19fb0.js} +11 -5
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +115 -1
- package/dist/solutions-components/{p-813fd8a4.entry.js → p-29f518fd.entry.js} +2 -2
- package/dist/solutions-components/p-452fd697.entry.js +6 -0
- package/dist/solutions-components/p-511b1c91.entry.js +23 -0
- package/dist/solutions-components/p-577efb16.js +36 -0
- package/dist/solutions-components/{p-94de9279.js → p-5817d78c.js} +1 -1
- package/dist/solutions-components/p-602cd811.entry.js +17 -0
- package/dist/solutions-components/{p-15f9624a.entry.js → p-6557b703.entry.js} +1 -1
- package/dist/solutions-components/p-7269c49b.entry.js +6 -0
- package/dist/solutions-components/p-760bd17e.entry.js +6 -0
- package/dist/solutions-components/p-95fea07a.entry.js +17 -0
- package/dist/solutions-components/{p-212b02e7.js → p-ae4d86e8.js} +1 -1
- package/dist/solutions-components/{p-038fcd93.entry.js → p-c273ab7a.entry.js} +1 -1
- package/dist/solutions-components/p-d742b915.entry.js +29 -0
- package/dist/solutions-components/p-dfad61a8.entry.js +24 -0
- package/dist/solutions-components/{p-331b5d1e.js → p-fca434c8.js} +2 -2
- package/dist/solutions-components/p-fd82a00f.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +4 -4
- package/dist/solutions-components/utils/mapViewUtils.ts +13 -5
- package/dist/types/components/create-feature/create-feature.d.ts +4 -4
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +16 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +91 -18
- package/dist/types/components/feature-details/feature-details.d.ts +151 -0
- package/dist/types/components/feature-list/feature-list.d.ts +6 -0
- package/dist/types/components/info-card/info-card.d.ts +33 -1
- package/dist/types/components.d.ts +161 -28
- package/dist/types/preact.d.ts +6 -1
- package/dist/types/utils/interfaces.d.ts +4 -4
- package/dist/types/utils/mapViewUtils.d.ts +5 -3
- package/package.json +1 -1
- package/dist/cjs/calcite-block_2.cjs.entry.js +0 -652
- package/dist/cjs/calcite-graph_2.cjs.entry.js +0 -1055
- package/dist/cjs/calcite-scrim.cjs.entry.js +0 -125
- package/dist/cjs/utils-7bc7f595.js +0 -64
- package/dist/esm/calcite-block_2.entry.js +0 -647
- package/dist/esm/calcite-graph_2.entry.js +0 -1050
- package/dist/esm/calcite-scrim.entry.js +0 -121
- package/dist/esm/utils-9fb4104a.js +0 -61
- package/dist/solutions-components/p-04c37d69.entry.js +0 -17
- package/dist/solutions-components/p-0b92e4b1.entry.js +0 -11
- package/dist/solutions-components/p-238d3b5f.entry.js +0 -6
- package/dist/solutions-components/p-3af79063.js +0 -36
- package/dist/solutions-components/p-6db185bf.entry.js +0 -6
- package/dist/solutions-components/p-80b11ec1.entry.js +0 -17
- package/dist/solutions-components/p-aec06ce4.entry.js +0 -18
- package/dist/solutions-components/p-bfdf89c2.js +0 -11
- package/dist/solutions-components/p-c4ff3b52.entry.js +0 -17
- package/dist/solutions-components/p-ced067bd.entry.js +0 -17
- package/dist/solutions-components/p-d136eab0.entry.js +0 -23
- package/dist/solutions-components/p-e0446d5b.entry.js +0 -6
- package/dist/solutions-components/p-e8f13354.entry.js +0 -6
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"components/delete-button/delete-button.js",
|
|
14
14
|
"components/edit-card/edit-card.js",
|
|
15
15
|
"components/feature-comments/feature-comments.js",
|
|
16
|
+
"components/feature-details/feature-details.js",
|
|
16
17
|
"components/feature-form-flow-item/feature-form-flow-item.js",
|
|
17
18
|
"components/feature-list/feature-list.js",
|
|
18
19
|
"components/features-flow-item/features-flow-item.js",
|
|
@@ -167,6 +167,7 @@ export class CreateFeature {
|
|
|
167
167
|
//Add handle to watch featureTemplatesViewModel ready state and then start the creation
|
|
168
168
|
const handle = this.reactiveUtils.watch(() => this._editor.viewModel.featureTemplatesViewModel.state, (state) => {
|
|
169
169
|
if (state === 'ready') {
|
|
170
|
+
this.progressStatus.emit(0.5);
|
|
170
171
|
void this.startCreate();
|
|
171
172
|
}
|
|
172
173
|
});
|
|
@@ -190,6 +191,7 @@ export class CreateFeature {
|
|
|
190
191
|
//once the feature template is selected handle the event for formSubmit and sketch complete
|
|
191
192
|
//also, hide the headers and footer in the editor as we will be showing our own submit and cancel button
|
|
192
193
|
this._editor.viewModel.featureTemplatesViewModel.on('select', () => {
|
|
194
|
+
this.progressStatus.emit(0.75);
|
|
193
195
|
setTimeout(() => {
|
|
194
196
|
//on form submit
|
|
195
197
|
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
@@ -197,6 +199,7 @@ export class CreateFeature {
|
|
|
197
199
|
this._editor.viewModel.sketchViewModel.on("create", (evt) => {
|
|
198
200
|
if (evt.state === "complete") {
|
|
199
201
|
this.showSearchWidget = false;
|
|
202
|
+
this.progressStatus.emit(1);
|
|
200
203
|
this.drawComplete.emit();
|
|
201
204
|
}
|
|
202
205
|
});
|
|
@@ -516,6 +519,21 @@ export class CreateFeature {
|
|
|
516
519
|
"resolved": "boolean",
|
|
517
520
|
"references": {}
|
|
518
521
|
}
|
|
522
|
+
}, {
|
|
523
|
+
"method": "progressStatus",
|
|
524
|
+
"name": "progressStatus",
|
|
525
|
+
"bubbles": true,
|
|
526
|
+
"cancelable": true,
|
|
527
|
+
"composed": true,
|
|
528
|
+
"docs": {
|
|
529
|
+
"tags": [],
|
|
530
|
+
"text": "Emitted on demand when editor panel changes"
|
|
531
|
+
},
|
|
532
|
+
"complexType": {
|
|
533
|
+
"original": "number",
|
|
534
|
+
"resolved": "number",
|
|
535
|
+
"references": {}
|
|
536
|
+
}
|
|
519
537
|
}];
|
|
520
538
|
}
|
|
521
539
|
static get methods() {
|
|
@@ -67,6 +67,10 @@ export class CrowdsourceManager {
|
|
|
67
67
|
this.hideMapOnLoad = undefined;
|
|
68
68
|
this.mapInfos = [];
|
|
69
69
|
this.onlyShowUpdatableLayers = true;
|
|
70
|
+
this.popupHeaderColor = undefined;
|
|
71
|
+
this.popupHeaderHoverColor = undefined;
|
|
72
|
+
this.popupHeaderHoverTextColor = undefined;
|
|
73
|
+
this.popupHeaderTextColor = undefined;
|
|
70
74
|
this.searchConfiguration = undefined;
|
|
71
75
|
this.shareIncludeEmbed = undefined;
|
|
72
76
|
this.shareIncludeSocial = undefined;
|
|
@@ -926,6 +930,74 @@ export class CrowdsourceManager {
|
|
|
926
930
|
"reflect": false,
|
|
927
931
|
"defaultValue": "true"
|
|
928
932
|
},
|
|
933
|
+
"popupHeaderColor": {
|
|
934
|
+
"type": "string",
|
|
935
|
+
"mutable": false,
|
|
936
|
+
"complexType": {
|
|
937
|
+
"original": "string",
|
|
938
|
+
"resolved": "string",
|
|
939
|
+
"references": {}
|
|
940
|
+
},
|
|
941
|
+
"required": false,
|
|
942
|
+
"optional": false,
|
|
943
|
+
"docs": {
|
|
944
|
+
"tags": [],
|
|
945
|
+
"text": "string: The background color to apply to the popup header"
|
|
946
|
+
},
|
|
947
|
+
"attribute": "popup-header-color",
|
|
948
|
+
"reflect": false
|
|
949
|
+
},
|
|
950
|
+
"popupHeaderHoverColor": {
|
|
951
|
+
"type": "string",
|
|
952
|
+
"mutable": false,
|
|
953
|
+
"complexType": {
|
|
954
|
+
"original": "string",
|
|
955
|
+
"resolved": "string",
|
|
956
|
+
"references": {}
|
|
957
|
+
},
|
|
958
|
+
"required": false,
|
|
959
|
+
"optional": false,
|
|
960
|
+
"docs": {
|
|
961
|
+
"tags": [],
|
|
962
|
+
"text": "string: The color that will be displayed on hover when expanding the popup header"
|
|
963
|
+
},
|
|
964
|
+
"attribute": "popup-header-hover-color",
|
|
965
|
+
"reflect": false
|
|
966
|
+
},
|
|
967
|
+
"popupHeaderHoverTextColor": {
|
|
968
|
+
"type": "string",
|
|
969
|
+
"mutable": false,
|
|
970
|
+
"complexType": {
|
|
971
|
+
"original": "string",
|
|
972
|
+
"resolved": "string",
|
|
973
|
+
"references": {}
|
|
974
|
+
},
|
|
975
|
+
"required": false,
|
|
976
|
+
"optional": false,
|
|
977
|
+
"docs": {
|
|
978
|
+
"tags": [],
|
|
979
|
+
"text": "string: The font color that will be displayed on hover when expanding the popup header"
|
|
980
|
+
},
|
|
981
|
+
"attribute": "popup-header-hover-text-color",
|
|
982
|
+
"reflect": false
|
|
983
|
+
},
|
|
984
|
+
"popupHeaderTextColor": {
|
|
985
|
+
"type": "string",
|
|
986
|
+
"mutable": false,
|
|
987
|
+
"complexType": {
|
|
988
|
+
"original": "string",
|
|
989
|
+
"resolved": "string",
|
|
990
|
+
"references": {}
|
|
991
|
+
},
|
|
992
|
+
"required": false,
|
|
993
|
+
"optional": false,
|
|
994
|
+
"docs": {
|
|
995
|
+
"tags": [],
|
|
996
|
+
"text": "string: The font color to apply to the popup header"
|
|
997
|
+
},
|
|
998
|
+
"attribute": "popup-header-text-color",
|
|
999
|
+
"reflect": false
|
|
1000
|
+
},
|
|
929
1001
|
"searchConfiguration": {
|
|
930
1002
|
"type": "unknown",
|
|
931
1003
|
"mutable": false,
|
|
@@ -49,6 +49,10 @@
|
|
|
49
49
|
width: calc(100% - 20px);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
.progress-bar {
|
|
53
|
+
padding: 12px;
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
.footer-top-button {
|
|
53
57
|
padding-bottom: 7px;
|
|
54
58
|
}
|
|
@@ -57,6 +61,18 @@
|
|
|
57
61
|
height: 35px;
|
|
58
62
|
}
|
|
59
63
|
|
|
64
|
+
.feature-pagination {
|
|
65
|
+
align-items: center;
|
|
66
|
+
margin: 5% 124%;
|
|
67
|
+
display: flex;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.pagination-count {
|
|
71
|
+
width: 32px;
|
|
72
|
+
color: var(--calcite-color-brand);
|
|
73
|
+
border-bottom: 1px solid var(--calcite-color-brand);
|
|
74
|
+
}
|
|
75
|
+
|
|
60
76
|
.report-submitted-msg {
|
|
61
77
|
position: absolute;
|
|
62
78
|
z-index: 1000;
|
|
@@ -34,15 +34,12 @@ export class CrowdsourceReporter {
|
|
|
34
34
|
this.enableComments = undefined;
|
|
35
35
|
this.enableLogin = undefined;
|
|
36
36
|
this.enableNewReports = undefined;
|
|
37
|
-
this.layers = undefined;
|
|
38
37
|
this.loginTitle = undefined;
|
|
39
38
|
this.mapView = undefined;
|
|
40
39
|
this.layerId = undefined;
|
|
41
40
|
this.objectId = undefined;
|
|
42
41
|
this.center = undefined;
|
|
43
42
|
this.level = undefined;
|
|
44
|
-
this.popupHeaderHoverColor = undefined;
|
|
45
|
-
this.popupHeaderColor = undefined;
|
|
46
43
|
this.reportButtonText = undefined;
|
|
47
44
|
this.reportsHeader = undefined;
|
|
48
45
|
this.reportingOptions = undefined;
|
|
@@ -56,6 +53,7 @@ export class CrowdsourceReporter {
|
|
|
56
53
|
this.theme = "light";
|
|
57
54
|
this.enableZoom = true;
|
|
58
55
|
this.zoomToScale = undefined;
|
|
56
|
+
this.layerExpressions = undefined;
|
|
59
57
|
this._mapInfo = undefined;
|
|
60
58
|
this._flowItems = [];
|
|
61
59
|
this._sidePanelCollapsed = false;
|
|
@@ -64,7 +62,11 @@ export class CrowdsourceReporter {
|
|
|
64
62
|
this._selectedLayerName = undefined;
|
|
65
63
|
this._reportSubmitted = false;
|
|
66
64
|
this._showSubmitCancelButton = false;
|
|
65
|
+
this._loadingFeatureDetails = undefined;
|
|
67
66
|
this._featureCreationFailedErrorMsg = undefined;
|
|
67
|
+
this._updatedProgressBarStatus = 0.25;
|
|
68
|
+
this._filterOpen = false;
|
|
69
|
+
this._filterActive = false;
|
|
68
70
|
}
|
|
69
71
|
//--------------------------------------------------------------------------
|
|
70
72
|
//
|
|
@@ -85,6 +87,18 @@ export class CrowdsourceReporter {
|
|
|
85
87
|
await this.setMapView();
|
|
86
88
|
});
|
|
87
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* On Feature details change update the Layer title and the current selected layer id
|
|
92
|
+
* @param evt Event hold the details of current feature graphic in the info-card
|
|
93
|
+
*/
|
|
94
|
+
async selectionChanged(evt) {
|
|
95
|
+
void this.updatingFeatureDetails(true);
|
|
96
|
+
this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
|
97
|
+
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
|
98
|
+
this.selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
|
99
|
+
//update the feature details to reflect the like dislike values
|
|
100
|
+
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
|
101
|
+
}
|
|
88
102
|
//--------------------------------------------------------------------------
|
|
89
103
|
//
|
|
90
104
|
// Functions (lifecycle)
|
|
@@ -101,6 +115,10 @@ export class CrowdsourceReporter {
|
|
|
101
115
|
await this._initModules();
|
|
102
116
|
await this._getTranslations();
|
|
103
117
|
await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(async () => {
|
|
118
|
+
//set configured reporting layers array
|
|
119
|
+
this.layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
|
120
|
+
return this.reportingOptions[layerId].reporting;
|
|
121
|
+
}) : [];
|
|
104
122
|
await this.setMapView();
|
|
105
123
|
}));
|
|
106
124
|
}
|
|
@@ -109,7 +127,7 @@ export class CrowdsourceReporter {
|
|
|
109
127
|
*/
|
|
110
128
|
render() {
|
|
111
129
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
|
112
|
-
return (h(Host, null, this._reportSubmitted && h("calcite-alert", { "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this._featureCreationFailedErrorMsg)), h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter()))));
|
|
130
|
+
return (h(Host, null, this._reportSubmitted && h("calcite-alert", { "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this._featureCreationFailedErrorMsg)), h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter())), this.filterModal()));
|
|
113
131
|
}
|
|
114
132
|
//--------------------------------------------------------------------------
|
|
115
133
|
//
|
|
@@ -173,6 +191,54 @@ export class CrowdsourceReporter {
|
|
|
173
191
|
? h("calcite-flow", null, (renderLists === null || renderLists === void 0 ? void 0 : renderLists.length) > 0 && renderLists)
|
|
174
192
|
: h("calcite-loader", { label: "", scale: "m" })));
|
|
175
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Show filter component in modal
|
|
196
|
+
* @returns node to interact with any configured filters for the current layer
|
|
197
|
+
*/
|
|
198
|
+
filterModal() {
|
|
199
|
+
var _a, _b;
|
|
200
|
+
//get layer expression for current selected layer
|
|
201
|
+
const currentLayersExpressions = this.layerExpressions ? this.layerExpressions.filter((exp) => exp.id === this._selectedLayerId) : [];
|
|
202
|
+
return (currentLayersExpressions.length > 0 &&
|
|
203
|
+
h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: () => void this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filterLayerTitle) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", this._selectedLayerName)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: currentLayersExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView, zoomBtn: false }))));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Close the filter modal
|
|
207
|
+
* @protected
|
|
208
|
+
*/
|
|
209
|
+
_closeFilter() {
|
|
210
|
+
if (this._filterOpen) {
|
|
211
|
+
this._filterOpen = false;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* When true the filter modal will be displayed
|
|
216
|
+
* @protected
|
|
217
|
+
*/
|
|
218
|
+
_toggleFilter() {
|
|
219
|
+
this._filterOpen = !this._filterOpen;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Reset the filter active prop
|
|
223
|
+
* @protected
|
|
224
|
+
*/
|
|
225
|
+
_handleFilterListReset() {
|
|
226
|
+
//on reset filter list reset the filter active state
|
|
227
|
+
this._filterActive = false;
|
|
228
|
+
//reset the features list to reflect the applied filters
|
|
229
|
+
void this._featureList.refresh();
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Check if the layers definitionExpression has been modified
|
|
233
|
+
* @protected
|
|
234
|
+
*/
|
|
235
|
+
_handleFilterUpdate() {
|
|
236
|
+
//if filter are applied the url params will be generated
|
|
237
|
+
//set the filter active state based on the length of applied filters
|
|
238
|
+
this._filterActive = this._filterList.urlParams.getAll('filter').length > 0;
|
|
239
|
+
//reset the features list to reflect the applied filters
|
|
240
|
+
void this._featureList.refresh();
|
|
241
|
+
}
|
|
176
242
|
/**
|
|
177
243
|
* Get the feature layer list
|
|
178
244
|
* @returns the layer list items
|
|
@@ -189,7 +255,7 @@ export class CrowdsourceReporter {
|
|
|
189
255
|
* @protected
|
|
190
256
|
*/
|
|
191
257
|
getChooseCategoryFlowItem() {
|
|
192
|
-
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("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: this.layers, mapView: this.mapView, noLayerErrorMsg: this._noLayerToDisplayErrorMsg, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
|
258
|
+
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: this.layers, mapView: this.mapView, noLayerErrorMsg: this._noLayerToDisplayErrorMsg, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
|
193
259
|
}
|
|
194
260
|
/**
|
|
195
261
|
* Get Feature create form of the selected feature layer
|
|
@@ -197,7 +263,15 @@ export class CrowdsourceReporter {
|
|
|
197
263
|
* @protected
|
|
198
264
|
*/
|
|
199
265
|
getFeatureCreateFlowItem() {
|
|
200
|
-
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.onSubmitButtonClick.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("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.onDrawComplete.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
|
|
266
|
+
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.onSubmitButtonClick.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.onDrawComplete.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 }))));
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Update the progress bar status when editor panel changes
|
|
270
|
+
* @param evt Event which has progress bar status
|
|
271
|
+
* @protected
|
|
272
|
+
*/
|
|
273
|
+
updatedProgressStatus(evt) {
|
|
274
|
+
this._updatedProgressBarStatus = evt.detail;
|
|
201
275
|
}
|
|
202
276
|
/**
|
|
203
277
|
* When drawing of incident location completed on map show the submit and cancel button
|
|
@@ -219,7 +293,7 @@ export class CrowdsourceReporter {
|
|
|
219
293
|
*/
|
|
220
294
|
onSubmitButtonClick() {
|
|
221
295
|
if (this._createFeature) {
|
|
222
|
-
this._createFeature.submit();
|
|
296
|
+
void this._createFeature.submit();
|
|
223
297
|
}
|
|
224
298
|
}
|
|
225
299
|
/**
|
|
@@ -228,7 +302,7 @@ export class CrowdsourceReporter {
|
|
|
228
302
|
*/
|
|
229
303
|
backFromCreateFeaturePanel() {
|
|
230
304
|
if (this._createFeature) {
|
|
231
|
-
this._createFeature.close();
|
|
305
|
+
void this._createFeature.close();
|
|
232
306
|
}
|
|
233
307
|
this.backFromSelectedPanel();
|
|
234
308
|
}
|
|
@@ -255,10 +329,10 @@ export class CrowdsourceReporter {
|
|
|
255
329
|
*/
|
|
256
330
|
async navigateToHomePage() {
|
|
257
331
|
if (this._createFeature) {
|
|
258
|
-
this._createFeature.close();
|
|
332
|
+
void this._createFeature.close();
|
|
259
333
|
}
|
|
260
334
|
if (this._layerList) {
|
|
261
|
-
this._layerList.refresh();
|
|
335
|
+
void this._layerList.refresh();
|
|
262
336
|
}
|
|
263
337
|
this.setSelectedFeatures([]);
|
|
264
338
|
if (this._editableLayerIds.length === 1) {
|
|
@@ -326,6 +400,7 @@ export class CrowdsourceReporter {
|
|
|
326
400
|
* @protected
|
|
327
401
|
*/
|
|
328
402
|
backFromSelectedPanel() {
|
|
403
|
+
this._updatedProgressBarStatus = 0.25;
|
|
329
404
|
const updatedFlowItems = [...this._flowItems];
|
|
330
405
|
updatedFlowItems.pop();
|
|
331
406
|
this.clearHighlights();
|
|
@@ -352,6 +427,13 @@ export class CrowdsourceReporter {
|
|
|
352
427
|
this.setSelectedFeatures([evt.detail]);
|
|
353
428
|
this._flowItems = [...this._flowItems, "feature-details"];
|
|
354
429
|
}
|
|
430
|
+
/**
|
|
431
|
+
* Show loading indicator while updating the feature details component
|
|
432
|
+
* @param isLoading is feature detail component loading
|
|
433
|
+
*/
|
|
434
|
+
async updatingFeatureDetails(isLoading) {
|
|
435
|
+
this._loadingFeatureDetails = isLoading;
|
|
436
|
+
}
|
|
355
437
|
/**
|
|
356
438
|
* Get feature list of the selected feature layer
|
|
357
439
|
* @param layerId Layer id
|
|
@@ -360,7 +442,10 @@ export class CrowdsourceReporter {
|
|
|
360
442
|
* @protected
|
|
361
443
|
*/
|
|
362
444
|
getFeatureListFlowItem(layerId, layerName) {
|
|
363
|
-
|
|
445
|
+
var _a;
|
|
446
|
+
const layerExpressions = (_a = this.layerExpressions) === null || _a === void 0 ? void 0 : _a.filter((exp) => exp.id === this._selectedLayerId);
|
|
447
|
+
const showFilterIcon = layerExpressions.length > 0;
|
|
448
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
|
|
364
449
|
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 }))));
|
|
365
450
|
}
|
|
366
451
|
/**
|
|
@@ -368,7 +453,15 @@ export class CrowdsourceReporter {
|
|
|
368
453
|
* @returns Node
|
|
369
454
|
*/
|
|
370
455
|
getFeatureDetailsFlowItem() {
|
|
371
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, 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, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), h("calcite-panel",
|
|
456
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._loadingFeatureDetails, 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, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), h("calcite-panel", null, this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("feature-details", { class: 'full-height', graphics: this._selectedFeature, mapView: this.mapView, onLoadingStatus: (evt) => { void this.updatingFeatureDetails(evt.detail); }, ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }))));
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Returns the pagination for the multiple features
|
|
460
|
+
* Create pagination to avoid the overlap of like, dislike and comment section
|
|
461
|
+
* @returns Node
|
|
462
|
+
*/
|
|
463
|
+
getFeaturesPagination() {
|
|
464
|
+
return (h("div", { class: "feature-pagination", slot: "header-actions-start" }, h("div", null, h("calcite-button", { appearance: 'transparent', disabled: false, iconStart: "chevron-left", id: "solutions-back", onClick: () => void this._featureDetails.back(), scale: "s", width: "full" }), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("calcite-button", { appearance: 'transparent', class: 'pagination-action', onClick: () => void this._featureDetails.toggleListView(), scale: "s" }, h("span", { class: "pagination-count" }, this._getCount())), h("div", null, h("calcite-button", { appearance: "transparent", disabled: false, iconStart: "chevron-right", id: "solutions-next", onClick: () => void this._featureDetails.next(), scale: "s", width: "full" }), h("calcite-tooltip", { placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next)))));
|
|
372
465
|
}
|
|
373
466
|
/**
|
|
374
467
|
* Sets the selected features and updates the first feature as the current selected feature
|
|
@@ -396,14 +489,6 @@ export class CrowdsourceReporter {
|
|
|
396
489
|
}
|
|
397
490
|
this._updateShareURL();
|
|
398
491
|
}
|
|
399
|
-
/**
|
|
400
|
-
* On Feature details change update the Layer title and the current selected layer id
|
|
401
|
-
* @param evt Event hold the details of current feature graphic in the info-card
|
|
402
|
-
*/
|
|
403
|
-
featureDetailsChanged(evt) {
|
|
404
|
-
this.setCurrentFeature(evt.detail[0]);
|
|
405
|
-
void this.highlightOnMap(evt.detail[0]);
|
|
406
|
-
}
|
|
407
492
|
/**
|
|
408
493
|
* Highlights the feature on map
|
|
409
494
|
* @param selectedFeature Graphic currently shown in feature details
|
|
@@ -416,8 +501,9 @@ export class CrowdsourceReporter {
|
|
|
416
501
|
const selectedLayerView = await getFeatureLayerView(this.mapView, selectedFeature.layer.id);
|
|
417
502
|
// remove previous highlight options (if any) to highlight the feature by default color
|
|
418
503
|
selectedLayerView.highlightOptions = null;
|
|
419
|
-
this._highlightHandle = await highlightFeatures([selectedFeature.getObjectId()], selectedLayerView, this.mapView, true);
|
|
504
|
+
this._highlightHandle = await highlightFeatures([selectedFeature.getObjectId()], selectedLayerView, this.mapView, true, this.zoomToScale);
|
|
420
505
|
}
|
|
506
|
+
void this.updatingFeatureDetails(false);
|
|
421
507
|
}
|
|
422
508
|
/**
|
|
423
509
|
* Clears the highlight
|
|
@@ -523,6 +609,19 @@ export class CrowdsourceReporter {
|
|
|
523
609
|
}
|
|
524
610
|
}
|
|
525
611
|
}
|
|
612
|
+
/**
|
|
613
|
+
* Get the current index of total string
|
|
614
|
+
*
|
|
615
|
+
* @returns the index of total string
|
|
616
|
+
* @protected
|
|
617
|
+
*/
|
|
618
|
+
_getCount() {
|
|
619
|
+
const index = (this.selectedFeatureIndex + 1).toString();
|
|
620
|
+
const total = this._selectedFeature.length.toString();
|
|
621
|
+
return this._translations.indexOfTotal
|
|
622
|
+
.replace("{{index}}", index)
|
|
623
|
+
.replace("{{total}}", total);
|
|
624
|
+
}
|
|
526
625
|
/**
|
|
527
626
|
* Fetches the component's translations
|
|
528
627
|
* @returns Promise when complete
|
|
@@ -771,21 +870,6 @@ export class CrowdsourceReporter {
|
|
|
771
870
|
"attribute": "enable-new-reports",
|
|
772
871
|
"reflect": false
|
|
773
872
|
},
|
|
774
|
-
"layers": {
|
|
775
|
-
"type": "unknown",
|
|
776
|
-
"mutable": false,
|
|
777
|
-
"complexType": {
|
|
778
|
-
"original": "string[]",
|
|
779
|
-
"resolved": "string[]",
|
|
780
|
-
"references": {}
|
|
781
|
-
},
|
|
782
|
-
"required": false,
|
|
783
|
-
"optional": false,
|
|
784
|
-
"docs": {
|
|
785
|
-
"tags": [],
|
|
786
|
-
"text": "string[]: list of layer ids"
|
|
787
|
-
}
|
|
788
|
-
},
|
|
789
873
|
"loginTitle": {
|
|
790
874
|
"type": "string",
|
|
791
875
|
"mutable": false,
|
|
@@ -891,40 +975,6 @@ export class CrowdsourceReporter {
|
|
|
891
975
|
"attribute": "level",
|
|
892
976
|
"reflect": false
|
|
893
977
|
},
|
|
894
|
-
"popupHeaderHoverColor": {
|
|
895
|
-
"type": "string",
|
|
896
|
-
"mutable": false,
|
|
897
|
-
"complexType": {
|
|
898
|
-
"original": "string",
|
|
899
|
-
"resolved": "string",
|
|
900
|
-
"references": {}
|
|
901
|
-
},
|
|
902
|
-
"required": false,
|
|
903
|
-
"optional": false,
|
|
904
|
-
"docs": {
|
|
905
|
-
"tags": [],
|
|
906
|
-
"text": "string: The color that will be displayed on hover when expanding the popup header"
|
|
907
|
-
},
|
|
908
|
-
"attribute": "popup-header-hover-color",
|
|
909
|
-
"reflect": false
|
|
910
|
-
},
|
|
911
|
-
"popupHeaderColor": {
|
|
912
|
-
"type": "string",
|
|
913
|
-
"mutable": false,
|
|
914
|
-
"complexType": {
|
|
915
|
-
"original": "string",
|
|
916
|
-
"resolved": "string",
|
|
917
|
-
"references": {}
|
|
918
|
-
},
|
|
919
|
-
"required": false,
|
|
920
|
-
"optional": false,
|
|
921
|
-
"docs": {
|
|
922
|
-
"tags": [],
|
|
923
|
-
"text": "string: The background color to apply to the popup header"
|
|
924
|
-
},
|
|
925
|
-
"attribute": "popup-header-color",
|
|
926
|
-
"reflect": false
|
|
927
|
-
},
|
|
928
978
|
"reportButtonText": {
|
|
929
979
|
"type": "string",
|
|
930
980
|
"mutable": false,
|
|
@@ -1169,6 +1219,27 @@ export class CrowdsourceReporter {
|
|
|
1169
1219
|
},
|
|
1170
1220
|
"attribute": "zoom-to-scale",
|
|
1171
1221
|
"reflect": false
|
|
1222
|
+
},
|
|
1223
|
+
"layerExpressions": {
|
|
1224
|
+
"type": "unknown",
|
|
1225
|
+
"mutable": false,
|
|
1226
|
+
"complexType": {
|
|
1227
|
+
"original": "ILayerExpression[]",
|
|
1228
|
+
"resolved": "ILayerExpression[]",
|
|
1229
|
+
"references": {
|
|
1230
|
+
"ILayerExpression": {
|
|
1231
|
+
"location": "import",
|
|
1232
|
+
"path": "../../utils/interfaces",
|
|
1233
|
+
"id": "src/utils/interfaces.ts::ILayerExpression"
|
|
1234
|
+
}
|
|
1235
|
+
}
|
|
1236
|
+
},
|
|
1237
|
+
"required": false,
|
|
1238
|
+
"optional": false,
|
|
1239
|
+
"docs": {
|
|
1240
|
+
"tags": [],
|
|
1241
|
+
"text": "ILayerExpression[]: Array of layer expressions for layers (filter configuration)"
|
|
1242
|
+
}
|
|
1172
1243
|
}
|
|
1173
1244
|
};
|
|
1174
1245
|
}
|
|
@@ -1182,7 +1253,11 @@ export class CrowdsourceReporter {
|
|
|
1182
1253
|
"_selectedLayerName": {},
|
|
1183
1254
|
"_reportSubmitted": {},
|
|
1184
1255
|
"_showSubmitCancelButton": {},
|
|
1185
|
-
"
|
|
1256
|
+
"_loadingFeatureDetails": {},
|
|
1257
|
+
"_featureCreationFailedErrorMsg": {},
|
|
1258
|
+
"_updatedProgressBarStatus": {},
|
|
1259
|
+
"_filterOpen": {},
|
|
1260
|
+
"_filterActive": {}
|
|
1186
1261
|
};
|
|
1187
1262
|
}
|
|
1188
1263
|
static get events() {
|
|
@@ -1213,4 +1288,13 @@ export class CrowdsourceReporter {
|
|
|
1213
1288
|
"methodName": "mapViewWatchHandler"
|
|
1214
1289
|
}];
|
|
1215
1290
|
}
|
|
1291
|
+
static get listeners() {
|
|
1292
|
+
return [{
|
|
1293
|
+
"name": "selectionChanged",
|
|
1294
|
+
"method": "selectionChanged",
|
|
1295
|
+
"target": "window",
|
|
1296
|
+
"capture": false,
|
|
1297
|
+
"passive": false
|
|
1298
|
+
}];
|
|
1299
|
+
}
|
|
1216
1300
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.buttons{
|
|
6
|
+
align-items: center;
|
|
7
|
+
background-color: white;
|
|
8
|
+
display: flex;
|
|
9
|
+
padding: 10px 0 10px 15px;
|
|
10
|
+
border-block-start: 1px solid var(--calcite-color-border-3);
|
|
11
|
+
border-block-end: 1px solid var(--calcite-color-border-3);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.comment-btn{
|
|
15
|
+
display: flex;
|
|
16
|
+
gap: 5px;
|
|
17
|
+
width: 35px;
|
|
18
|
+
}
|