@esri/solutions-components 0.8.7 → 0.8.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. package/dist/assets/t9n/crowdsource-reporter/resources.json +3 -1
  2. package/dist/assets/t9n/crowdsource-reporter/resources_en.json +3 -1
  3. package/dist/cjs/{calcite-action-menu_2.cjs.entry.js → calcite-action-menu_3.cjs.entry.js} +114 -7
  4. package/dist/cjs/calcite-alert_4.cjs.entry.js +46 -5
  5. package/dist/cjs/{calcite-input-date-picker_3.cjs.entry.js → calcite-block_5.cjs.entry.js} +691 -13
  6. package/dist/cjs/{calcite-combobox_5.cjs.entry.js → calcite-combobox_3.cjs.entry.js} +876 -844
  7. package/dist/cjs/calcite-dropdown_4.cjs.entry.js +1023 -0
  8. package/dist/cjs/{calcite-flow_5.cjs.entry.js → calcite-flow_6.cjs.entry.js} +327 -2
  9. package/dist/cjs/card-manager_3.cjs.entry.js +5 -5
  10. package/dist/cjs/crowdsource-manager.cjs.entry.js +5 -1
  11. package/dist/cjs/crowdsource-reporter.cjs.entry.js +122 -23
  12. package/dist/cjs/{downloadUtils-8b05d7cc.js → downloadUtils-dc349b1a.js} +2 -2
  13. package/dist/cjs/{index.es-e7587227.js → index.es-1830a1e6.js} +2 -2
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/map-select-tools_3.cjs.entry.js +8 -8
  16. package/dist/cjs/{mapViewUtils-3e0fa457.js → mapViewUtils-9dc05308.js} +11 -5
  17. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  18. package/dist/cjs/solutions-components.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +1 -0
  20. package/dist/collection/components/create-feature/create-feature.js +18 -0
  21. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +72 -0
  22. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +16 -0
  23. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +155 -71
  24. package/dist/collection/components/feature-details/feature-details.css +18 -0
  25. package/dist/collection/components/feature-details/feature-details.js +500 -0
  26. package/dist/collection/components/feature-details/test/feature-details.e2e.js +14 -0
  27. package/dist/collection/components/feature-details/test/feature-details.spec.js +22 -0
  28. package/dist/collection/components/feature-list/feature-list.js +14 -1
  29. package/dist/collection/components/info-card/info-card.css +15 -5
  30. package/dist/collection/components/info-card/info-card.js +178 -5
  31. package/dist/collection/components/layer-table/layer-table.js +2 -2
  32. package/dist/collection/components/map-card/map-card.js +1 -1
  33. package/dist/collection/components/map-select-tools/map-select-tools.js +5 -5
  34. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  35. package/dist/collection/demos/crowdsource-reporter.html +115 -1
  36. package/dist/collection/utils/interfaces.ts +4 -4
  37. package/dist/collection/utils/mapViewUtils.js +11 -5
  38. package/dist/collection/utils/mapViewUtils.ts +13 -5
  39. package/dist/components/create-feature2.js +4 -0
  40. package/dist/components/crowdsource-manager.js +8 -0
  41. package/dist/components/crowdsource-reporter.js +270 -85
  42. package/dist/components/feature-details.d.ts +11 -0
  43. package/dist/components/feature-details.js +11 -0
  44. package/dist/components/feature-details2.js +449 -0
  45. package/dist/components/feature-list2.js +14 -1
  46. package/dist/components/info-card2.js +53 -5
  47. package/dist/components/layer-table2.js +2 -2
  48. package/dist/components/map-card2.js +1 -1
  49. package/dist/components/map-select-tools2.js +5 -5
  50. package/dist/components/mapViewUtils.js +11 -5
  51. package/dist/components/refine-selection2.js +1 -1
  52. package/dist/esm/{calcite-action-menu_2.entry.js → calcite-action-menu_3.entry.js} +118 -12
  53. package/dist/esm/calcite-alert_4.entry.js +46 -5
  54. package/dist/esm/{calcite-input-date-picker_3.entry.js → calcite-block_5.entry.js} +688 -12
  55. package/dist/esm/{calcite-combobox_5.entry.js → calcite-combobox_3.entry.js} +878 -844
  56. package/dist/esm/calcite-date-picker-day_3.entry.js +1 -1
  57. package/dist/esm/calcite-dropdown_4.entry.js +1016 -0
  58. package/dist/esm/{calcite-flow_5.entry.js → calcite-flow_6.entry.js} +327 -3
  59. package/dist/esm/card-manager_3.entry.js +5 -5
  60. package/dist/esm/crowdsource-manager.entry.js +5 -1
  61. package/dist/esm/crowdsource-reporter.entry.js +122 -23
  62. package/dist/esm/{date-5630530d.js → date-0c026a8b.js} +1 -1
  63. package/dist/esm/{downloadUtils-0c1e4d7b.js → downloadUtils-df4f21f6.js} +2 -2
  64. package/dist/esm/{index.es-286e3cfa.js → index.es-904fb846.js} +2 -2
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/map-select-tools_3.entry.js +8 -8
  67. package/dist/esm/{mapViewUtils-253178f1.js → mapViewUtils-2ec19fb0.js} +11 -5
  68. package/dist/esm/public-notification.entry.js +2 -2
  69. package/dist/esm/solutions-components.js +1 -1
  70. package/dist/solutions-components/demos/crowdsource-reporter.html +115 -1
  71. package/dist/solutions-components/{p-813fd8a4.entry.js → p-29f518fd.entry.js} +2 -2
  72. package/dist/solutions-components/p-452fd697.entry.js +6 -0
  73. package/dist/solutions-components/p-511b1c91.entry.js +23 -0
  74. package/dist/solutions-components/p-577efb16.js +36 -0
  75. package/dist/solutions-components/{p-94de9279.js → p-5817d78c.js} +1 -1
  76. package/dist/solutions-components/p-602cd811.entry.js +17 -0
  77. package/dist/solutions-components/{p-15f9624a.entry.js → p-6557b703.entry.js} +1 -1
  78. package/dist/solutions-components/p-7269c49b.entry.js +6 -0
  79. package/dist/solutions-components/p-760bd17e.entry.js +6 -0
  80. package/dist/solutions-components/p-95fea07a.entry.js +17 -0
  81. package/dist/solutions-components/{p-212b02e7.js → p-ae4d86e8.js} +1 -1
  82. package/dist/solutions-components/{p-038fcd93.entry.js → p-c273ab7a.entry.js} +1 -1
  83. package/dist/solutions-components/p-d742b915.entry.js +29 -0
  84. package/dist/solutions-components/p-dfad61a8.entry.js +24 -0
  85. package/dist/solutions-components/{p-331b5d1e.js → p-fca434c8.js} +2 -2
  86. package/dist/solutions-components/p-fd82a00f.entry.js +6 -0
  87. package/dist/solutions-components/solutions-components.esm.js +1 -1
  88. package/dist/solutions-components/utils/interfaces.ts +4 -4
  89. package/dist/solutions-components/utils/mapViewUtils.ts +13 -5
  90. package/dist/types/components/create-feature/create-feature.d.ts +4 -4
  91. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +16 -0
  92. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +91 -18
  93. package/dist/types/components/feature-details/feature-details.d.ts +151 -0
  94. package/dist/types/components/feature-list/feature-list.d.ts +6 -0
  95. package/dist/types/components/info-card/info-card.d.ts +33 -1
  96. package/dist/types/components.d.ts +161 -28
  97. package/dist/types/preact.d.ts +6 -1
  98. package/dist/types/utils/interfaces.d.ts +4 -4
  99. package/dist/types/utils/mapViewUtils.d.ts +5 -3
  100. package/package.json +1 -1
  101. package/dist/cjs/calcite-block_2.cjs.entry.js +0 -652
  102. package/dist/cjs/calcite-graph_2.cjs.entry.js +0 -1055
  103. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -125
  104. package/dist/cjs/utils-7bc7f595.js +0 -64
  105. package/dist/esm/calcite-block_2.entry.js +0 -647
  106. package/dist/esm/calcite-graph_2.entry.js +0 -1050
  107. package/dist/esm/calcite-scrim.entry.js +0 -121
  108. package/dist/esm/utils-9fb4104a.js +0 -61
  109. package/dist/solutions-components/p-04c37d69.entry.js +0 -17
  110. package/dist/solutions-components/p-0b92e4b1.entry.js +0 -11
  111. package/dist/solutions-components/p-238d3b5f.entry.js +0 -6
  112. package/dist/solutions-components/p-3af79063.js +0 -36
  113. package/dist/solutions-components/p-6db185bf.entry.js +0 -6
  114. package/dist/solutions-components/p-80b11ec1.entry.js +0 -17
  115. package/dist/solutions-components/p-aec06ce4.entry.js +0 -18
  116. package/dist/solutions-components/p-bfdf89c2.js +0 -11
  117. package/dist/solutions-components/p-c4ff3b52.entry.js +0 -17
  118. package/dist/solutions-components/p-ced067bd.entry.js +0 -17
  119. package/dist/solutions-components/p-d136eab0.entry.js +0 -23
  120. package/dist/solutions-components/p-e0446d5b.entry.js +0 -6
  121. package/dist/solutions-components/p-e8f13354.entry.js +0 -6
