@esri/solutions-components 0.8.8 → 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.
Files changed (114) 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 +1 -1
  11. package/dist/cjs/crowdsource-reporter.cjs.entry.js +122 -21
  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-reporter/crowdsource-reporter.css +16 -0
  22. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +155 -35
  23. package/dist/collection/components/feature-details/feature-details.css +18 -0
  24. package/dist/collection/components/feature-details/feature-details.js +500 -0
  25. package/dist/collection/components/feature-details/test/feature-details.e2e.js +14 -0
  26. package/dist/collection/components/feature-details/test/feature-details.spec.js +22 -0
  27. package/dist/collection/components/feature-list/feature-list.js +14 -1
  28. package/dist/collection/components/info-card/info-card.css +15 -5
  29. package/dist/collection/components/info-card/info-card.js +178 -5
  30. package/dist/collection/components/layer-table/layer-table.js +2 -2
  31. package/dist/collection/components/map-card/map-card.js +1 -1
  32. package/dist/collection/components/map-select-tools/map-select-tools.js +5 -5
  33. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  34. package/dist/collection/demos/crowdsource-reporter.html +115 -1
  35. package/dist/collection/utils/mapViewUtils.js +11 -5
  36. package/dist/collection/utils/mapViewUtils.ts +13 -5
  37. package/dist/components/create-feature2.js +4 -0
  38. package/dist/components/crowdsource-reporter.js +270 -81
  39. package/dist/components/feature-details.d.ts +11 -0
  40. package/dist/components/feature-details.js +11 -0
  41. package/dist/components/feature-details2.js +449 -0
  42. package/dist/components/feature-list2.js +14 -1
  43. package/dist/components/info-card2.js +53 -5
  44. package/dist/components/layer-table2.js +2 -2
  45. package/dist/components/map-card2.js +1 -1
  46. package/dist/components/map-select-tools2.js +5 -5
  47. package/dist/components/mapViewUtils.js +11 -5
  48. package/dist/components/refine-selection2.js +1 -1
  49. package/dist/esm/{calcite-action-menu_2.entry.js → calcite-action-menu_3.entry.js} +118 -12
  50. package/dist/esm/calcite-alert_4.entry.js +46 -5
  51. package/dist/esm/{calcite-input-date-picker_3.entry.js → calcite-block_5.entry.js} +688 -12
  52. package/dist/esm/{calcite-combobox_5.entry.js → calcite-combobox_3.entry.js} +878 -844
  53. package/dist/esm/calcite-date-picker-day_3.entry.js +1 -1
  54. package/dist/esm/calcite-dropdown_4.entry.js +1016 -0
  55. package/dist/esm/{calcite-flow_5.entry.js → calcite-flow_6.entry.js} +327 -3
  56. package/dist/esm/card-manager_3.entry.js +5 -5
  57. package/dist/esm/crowdsource-manager.entry.js +1 -1
  58. package/dist/esm/crowdsource-reporter.entry.js +122 -21
  59. package/dist/esm/{date-5630530d.js → date-0c026a8b.js} +1 -1
  60. package/dist/esm/{downloadUtils-0c1e4d7b.js → downloadUtils-df4f21f6.js} +2 -2
  61. package/dist/esm/{index.es-286e3cfa.js → index.es-904fb846.js} +2 -2
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm/map-select-tools_3.entry.js +8 -8
  64. package/dist/esm/{mapViewUtils-253178f1.js → mapViewUtils-2ec19fb0.js} +11 -5
  65. package/dist/esm/public-notification.entry.js +2 -2
  66. package/dist/esm/solutions-components.js +1 -1
  67. package/dist/solutions-components/demos/crowdsource-reporter.html +115 -1
  68. package/dist/solutions-components/{p-813fd8a4.entry.js → p-29f518fd.entry.js} +2 -2
  69. package/dist/solutions-components/{p-13ca3b00.entry.js → p-452fd697.entry.js} +1 -1
  70. package/dist/solutions-components/p-511b1c91.entry.js +23 -0
  71. package/dist/solutions-components/p-577efb16.js +36 -0
  72. package/dist/solutions-components/{p-94de9279.js → p-5817d78c.js} +1 -1
  73. package/dist/solutions-components/p-602cd811.entry.js +17 -0
  74. package/dist/solutions-components/{p-15f9624a.entry.js → p-6557b703.entry.js} +1 -1
  75. package/dist/solutions-components/p-7269c49b.entry.js +6 -0
  76. package/dist/solutions-components/p-760bd17e.entry.js +6 -0
  77. package/dist/solutions-components/p-95fea07a.entry.js +17 -0
  78. package/dist/solutions-components/{p-212b02e7.js → p-ae4d86e8.js} +1 -1
  79. package/dist/solutions-components/{p-038fcd93.entry.js → p-c273ab7a.entry.js} +1 -1
  80. package/dist/solutions-components/p-d742b915.entry.js +29 -0
  81. package/dist/solutions-components/p-dfad61a8.entry.js +24 -0
  82. package/dist/solutions-components/{p-331b5d1e.js → p-fca434c8.js} +2 -2
  83. package/dist/solutions-components/p-fd82a00f.entry.js +6 -0
  84. package/dist/solutions-components/solutions-components.esm.js +1 -1
  85. package/dist/solutions-components/utils/mapViewUtils.ts +13 -5
  86. package/dist/types/components/create-feature/create-feature.d.ts +4 -4
  87. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +91 -10
  88. package/dist/types/components/feature-details/feature-details.d.ts +151 -0
  89. package/dist/types/components/feature-list/feature-list.d.ts +6 -0
  90. package/dist/types/components/info-card/info-card.d.ts +33 -1
  91. package/dist/types/components.d.ts +129 -12
  92. package/dist/types/preact.d.ts +6 -1
  93. package/dist/types/utils/mapViewUtils.d.ts +5 -3
  94. package/package.json +1 -1
  95. package/dist/cjs/calcite-block_2.cjs.entry.js +0 -652
  96. package/dist/cjs/calcite-graph_2.cjs.entry.js +0 -1055
  97. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -125
  98. package/dist/cjs/utils-7bc7f595.js +0 -64
  99. package/dist/esm/calcite-block_2.entry.js +0 -647
  100. package/dist/esm/calcite-graph_2.entry.js +0 -1050
  101. package/dist/esm/calcite-scrim.entry.js +0 -121
  102. package/dist/esm/utils-9fb4104a.js +0 -61
  103. package/dist/solutions-components/p-04c37d69.entry.js +0 -17
  104. package/dist/solutions-components/p-0b92e4b1.entry.js +0 -11
  105. package/dist/solutions-components/p-238d3b5f.entry.js +0 -6
  106. package/dist/solutions-components/p-3af79063.js +0 -36
  107. package/dist/solutions-components/p-80b11ec1.entry.js +0 -17
  108. package/dist/solutions-components/p-a3a11749.entry.js +0 -6
  109. package/dist/solutions-components/p-aec06ce4.entry.js +0 -18
  110. package/dist/solutions-components/p-bfdf89c2.js +0 -11
  111. package/dist/solutions-components/p-c4ff3b52.entry.js +0 -17
  112. package/dist/solutions-components/p-ced067bd.entry.js +0 -17
  113. package/dist/solutions-components/p-d136eab0.entry.js +0 -23
  114. package/dist/solutions-components/p-e0446d5b.entry.js +0 -6
