@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.
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
  *