@@ -577,14 +577,14 @@ export interface IManagedLayers {
577
577
  * Key is the layers guid
578
578
  */
579
579
  export interface IReportingOptions {
580
- [key: string]: IReportOption;
580
+ [key: string]: IReportingOption;
581
581
  }
582
582
 
583
- export interface IReportOption {
583
+ export interface IReportingOption {
584
584
  reporting: boolean;
585
585
  comment: boolean;
586
586
  like: boolean;
587
+ likeField?: string;
587
588
  dislike: boolean;
588
- likeField: string;
589
- dislikeField: string;
589
+ dislikeField?: string;
590
590
  }
@@ -182,6 +182,7 @@ export async function getAllLayers(
182
182
  * @param layerView the layer view to highlight
183
183
  * @param mapView the map view used if updateExtent is true
184
184
  * @param updateExtent optional (default false) boolean to indicate if we should zoom to the extent
185
+ * @param zoomToScale optional (default 0) zoomScale that individual points will use when zoomed to
185
186
  *
186
187
  * @returns Promise resolving with the highlight handle
187
188
  */
@@ -189,10 +190,11 @@ export async function highlightFeatures(
189
190
  ids: number[],
190
191
  layerView: __esri.FeatureLayerView,
191
192
  mapView: __esri.MapView,
192
- updateExtent = false
193
+ updateExtent = false,
194
+ zoomToScale = 0
193
195
  ): Promise<__esri.Handle> {
194
196
  if (updateExtent) {
195
- await goToSelection(ids, layerView, mapView, false);
197
+ await goToSelection(ids, layerView, mapView, false, undefined, zoomToScale);
196
198
  //wait for sometime to load the feature in layerView then only the highlight will work
197
199
  await new Promise(resolve => setTimeout(resolve, 1000));
198
200
  }
@@ -295,7 +297,8 @@ export async function flashSelection(
295
297
  * @param layerView the layer view that contains the OIDs
296
298
  * @param mapView the map view to show the extent change
297
299
  * @param flashFeatures optional (default true) boolean to indicate if we should flash the features
298
- *
300
+ * @param featureEffect optional (default undefined) feature effect when flashing the features
301
+ * @param zoomToScale optional (default to 0) zoomScale that individual points will use when zoomed to
299
302
  * @returns Promise resolving when the operation is complete
300
303
  *
301
304
  */
@@ -304,10 +307,15 @@ export async function goToSelection(
304
307
  layerView: __esri.FeatureLayerView,
305
308
  mapView: __esri.MapView,
306
309
  flashFeatures = true,
307
- featureEffect: __esri.FeatureEffect = undefined
310
+ featureEffect: __esri.FeatureEffect = undefined,
311
+ zoomToScale = 0
308
312
  ): Promise<void> {
309
313
  const result = await queryExtent(ids, layerView.layer);
310
- await mapView.goTo(result.extent);
314
+ const goToParams: { target: __esri.Extent; scale?: number; } = { target: result.extent };
315
+ if (result.count === 1 && layerView.layer.geometryType === 'point' && zoomToScale) {
316
+ goToParams.scale = zoomToScale
317
+ }
318
+ await mapView.goTo(goToParams);
311
319
  if (flashFeatures) {
312
320
  await flashSelection(ids, layerView, featureEffect);
313
321
  }
@@ -72,10 +72,6 @@ export declare class CreateFeature {
72
72
  * boolean: Flag to maintain the add attachment
73
73
  */
74
74
  protected _addingAttachment: boolean;
75
- /**
76
- * ISearchConfiguration: config for search widget
77
- */
78
- protected searchConfiguration1: ISearchConfiguration;
79
75
  /**
80
76
  * Called each time the mapView prop is changed.
81
77
  */
@@ -106,6 +102,10 @@ export declare class CreateFeature {
106
102
  * Emitted on demand when editing attachments
107
103
  */
108
104
  editingAttachment: EventEmitter<boolean>;
105
+ /**
106
+ * Emitted on demand when editor panel changes
107
+ */
108
+ progressStatus: EventEmitter<number>;
109
109
  /**
110
110
  * StencilJS: Called once just after the component is first connected to the DOM.
111
111
  * @returns Promise when complete
@@ -112,6 +112,22 @@ export declare class CrowdsourceManager {
112
112
  * boolean: When true only editable layers that support the update capability will be available
113
113
  */
114
114
  onlyShowUpdatableLayers: boolean;
115
+ /**
116
+ * string: The background color to apply to the popup header
117
+ */
118
+ popupHeaderColor: string;
119
+ /**
120
+ * string: The color that will be displayed on hover when expanding the popup header
121
+ */
122
+ popupHeaderHoverColor: string;
123
+ /**
124
+ * string: The font color that will be displayed on hover when expanding the popup header
125
+ */
126
+ popupHeaderHoverTextColor: string;
127
+ /**
128
+ * string: The font color to apply to the popup header
129
+ */
130
+ popupHeaderTextColor: string;
115
131
  /**
116
132
  * ISearchConfiguration: Configuration details for the Search widget
117
133
  */
@@ -15,7 +15,7 @@
15
15
  */
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { VNode, EventEmitter } from "../../stencil-public-runtime";
18
- import { IMapChange, IMapClick, IMapInfo, IReportingOptions, ISearchConfiguration, theme } from "../../utils/interfaces";
18
+ import { ILayerExpression, IMapChange, IMapClick, IMapInfo, IReportingOptions, ISearchConfiguration, theme } from "../../utils/interfaces";
19
19
  import CrowdsourceReporter_T9n from "../../assets/t9n/crowdsource-reporter/resources.json";
20
20
  import { ILayerItemsHash } from "../layer-list/layer-list";
21
21
  export declare class CrowdsourceReporter {
@@ -48,10 +48,6 @@ export declare class CrowdsourceReporter {
48
48
  * boolean: When true the user will be allowed to submit new reports
49
49
  */
50
50
  enableNewReports: boolean;
51
- /**
52
- * string[]: list of layer ids
53
- */
54
- layers: string[];
55
51
  /**
56
52
  * string: The text that will display at the top of the landing page
57
53
  */
@@ -76,14 +72,6 @@ export declare class CrowdsourceReporter {
76
72
  * string: Id of the zoom level from URL params
77
73
  */
78
74
  level: string;
79
- /**
80
- * string: The color that will be displayed on hover when expanding the popup header
81
- */
82
- popupHeaderHoverColor: string;
83
- /**
84
- * string: The background color to apply to the popup header
85
- */
86
- popupHeaderColor: string;
87
75
  /**
88
76
  * string: The word(s) to display in the reports submit button
89
77
  */
@@ -136,6 +124,10 @@ export declare class CrowdsourceReporter {
136
124
  * number: default scale to zoom to when zooming to a single point feature
137
125
  */
138
126
  zoomToScale: number;
127
+ /**
128
+ * ILayerExpression[]: Array of layer expressions for layers (filter configuration)
129
+ */
130
+ layerExpressions: ILayerExpression[];
139
131
  /**
140
132
  * IMapInfo: The current map info stores configuration details
141
133
  */
@@ -169,10 +161,26 @@ export declare class CrowdsourceReporter {
169
161
  * boolean: When true show the submit and cancel button
170
162
  */
171
163
  _showSubmitCancelButton: boolean;
164
+ /**
165
+ * boolean: show loading indicator for feature details component upto completing pending operations
166
+ */
167
+ _loadingFeatureDetails: boolean;
172
168
  /**
173
169
  * string: Error message when feature creation fails
174
170
  */
175
171
  _featureCreationFailedErrorMsg: string;
172
+ /**
173
+ * number: Show the updated progress bar status
174
+ */
175
+ _updatedProgressBarStatus: number;
176
+ /**
177
+ * boolean: When true the filter component will be displayed
178
+ */
179
+ _filterOpen: boolean;
180
+ /**
181
+ * boolean: When true an indicator will be shown on the action
182
+ */
183
+ _filterActive: boolean;
176
184
  /**
177
185
  * IMapChange: The current map change details
178
186
  */
@@ -185,6 +193,10 @@ export declare class CrowdsourceReporter {
185
193
  * number: zoom level the map should go to
186
194
  */
187
195
  protected _defaultLevel: number;
196
+ /**
197
+ * string[]: list of configured reporting layer ids
198
+ */
199
+ protected layers: string[];
188
200
  /**
189
201
  * __esri.FeatureLayer[]: Valid layers from the current map
190
202
  */
@@ -213,6 +225,10 @@ export declare class CrowdsourceReporter {
213
225
  * HTMLCreateFeatureElement: Create Feature component instance
214
226
  */
215
227
  protected _createFeature: HTMLCreateFeatureElement;
228
+ /**
229
+ * HTMLCreateFeatureElement: features details component instance
230
+ */
231
+ protected _featureDetails: HTMLFeatureDetailsElement;
216
232
  /**
217
233
  * HTMLLayerListElement: Create Layer list component instance
218
234
  */
@@ -238,6 +254,14 @@ export declare class CrowdsourceReporter {
238
254
  */
239
255
  protected _highlightHandle: __esri.Handle;
240
256
  protected _noLayerToDisplayErrorMsg: string;
257
+ /**
258
+ * HTMLInstantAppsFilterListElement: Component from Instant Apps that supports interacting with the current filter config
259
+ */
260
+ protected _filterList: HTMLInstantAppsFilterListElement;
261
+ /**
262
+ * number: selected feature index
263
+ */
264
+ protected selectedFeatureIndex: number;
241
265
  /**
242
266
  * Called each time the mapView prop is changed.
243
267
  */
@@ -246,6 +270,11 @@ export declare class CrowdsourceReporter {
246
270
  * Called each time the mapView prop is changed.
247
271
  */
248
272
  mapViewWatchHandler(): Promise<void>;
273
+ /**
274
+ * On Feature details change update the Layer title and the current selected layer id
275
+ * @param evt Event hold the details of current feature graphic in the info-card
276
+ */
277
+ selectionChanged(evt: CustomEvent): Promise<void>;
249
278
  /**
250
279
  * Emitted when toggle panel button is clicked in reporter
251
280
  */
@@ -279,6 +308,31 @@ export declare class CrowdsourceReporter {
279
308
  * @protected
280
309
  */
281
310
  protected _getReporter(): VNode;
311
+ /**
312
+ * Show filter component in modal
313
+ * @returns node to interact with any configured filters for the current layer
314
+ */
315
+ protected filterModal(): VNode;
316
+ /**
317
+ * Close the filter modal
318
+ * @protected
319
+ */
320
+ protected _closeFilter(): void;
321
+ /**
322
+ * When true the filter modal will be displayed
323
+ * @protected
324
+ */
325
+ protected _toggleFilter(): void;
326
+ /**
327
+ * Reset the filter active prop
328
+ * @protected
329
+ */
330
+ protected _handleFilterListReset(): void;
331
+ /**
332
+ * Check if the layers definitionExpression has been modified
333
+ * @protected
334
+ */
335
+ protected _handleFilterUpdate(): void;
282
336
  /**
283
337
  * Get the feature layer list
284
338
  * @returns the layer list items
@@ -297,6 +351,12 @@ export declare class CrowdsourceReporter {
297
351
  * @protected
298
352
  */
299
353
  protected getFeatureCreateFlowItem(): Node;
354
+ /**
355
+ * Update the progress bar status when editor panel changes
356
+ * @param evt Event which has progress bar status
357
+ * @protected
358
+ */
359
+ protected updatedProgressStatus(evt: CustomEvent): void;
300
360
  /**
301
361
  * When drawing of incident location completed on map show the submit and cancel button
302
362
  * @protected
@@ -370,6 +430,11 @@ export declare class CrowdsourceReporter {
370
430
  * @param evt Event which has details of selected feature
371
431
  */
372
432
  protected onFeatureSelectFromList(evt: CustomEvent): Promise<void>;
433
+ /**
434
+ * Show loading indicator while updating the feature details component
435
+ * @param isLoading is feature detail component loading
436
+ */
437
+ protected updatingFeatureDetails(isLoading: boolean): Promise<void>;
373
438
  /**
374
439
  * Get feature list of the selected feature layer
375
440
  * @param layerId Layer id
@@ -383,6 +448,12 @@ export declare class CrowdsourceReporter {
383
448
  * @returns Node
384
449
  */
385
450
  protected getFeatureDetailsFlowItem(): Node;
451
+ /**
452
+ * Returns the pagination for the multiple features
453
+ * Create pagination to avoid the overlap of like, dislike and comment section
454
+ * @returns Node
455
+ */
456
+ protected getFeaturesPagination(): Node;
386
457
  /**
387
458
  * Sets the selected features and updates the first feature as the current selected feature
388
459
  * @param features Graphics array of the features selected
@@ -393,11 +464,6 @@ export declare class CrowdsourceReporter {
393
464
  * @param selectedFeature Graphic currently shown in feature details
394
465
  */
395
466
  protected setCurrentFeature(selectedFeature?: __esri.Graphic): void;
396
- /**
397
- * On Feature details change update the Layer title and the current selected layer id
398
- * @param evt Event hold the details of current feature graphic in the info-card
399
- */
400
- protected featureDetailsChanged(evt: CustomEvent): void;
401
467
  /**
402
468
  * Highlights the feature on map
403
469
  * @param selectedFeature Graphic currently shown in feature details
@@ -432,6 +498,13 @@ export declare class CrowdsourceReporter {
432
498
  * @protected
433
499
  */
434
500
  protected onMapClick(event: IMapClick): Promise<void>;
501
+ /**
502
+ * Get the current index of total string
503
+ *
504
+ * @returns the index of total string
505
+ * @protected
506
+ */
507
+ protected _getCount(): string;
435
508
  /**
436
509
  * Fetches the component's translations
437
510
  * @returns Promise when complete
@@ -0,0 +1,151 @@
1
+ /// <reference types="arcgis-js-api" />
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { IReportingOptions } from '../../components';
4
+ export declare class FeatureDetails {
5
+ el: HTMLFeatureDetailsElement;
6
+ /**
7
+ * esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
8
+ */
9
+ mapView: __esri.MapView;
10
+ /**
11
+ * esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
12
+ */
13
+ graphics: __esri.Graphic[];
14
+ /**
15
+ * IReportingOptions: Key options for reporting
16
+ */
17
+ reportingOptions: IReportingOptions;
18
+ /**
19
+ * boolean: When true configured like field is available in selected layer
20
+ */
21
+ _likeFieldAvailable: boolean;
22
+ /**
23
+ * number: Increment the liked count for feature when like button is clicked
24
+ */
25
+ _likeCount: number;
26
+ /**
27
+ * number: Decrement the disliked count for feature when dislike button is clicked
28
+ */
29
+ _disLikeCount: number;
30
+ /**
31
+ * boolean: When true configured dislike field is available in selected layer
32
+ */
33
+ _dislikeFieldAvailable: boolean;
34
+ /**
35
+ * boolean: When true button will get brand color
36
+ */
37
+ _isLikeBtnClicked: boolean;
38
+ /**
39
+ * boolean: When true button will get brand color
40
+ */
41
+ _isDislikeBtnClicked: boolean;
42
+ /**
43
+ * HTMLCreateFeatureElement: info card component instance
44
+ */
45
+ protected _infoCard: HTMLInfoCardElement;
46
+ /**
47
+ * __esri.Graphic: The current selected feature graphic
48
+ */
49
+ protected _selectedGraphic: __esri.Graphic;
50
+ /**
51
+ * string: Available like field in the layer
52
+ */
53
+ protected _likeField: string;
54
+ /**
55
+ * string: Available dislike field in the layer
56
+ */
57
+ protected _dislikeField: string;
58
+ /**
59
+ * esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
60
+ */
61
+ protected Graphic: typeof import("esri/Graphic");
62
+ /**
63
+ * string[]: Valid field types for like and dislike
64
+ */
65
+ protected _validFieldTypes: string[];
66
+ /**
67
+ * Called each time the graphics prop is changed
68
+ */
69
+ graphicsWatchHandler(): Promise<void>;
70
+ /**
71
+ * Refresh the features comments which will fetch like, dislike and update the component
72
+ * @returns Promise that resolves when the operation is complete
73
+ */
74
+ refresh(graphic?: __esri.Graphic): Promise<void>;
75
+ /**
76
+ * Go to the previous feature in the features widget
77
+ */
78
+ back(): Promise<void>;
79
+ /**
80
+ * Go to the next feature in the features widget
81
+ */
82
+ next(): Promise<void>;
83
+ /**
84
+ * Toggle the visibility of the features list view
85
+ */
86
+ toggleListView(): Promise<void>;
87
+ /**
88
+ * Emitted on demand when like or dislike button is clicked
89
+ */
90
+ loadingStatus: EventEmitter<boolean>;
91
+ /**
92
+ * StencilJS: Called once just after the component is first connected to the DOM.
93
+ *
94
+ * @returns Promise when complete
95
+ */
96
+ componentWillLoad(): Promise<void>;
97
+ render(): any;
98
+ /**
99
+ * Load esri javascript api modules
100
+ *
101
+ * @returns Promise resolving when function is done
102
+ *
103
+ * @protected
104
+ */
105
+ protected _initModules(): Promise<void>;
106
+ /**
107
+ * Get complete graphic with complete attributes
108
+ * @param graphic selected feature graphic
109
+ * @protected
110
+ */
111
+ protected getCompleteGraphic(graphic: __esri.Graphic): Promise<void>;
112
+ /**
113
+ * Checks if the layers is configured for like dislike or not
114
+ * @param selectedLayer Feature layer
115
+ * @returns boolean
116
+ * @protected
117
+ */
118
+ protected isLikeDislikeConfigured(selectedLayer: __esri.FeatureLayer): boolean;
119
+ /**
120
+ * Check if configured like or dislike fields are available in the selected layer
121
+ * @protected
122
+ */
123
+ protected checkLikeDislikeFields(): void;
124
+ /**
125
+ * On like button click highlight the like button and update the feature
126
+ * @protected
127
+ */
128
+ protected onLikeButtonClick(): void;
129
+ /**
130
+ * On dislike button click highlight the dislike button and update the feature
131
+ * @protected
132
+ */
133
+ protected onDislikeButtonClick(): void;
134
+ /**
135
+ * Update the feature if user click on like or dislike button
136
+ * @param fieldName field name of the feature for like or dislike attribute
137
+ * @param buttonClicked is like or dislike button clicked
138
+ * @protected
139
+ */
140
+ protected updateFeaturesLikeDislikeField(fieldName: string, buttonClicked: boolean): Promise<void>;
141
+ /**
142
+ * Gets the like/dislike information form local storage and updates the like and dislike button states
143
+ * @protected
144
+ */
145
+ protected getFromLocalStorage(): void;
146
+ /**
147
+ * Sets the like/dislike information for the current selected graphic in local storage
148
+ * @protected
149
+ */
150
+ protected setInLocalStorage(): void;
151
+ }
@@ -127,6 +127,12 @@ export declare class FeatureList {
127
127
  * @protected
128
128
  */
129
129
  protected featureClicked(event: any, selectedFeature: __esri.Graphic): Promise<void>;
130
+ /**
131
+ * Emit selected feature with its complete graphics and attributes
132
+ * @param graphic selected feature graphic
133
+ * @protected
134
+ */
135
+ protected emitSelectedFeature(graphic: __esri.Graphic): Promise<void>;
130
136
  /**
131
137
  * On feature hover in feature list highlight the feature on the map
132
138
  * @param selectedFeature mouseovered feature graphic
@@ -47,6 +47,14 @@ export declare class InfoCard {
47
47
  * boolean: If true will highlights the features on map using Features Widget
48
48
  */
49
49
  highlightEnabled?: boolean;
50
+ /**
51
+ * boolean: If true will show the pagination for multiple features
52
+ */
53
+ paginationEnabled?: boolean;
54
+ /**
55
+ * string: Set the position of the feature info
56
+ */
57
+ position?: string;
50
58
  /**
51
59
  * boolean: When true a alert will be shown to indicate a problem or confirm the current action
52
60
  */
@@ -120,6 +128,27 @@ export declare class InfoCard {
120
128
  * @returns Promise resolving with the current feature
121
129
  */
122
130
  getSelectedFeature(): Promise<any>;
131
+ /**
132
+ * Get the current selected feature from the Features widget
133
+ * @returns Promise resolving with the current feature
134
+ */
135
+ refresh(): Promise<any>;
136
+ /**
137
+ * Go to the previous feature in the features widget
138
+ */
139
+ back(): Promise<void>;
140
+ /**
141
+ * Go to the next feature in the features widget
142
+ */
143
+ next(): Promise<void>;
144
+ /**
145
+ * Toggle the visibility of the features list view
146
+ */
147
+ toggleListView(): Promise<void>;
148
+ /**
149
+ * update the current graphics to the features widget
150
+ */
151
+ updateCurrentGraphic(selectedGraphic: __esri.Graphic): Promise<void>;
123
152
  /**
124
153
  * Emitted on demand when the popup is closed
125
154
  */
@@ -127,7 +156,10 @@ export declare class InfoCard {
127
156
  /**
128
157
  * Emitted on demand when the selected index changes
129
158
  */
130
- selectionChanged: EventEmitter<__esri.Graphic[]>;
159
+ selectionChanged: EventEmitter<{
160
+ selectedFeature: __esri.Graphic[];
161
+ selectedFeatureIndex: number;
162
+ }>;
131
163
  /**
132
164
  * Respond to and close the edit record display
133
165
  *