@@ -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
@@ -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
  */
@@ -128,6 +124,10 @@ export declare class CrowdsourceReporter {
128
124
  * number: default scale to zoom to when zooming to a single point feature
129
125
  */
130
126
  zoomToScale: number;
127
+ /**
128
+ * ILayerExpression[]: Array of layer expressions for layers (filter configuration)
129
+ */
130
+ layerExpressions: ILayerExpression[];
131
131
  /**
132
132
  * IMapInfo: The current map info stores configuration details
133
133
  */
@@ -161,10 +161,26 @@ export declare class CrowdsourceReporter {
161
161
  * boolean: When true show the submit and cancel button
162
162
  */
163
163
  _showSubmitCancelButton: boolean;
164
+ /**
165
+ * boolean: show loading indicator for feature details component upto completing pending operations
166
+ */
167
+ _loadingFeatureDetails: boolean;
164
168
  /**
165
169
  * string: Error message when feature creation fails
166
170
  */
167
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;
168
184
  /**
169
185
  * IMapChange: The current map change details
170
186
  */
@@ -177,6 +193,10 @@ export declare class CrowdsourceReporter {
177
193
  * number: zoom level the map should go to
178
194
  */
179
195
  protected _defaultLevel: number;
196
+ /**
197
+ * string[]: list of configured reporting layer ids
198
+ */
199
+ protected layers: string[];
180
200
  /**
181
201
  * __esri.FeatureLayer[]: Valid layers from the current map
182
202
  */
@@ -205,6 +225,10 @@ export declare class CrowdsourceReporter {
205
225
  * HTMLCreateFeatureElement: Create Feature component instance
206
226
  */
207
227
  protected _createFeature: HTMLCreateFeatureElement;
228
+ /**
229
+ * HTMLCreateFeatureElement: features details component instance
230
+ */
231
+ protected _featureDetails: HTMLFeatureDetailsElement;
208
232
  /**
209
233
  * HTMLLayerListElement: Create Layer list component instance
210
234
  */
@@ -230,6 +254,14 @@ export declare class CrowdsourceReporter {
230
254
  */
231
255
  protected _highlightHandle: __esri.Handle;
232
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;
233
265
  /**
234
266
  * Called each time the mapView prop is changed.
235
267
  */
@@ -238,6 +270,11 @@ export declare class CrowdsourceReporter {
238
270
  * Called each time the mapView prop is changed.
239
271
  */
240
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>;
241
278
  /**
242
279
  * Emitted when toggle panel button is clicked in reporter
243
280
  */
@@ -271,6 +308,31 @@ export declare class CrowdsourceReporter {
271
308
  * @protected
272
309
  */
273
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;
274
336
  /**
275
337
  * Get the feature layer list
276
338
  * @returns the layer list items
@@ -289,6 +351,12 @@ export declare class CrowdsourceReporter {
289
351
  * @protected
290
352
  */
291
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;
292
360
  /**
293
361
  * When drawing of incident location completed on map show the submit and cancel button
294
362
  * @protected
@@ -362,6 +430,11 @@ export declare class CrowdsourceReporter {
362
430
  * @param evt Event which has details of selected feature
363
431
  */
364
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>;
365
438
  /**
366
439
  * Get feature list of the selected feature layer
367
440
  * @param layerId Layer id
@@ -375,6 +448,12 @@ export declare class CrowdsourceReporter {
375
448
  * @returns Node
376
449
  */
377
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;
378
457
  /**
379
458
  * Sets the selected features and updates the first feature as the current selected feature
380
459
  * @param features Graphics array of the features selected
@@ -385,11 +464,6 @@ export declare class CrowdsourceReporter {
385
464
  * @param selectedFeature Graphic currently shown in feature details
386
465
  */
387
466
  protected setCurrentFeature(selectedFeature?: __esri.Graphic): void;
388
- /**
389
- * On Feature details change update the Layer title and the current selected layer id
390
- * @param evt Event hold the details of current feature graphic in the info-card
391
- */
392
- protected featureDetailsChanged(evt: CustomEvent): void;
393
467
  /**
394
468
  * Highlights the feature on map
395
469
  * @param selectedFeature Graphic currently shown in feature details
@@ -424,6 +498,13 @@ export declare class CrowdsourceReporter {
424
498
  * @protected
425
499
  */
426
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;
427
508
  /**
428
509
  * Fetches the component's translations
429
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
  *