@esri/solutions-components 0.10.12 → 0.10.13
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/calcite-alert_4.cjs.entry.js +1 -1
- package/dist/cjs/calcite-flow_6.cjs.entry.js +103 -7
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +173 -43
- package/dist/cjs/feature-list.cjs.entry.js +110 -17
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{popupUtils-92e52dbf.js → popupUtils-47bd97e7.js} +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/assets/t9n/crowdsource-reporter/resources.json +3 -1
- package/dist/collection/assets/t9n/crowdsource-reporter/resources_en.json +3 -1
- package/dist/collection/assets/t9n/feature-list/resources.json +3 -1
- package/dist/collection/assets/t9n/feature-list/resources_en.json +3 -1
- package/dist/collection/components/create-feature/create-feature.js +145 -2
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +227 -43
- package/dist/collection/components/feature-list/feature-list.css +16 -1
- package/dist/collection/components/feature-list/feature-list.js +165 -15
- package/dist/collection/components/layer-list/layer-list.js +35 -6
- package/dist/collection/demos/crowdsource-reporter.html +2 -0
- package/dist/collection/utils/popupUtils.js +1 -1
- package/dist/collection/utils/popupUtils.ts +1 -1
- package/dist/components/create-feature2.js +91 -3
- package/dist/components/crowdsource-reporter.js +178 -45
- package/dist/components/feature-list2.js +152 -50
- package/dist/components/layer-list2.js +18 -6
- package/dist/components/popupUtils.js +1 -1
- package/dist/esm/calcite-alert_4.entry.js +1 -1
- package/dist/esm/calcite-flow_6.entry.js +104 -8
- package/dist/esm/crowdsource-reporter.entry.js +173 -43
- package/dist/esm/feature-list.entry.js +110 -17
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{popupUtils-00c655fb.js → popupUtils-349a26e6.js} +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/assets/t9n/crowdsource-reporter/resources.json +3 -1
- package/dist/solutions-components/assets/t9n/crowdsource-reporter/resources_en.json +3 -1
- package/dist/solutions-components/assets/t9n/feature-list/resources.json +3 -1
- package/dist/solutions-components/assets/t9n/feature-list/resources_en.json +3 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +2 -0
- package/dist/solutions-components/p-40e305b4.entry.js +17 -0
- package/dist/solutions-components/p-4d44410b.entry.js +6 -0
- package/dist/solutions-components/{p-900fee65.js → p-5a473f0d.js} +1 -1
- package/dist/solutions-components/p-9b83e593.entry.js +6 -0
- package/dist/solutions-components/{p-cde8d6e5.entry.js → p-f6bc95b3.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/popupUtils.ts +1 -1
- package/dist/types/components/create-feature/create-feature.d.ts +34 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +80 -21
- package/dist/types/components/feature-list/feature-list.d.ts +49 -7
- package/dist/types/components/layer-list/layer-list.d.ts +4 -0
- package/dist/types/components.d.ts +77 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-064e43e0.entry.js +0 -6
- package/dist/solutions-components/p-2d1afda0.entry.js +0 -17
- package/dist/solutions-components/p-c9260b4c.entry.js +0 -6
@@ -73,7 +73,7 @@ export class PopupUtils {
|
|
73
73
|
}
|
74
74
|
}
|
75
75
|
//Format field values
|
76
|
-
if (layer.popupTemplate
|
76
|
+
if (layer.popupTemplate?.fieldInfos) {
|
77
77
|
layer.fields.forEach((field) => {
|
78
78
|
const attributeValue = graphic.attributes[field.name];
|
79
79
|
//get the field info from popupTemplate
|
@@ -38,6 +38,14 @@ export declare class CreateFeature {
|
|
38
38
|
* boolean: When true the application will be in mobile mode, controls the mobile or desktop view
|
39
39
|
*/
|
40
40
|
isMobile: boolean;
|
41
|
+
/**
|
42
|
+
* string: selected floor level
|
43
|
+
*/
|
44
|
+
floorLevel: string;
|
45
|
+
/**
|
46
|
+
* string: selected floor level
|
47
|
+
*/
|
48
|
+
formElements: any;
|
41
49
|
/**
|
42
50
|
* boolean: When true a loading indicator will be shown while the editor loads
|
43
51
|
*/
|
@@ -51,6 +59,20 @@ export declare class CreateFeature {
|
|
51
59
|
* The Editor constructor
|
52
60
|
*/
|
53
61
|
protected Editor: typeof import("esri/widgets/Editor");
|
62
|
+
/**
|
63
|
+
* esri/form/ExpressionInfo: https://developers.arcgis.com/javascript/latest/api-reference/esri-form-ExpressionInfo.html
|
64
|
+
* The ExpressionInfo constructor
|
65
|
+
*/
|
66
|
+
protected ExpressionInfo: typeof import("esri/form/ExpressionInfo");
|
67
|
+
/**
|
68
|
+
* esri/form/elements/FieldElement: https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-FieldElement.html
|
69
|
+
* The FieldElement constructor
|
70
|
+
*/
|
71
|
+
protected FieldElement: typeof import("esri/form/elements/FieldElement");
|
72
|
+
/**
|
73
|
+
* esri/form/FormTemplate: https://developers.arcgis.com/javascript/latest/api-reference/esri-form-FormTemplate.html
|
74
|
+
*/
|
75
|
+
protected FormTemplate: typeof import("esri/form/FormTemplate");
|
54
76
|
/**
|
55
77
|
* esri/widgets/Editor: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html
|
56
78
|
* The Editor instance
|
@@ -123,6 +145,11 @@ export declare class CreateFeature {
|
|
123
145
|
* @returns Promise that resolves when the operation is complete
|
124
146
|
*/
|
125
147
|
submit(): Promise<void>;
|
148
|
+
/**
|
149
|
+
* refresh the feature form
|
150
|
+
* @returns Promise that resolves when the operation is complete
|
151
|
+
*/
|
152
|
+
refresh(floorLevel: string): Promise<void>;
|
126
153
|
/**
|
127
154
|
* Emitted on demand when the feature is created successfully
|
128
155
|
*/
|
@@ -204,6 +231,13 @@ export declare class CreateFeature {
|
|
204
231
|
* @protected
|
205
232
|
*/
|
206
233
|
protected _getSearchConfig(searchConfiguration: ISearchConfiguration, view: __esri.MapView): ISearchConfiguration;
|
234
|
+
/**
|
235
|
+
* Add the floor level value to form
|
236
|
+
* @param level selected floor level
|
237
|
+
*
|
238
|
+
* @protected
|
239
|
+
*/
|
240
|
+
protected _setFloorLevel(level: string): Promise<void>;
|
207
241
|
/**
|
208
242
|
* Hides the elements of editor widget
|
209
243
|
* @protected
|
@@ -17,6 +17,7 @@ import { VNode, EventEmitter } from "../../stencil-public-runtime";
|
|
17
17
|
import { ILayerExpression, IMapChange, IMapClick, IMapInfo, IReportingOption, IReportingOptions, ISearchConfiguration, ISortingInfo, theme } from "../../utils/interfaces";
|
18
18
|
import CrowdsourceReporter_T9n from "../../assets/t9n/crowdsource-reporter/resources.json";
|
19
19
|
import { ILayerItemsHash } from "../layer-list/layer-list";
|
20
|
+
import { FilterInitState } from "@esri/instant-apps-components";
|
20
21
|
export declare class CrowdsourceReporter {
|
21
22
|
el: HTMLCrowdsourceReporterElement;
|
22
23
|
/**
|
@@ -123,6 +124,14 @@ export declare class CrowdsourceReporter {
|
|
123
124
|
* boolean: When true the profile image of the comment creator will be shown in the comments list
|
124
125
|
*/
|
125
126
|
showUserImageInCommentsList: boolean;
|
127
|
+
/**
|
128
|
+
* boolean: When true the feature symbology of the feature will shown in the features list
|
129
|
+
*/
|
130
|
+
showFeatureSymbol: boolean;
|
131
|
+
/**
|
132
|
+
* boolean: To show only those features which are created by the logged in user
|
133
|
+
*/
|
134
|
+
showMyReportsOnly?: boolean;
|
126
135
|
/**
|
127
136
|
* theme: "light" | "dark" theme to be used
|
128
137
|
*/
|
@@ -131,6 +140,10 @@ export declare class CrowdsourceReporter {
|
|
131
140
|
* number: default scale to zoom to when zooming to a single point feature
|
132
141
|
*/
|
133
142
|
zoomToScale: number;
|
143
|
+
/**
|
144
|
+
* string: selected floor level
|
145
|
+
*/
|
146
|
+
floorLevel: string;
|
134
147
|
/**
|
135
148
|
* string: Error message when feature creation fails
|
136
149
|
*/
|
@@ -139,10 +152,6 @@ export declare class CrowdsourceReporter {
|
|
139
152
|
* boolean: When true an indicator will be shown on the action
|
140
153
|
*/
|
141
154
|
_filterActive: boolean;
|
142
|
-
/**
|
143
|
-
* boolean: When true the filter component will be displayed
|
144
|
-
*/
|
145
|
-
_filterOpen: boolean;
|
146
155
|
/**
|
147
156
|
* string[]: Reporter flow items list
|
148
157
|
*/
|
@@ -276,6 +285,11 @@ export declare class CrowdsourceReporter {
|
|
276
285
|
* esri/core/reactiveUtils: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html
|
277
286
|
*/
|
278
287
|
protected reactiveUtils: typeof import("esri/core/reactiveUtils");
|
288
|
+
/**
|
289
|
+
* "esri/layers/support/FeatureFilter": https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureFilter.html
|
290
|
+
* Esri FeatureFilter
|
291
|
+
*/
|
292
|
+
protected FeatureFilter: typeof import("esri/layers/support/FeatureFilter");
|
279
293
|
/**
|
280
294
|
* __esri.Graphic: The selected feature
|
281
295
|
*/
|
@@ -312,6 +326,22 @@ export declare class CrowdsourceReporter {
|
|
312
326
|
* boolean: when true allow panel to show in full height
|
313
327
|
*/
|
314
328
|
protected _showFullPanel: boolean;
|
329
|
+
/**
|
330
|
+
* string: The current floor expression
|
331
|
+
*/
|
332
|
+
protected _floorExpression: string;
|
333
|
+
/**
|
334
|
+
* _esri.Element: form elements of the selected layer
|
335
|
+
*/
|
336
|
+
protected _formElements: any[];
|
337
|
+
/**
|
338
|
+
* string[]: URL params set by using filters.
|
339
|
+
*/
|
340
|
+
protected _filterUrlParams: string[];
|
341
|
+
/**
|
342
|
+
* FilterInitState: filter's init state
|
343
|
+
*/
|
344
|
+
protected _filterInitState: FilterInitState;
|
315
345
|
/**
|
316
346
|
* Called each time the mapView prop is changed.
|
317
347
|
*/
|
@@ -320,6 +350,10 @@ export declare class CrowdsourceReporter {
|
|
320
350
|
* Called each time the mapView prop is changed.
|
321
351
|
*/
|
322
352
|
mapViewWatchHandler(): Promise<void>;
|
353
|
+
/**
|
354
|
+
* Called each time the floorLevel prop is changed.
|
355
|
+
*/
|
356
|
+
floorLevelWatchHandler(): Promise<void>;
|
323
357
|
/**
|
324
358
|
* Emitted when toggle panel button is clicked in reporter
|
325
359
|
*/
|
@@ -362,21 +396,6 @@ export declare class CrowdsourceReporter {
|
|
362
396
|
* @protected
|
363
397
|
*/
|
364
398
|
protected _getReporter(): VNode;
|
365
|
-
/**
|
366
|
-
* Show filter component in modal
|
367
|
-
* @returns node to interact with any configured filters for the current layer
|
368
|
-
*/
|
369
|
-
protected filterModal(): VNode;
|
370
|
-
/**
|
371
|
-
* Close the filter modal
|
372
|
-
* @protected
|
373
|
-
*/
|
374
|
-
protected _closeFilter(): void;
|
375
|
-
/**
|
376
|
-
* When true the filter modal will be displayed
|
377
|
-
* @protected
|
378
|
-
*/
|
379
|
-
protected _toggleFilter(): void;
|
380
399
|
/**
|
381
400
|
* On sort option click update the sort field and sort order
|
382
401
|
* @param sortField sort field
|
@@ -390,10 +409,15 @@ export declare class CrowdsourceReporter {
|
|
390
409
|
*/
|
391
410
|
protected _toggleSort(): Node;
|
392
411
|
/**
|
393
|
-
*
|
412
|
+
* Restores the applied filters
|
413
|
+
* @protected
|
414
|
+
*/
|
415
|
+
protected _restoreFilters(): void;
|
416
|
+
/**
|
417
|
+
* Reset the filter
|
394
418
|
* @protected
|
395
419
|
*/
|
396
|
-
protected _handleFilterListReset(): void
|
420
|
+
protected _handleFilterListReset(): Promise<void>;
|
397
421
|
/**
|
398
422
|
* Check if the layers definitionExpression has been modified and update the feature list depending on the applied filters
|
399
423
|
* @protected
|
@@ -502,6 +526,11 @@ export declare class CrowdsourceReporter {
|
|
502
526
|
* @protected
|
503
527
|
*/
|
504
528
|
protected displayFeaturesList(evt: CustomEvent): void;
|
529
|
+
/**
|
530
|
+
* On back from filter panel get the filter's init state
|
531
|
+
* @protected
|
532
|
+
*/
|
533
|
+
protected backFromFilterPanel(): Promise<void>;
|
505
534
|
/**
|
506
535
|
* On back from selected panel navigate to the previous panel
|
507
536
|
* @protected
|
@@ -554,6 +583,14 @@ export declare class CrowdsourceReporter {
|
|
554
583
|
* @protected
|
555
584
|
*/
|
556
585
|
protected getFeatureListFlowItem(layerId: string, layerName: string): Node;
|
586
|
+
/**
|
587
|
+
* Get Filter page for apllying filter
|
588
|
+
* @param layerId Layer id
|
589
|
+
* @param layerName Layer name
|
590
|
+
* @returns feature list node
|
591
|
+
* @protected
|
592
|
+
*/
|
593
|
+
protected getFilterPanel(): Node;
|
557
594
|
/**
|
558
595
|
* Returns the calcite-flow item for feature details
|
559
596
|
* @returns Node
|
@@ -632,6 +669,18 @@ export declare class CrowdsourceReporter {
|
|
632
669
|
* @protected
|
633
670
|
*/
|
634
671
|
protected _getTranslations(): Promise<void>;
|
672
|
+
/**
|
673
|
+
* Applies a definition expression when floor field and level are available
|
674
|
+
*
|
675
|
+
* @returns boolean
|
676
|
+
* @protected
|
677
|
+
*/
|
678
|
+
protected _updateFloorDefinitionExpression(layer: __esri.FeatureLayer): void;
|
679
|
+
/**
|
680
|
+
* Gets the form template elements
|
681
|
+
* @protected
|
682
|
+
*/
|
683
|
+
protected _getFormElements(): void;
|
635
684
|
/**
|
636
685
|
* Returns the ids of all OR configured layers that support edits with the update capability
|
637
686
|
* @param hash each layer item details
|
@@ -639,6 +688,16 @@ export declare class CrowdsourceReporter {
|
|
639
688
|
* @returns array of editable layer ids
|
640
689
|
*/
|
641
690
|
protected reduceToConfiguredLayers(hash: ILayerItemsHash): string[];
|
691
|
+
/**
|
692
|
+
* updates the features for layer/feature list
|
693
|
+
* @protected
|
694
|
+
*/
|
695
|
+
protected _updateFeatures(): Promise<void>;
|
696
|
+
/**
|
697
|
+
* Show only loggedIn user's features
|
698
|
+
* @protected
|
699
|
+
*/
|
700
|
+
protected _showMyFeaturesOnly(featureLayerView: __esri.FeatureLayerView): Promise<void>;
|
642
701
|
/**
|
643
702
|
* Creates the list of layers to be listed in layer list
|
644
703
|
* @protected
|
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { VNode, EventEmitter } from "../../stencil-public-runtime";
|
17
|
-
import { IPopupUtils, ISortingInfo } from "../../utils/interfaces";
|
17
|
+
import { IPopupUtils, IReportingOptions, ISortingInfo } from "../../utils/interfaces";
|
18
18
|
import FeatureList_T9n from "../../assets/t9n/feature-list/resources.json";
|
19
19
|
export declare class FeatureList {
|
20
20
|
el: HTMLFeatureListElement;
|
@@ -66,6 +66,18 @@ export declare class FeatureList {
|
|
66
66
|
* boolean: If true display's profile img on each feature item
|
67
67
|
*/
|
68
68
|
showUserImageInList?: boolean;
|
69
|
+
/**
|
70
|
+
* boolean: If true display's feature symbol on each feature item
|
71
|
+
*/
|
72
|
+
showFeatureSymbol?: boolean;
|
73
|
+
/**
|
74
|
+
* boolean: If true will consider the FeatureFilter applied on the layerview
|
75
|
+
*/
|
76
|
+
applyLayerViewFilter?: boolean;
|
77
|
+
/**
|
78
|
+
* IReportingOptions: Key options for reporting
|
79
|
+
*/
|
80
|
+
reportingOptions: IReportingOptions;
|
69
81
|
/**
|
70
82
|
* calcite-list-item list of features with popup titles
|
71
83
|
*/
|
@@ -93,6 +105,11 @@ export declare class FeatureList {
|
|
93
105
|
* Esri config
|
94
106
|
*/
|
95
107
|
protected esriConfig: typeof import("esri/config");
|
108
|
+
/**
|
109
|
+
* "esri/symbols/support/symbolUtils": https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-support-symbolUtils.html
|
110
|
+
* Symbol utils
|
111
|
+
*/
|
112
|
+
protected symbolUtils: typeof import("esri/symbols/support/symbolUtils");
|
96
113
|
/**
|
97
114
|
* IPopupUtils: To fetch the list label using popup titles
|
98
115
|
*/
|
@@ -109,6 +126,18 @@ export declare class FeatureList {
|
|
109
126
|
* HTMLCalcitePaginationElement: Calcite pagination element instance
|
110
127
|
*/
|
111
128
|
protected _pagination: HTMLCalcitePaginationElement;
|
129
|
+
/**
|
130
|
+
* string[]: Valid field types for like
|
131
|
+
*/
|
132
|
+
protected _validFieldTypes: string[];
|
133
|
+
/**
|
134
|
+
* string: Abbrivated like count of the feature
|
135
|
+
*/
|
136
|
+
protected _abbreviatedLikeCount: string;
|
137
|
+
/**
|
138
|
+
* boolean: When true configured like field is available in selected layer
|
139
|
+
*/
|
140
|
+
protected _likeFieldAvailable: boolean;
|
112
141
|
/**
|
113
142
|
* Watch for selectedLayerId change and update layer instance and features list for new layerId
|
114
143
|
*/
|
@@ -144,16 +173,16 @@ export declare class FeatureList {
|
|
144
173
|
*/
|
145
174
|
render(): any;
|
146
175
|
/**
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
176
|
+
* Load esri javascript api modules
|
177
|
+
* @returns Promise resolving when function is done
|
178
|
+
* @protected
|
179
|
+
*/
|
151
180
|
protected initModules(): Promise<void>;
|
152
181
|
/**
|
153
182
|
* Return the where condition string considering the defined where clause and layer's definition expression
|
154
183
|
* @protected
|
155
184
|
*/
|
156
|
-
protected getWhereCondition(): string
|
185
|
+
protected getWhereCondition(): Promise<string>;
|
157
186
|
/**
|
158
187
|
* Initialize the features list using the selected layer
|
159
188
|
* @protected
|
@@ -203,6 +232,12 @@ export declare class FeatureList {
|
|
203
232
|
* @protected
|
204
233
|
*/
|
205
234
|
protected createFeatureItem(featureSet: any): Promise<VNode[]>;
|
235
|
+
/**
|
236
|
+
* Displays the abbrivated like count on the feature list
|
237
|
+
* @param feature feature of the layer
|
238
|
+
* @protected
|
239
|
+
*/
|
240
|
+
protected getAbbreviatedLikeCount(feature: __esri.Graphic): void;
|
206
241
|
/**
|
207
242
|
* Get each feature item
|
208
243
|
* @param selectedFeature Each individual feature instance to be listed
|
@@ -210,7 +245,7 @@ export declare class FeatureList {
|
|
210
245
|
* @returns individual feature item to be rendered
|
211
246
|
* @protected
|
212
247
|
*/
|
213
|
-
protected getFeatureItem(selectedFeature: __esri.Graphic, popupTitle: string, userInfo: any): VNode;
|
248
|
+
protected getFeatureItem(selectedFeature: __esri.Graphic, popupTitle: string, featureSymbol: HTMLDivElement, userInfo: any): VNode;
|
214
249
|
/**
|
215
250
|
*
|
216
251
|
* @param feature Each individual feature instance to be listed
|
@@ -219,6 +254,13 @@ export declare class FeatureList {
|
|
219
254
|
* @protected
|
220
255
|
*/
|
221
256
|
protected getUserInformation(feature: __esri.Graphic, creatorField: string): Promise<any>;
|
257
|
+
/**
|
258
|
+
* Creates a feature symbology
|
259
|
+
* @param feature Each individual feature
|
260
|
+
* @returns Feature symbology
|
261
|
+
* @protected
|
262
|
+
*/
|
263
|
+
protected getFeatureSymbol(feature: __esri.Graphic): Promise<HTMLDivElement>;
|
222
264
|
/**
|
223
265
|
* Fetches the component's translations
|
224
266
|
* @returns Promise when complete
|
@@ -42,6 +42,10 @@ export declare class LayerList {
|
|
42
42
|
* boolean: If true display's arrow icon on each layer item
|
43
43
|
*/
|
44
44
|
showNextIcon?: boolean;
|
45
|
+
/**
|
46
|
+
* boolean: If true will consider the FeatureFilter applied on the layerview
|
47
|
+
*/
|
48
|
+
applyLayerViewFilter?: boolean;
|
45
49
|
/**
|
46
50
|
* boolean: When true will display message no layers found
|
47
51
|
*/
|
@@ -124,6 +124,14 @@ export namespace Components {
|
|
124
124
|
* boolean: Set this to true when have a custom submit button in the app. This will hide the header and footer elements of the editor and user needs to execute the submit method manually.
|
125
125
|
*/
|
126
126
|
"customizeSubmit"?: boolean;
|
127
|
+
/**
|
128
|
+
* string: selected floor level
|
129
|
+
*/
|
130
|
+
"floorLevel": string;
|
131
|
+
/**
|
132
|
+
* string: selected floor level
|
133
|
+
*/
|
134
|
+
"formElements": any;
|
127
135
|
/**
|
128
136
|
* boolean: When true the application will be in mobile mode, controls the mobile or desktop view
|
129
137
|
*/
|
@@ -132,6 +140,11 @@ export namespace Components {
|
|
132
140
|
* esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
|
133
141
|
*/
|
134
142
|
"mapView": __esri.MapView;
|
143
|
+
/**
|
144
|
+
* refresh the feature form
|
145
|
+
* @returns Promise that resolves when the operation is complete
|
146
|
+
*/
|
147
|
+
"refresh": (floorLevel: string) => Promise<void>;
|
135
148
|
/**
|
136
149
|
* ISearchConfiguration: Configuration details for the Search widget
|
137
150
|
*/
|
@@ -363,6 +376,10 @@ export namespace Components {
|
|
363
376
|
* boolean: when true the zoom widget will be available
|
364
377
|
*/
|
365
378
|
"enableZoom": boolean;
|
379
|
+
/**
|
380
|
+
* string: selected floor level
|
381
|
+
*/
|
382
|
+
"floorLevel": string;
|
366
383
|
/**
|
367
384
|
* boolean: When true the application will be in mobile mode, controls the mobile or desktop view
|
368
385
|
*/
|
@@ -419,6 +436,14 @@ export namespace Components {
|
|
419
436
|
* boolean: When true the comments from all users will be visible
|
420
437
|
*/
|
421
438
|
"showComments": boolean;
|
439
|
+
/**
|
440
|
+
* boolean: When true the feature symbology of the feature will shown in the features list
|
441
|
+
*/
|
442
|
+
"showFeatureSymbol": boolean;
|
443
|
+
/**
|
444
|
+
* boolean: To show only those features which are created by the logged in user
|
445
|
+
*/
|
446
|
+
"showMyReportsOnly"?: boolean;
|
422
447
|
/**
|
423
448
|
* boolean: When true the profile image of the comment creator will be shown in the comments list
|
424
449
|
*/
|
@@ -522,6 +547,10 @@ export namespace Components {
|
|
522
547
|
interface FeatureFormFlowItem {
|
523
548
|
}
|
524
549
|
interface FeatureList {
|
550
|
+
/**
|
551
|
+
* boolean: If true will consider the FeatureFilter applied on the layerview
|
552
|
+
*/
|
553
|
+
"applyLayerViewFilter"?: boolean;
|
525
554
|
/**
|
526
555
|
* boolean: Highlight feature on map optional (default false) boolean to indicate if we should highlight when hover on Feature in list
|
527
556
|
*/
|
@@ -547,6 +576,10 @@ export namespace Components {
|
|
547
576
|
* @returns Promise that resolves when the operation is complete
|
548
577
|
*/
|
549
578
|
"refresh": () => Promise<void>;
|
579
|
+
/**
|
580
|
+
* IReportingOptions: Key options for reporting
|
581
|
+
*/
|
582
|
+
"reportingOptions": IReportingOptions;
|
550
583
|
/**
|
551
584
|
* string: Layer id of the feature layer to show the list
|
552
585
|
*/
|
@@ -555,6 +588,10 @@ export namespace Components {
|
|
555
588
|
* boolean: If true will show error msg when features are not present
|
556
589
|
*/
|
557
590
|
"showErrorWhenNoFeatures"?: boolean;
|
591
|
+
/**
|
592
|
+
* boolean: If true display's feature symbol on each feature item
|
593
|
+
*/
|
594
|
+
"showFeatureSymbol"?: boolean;
|
558
595
|
/**
|
559
596
|
* boolean: Show initial loading indicator when creating list
|
560
597
|
*/
|
@@ -695,6 +732,10 @@ export namespace Components {
|
|
695
732
|
"value": any;
|
696
733
|
}
|
697
734
|
interface LayerList {
|
735
|
+
/**
|
736
|
+
* boolean: If true will consider the FeatureFilter applied on the layerview
|
737
|
+
*/
|
738
|
+
"applyLayerViewFilter"?: boolean;
|
698
739
|
/**
|
699
740
|
* string[]: If passed will show only these layers in the list if they are present in map and are editable
|
700
741
|
*/
|
@@ -2614,6 +2655,14 @@ declare namespace LocalJSX {
|
|
2614
2655
|
* boolean: Set this to true when have a custom submit button in the app. This will hide the header and footer elements of the editor and user needs to execute the submit method manually.
|
2615
2656
|
*/
|
2616
2657
|
"customizeSubmit"?: boolean;
|
2658
|
+
/**
|
2659
|
+
* string: selected floor level
|
2660
|
+
*/
|
2661
|
+
"floorLevel"?: string;
|
2662
|
+
/**
|
2663
|
+
* string: selected floor level
|
2664
|
+
*/
|
2665
|
+
"formElements"?: any;
|
2617
2666
|
/**
|
2618
2667
|
* boolean: When true the application will be in mobile mode, controls the mobile or desktop view
|
2619
2668
|
*/
|
@@ -2888,6 +2937,10 @@ declare namespace LocalJSX {
|
|
2888
2937
|
* boolean: when true the zoom widget will be available
|
2889
2938
|
*/
|
2890
2939
|
"enableZoom"?: boolean;
|
2940
|
+
/**
|
2941
|
+
* string: selected floor level
|
2942
|
+
*/
|
2943
|
+
"floorLevel"?: string;
|
2891
2944
|
/**
|
2892
2945
|
* boolean: When true the application will be in mobile mode, controls the mobile or desktop view
|
2893
2946
|
*/
|
@@ -2948,6 +3001,14 @@ declare namespace LocalJSX {
|
|
2948
3001
|
* boolean: When true the comments from all users will be visible
|
2949
3002
|
*/
|
2950
3003
|
"showComments"?: boolean;
|
3004
|
+
/**
|
3005
|
+
* boolean: When true the feature symbology of the feature will shown in the features list
|
3006
|
+
*/
|
3007
|
+
"showFeatureSymbol"?: boolean;
|
3008
|
+
/**
|
3009
|
+
* boolean: To show only those features which are created by the logged in user
|
3010
|
+
*/
|
3011
|
+
"showMyReportsOnly"?: boolean;
|
2951
3012
|
/**
|
2952
3013
|
* boolean: When true the profile image of the comment creator will be shown in the comments list
|
2953
3014
|
*/
|
@@ -3066,6 +3127,10 @@ declare namespace LocalJSX {
|
|
3066
3127
|
interface FeatureFormFlowItem {
|
3067
3128
|
}
|
3068
3129
|
interface FeatureList {
|
3130
|
+
/**
|
3131
|
+
* boolean: If true will consider the FeatureFilter applied on the layerview
|
3132
|
+
*/
|
3133
|
+
"applyLayerViewFilter"?: boolean;
|
3069
3134
|
/**
|
3070
3135
|
* boolean: Highlight feature on map optional (default false) boolean to indicate if we should highlight when hover on Feature in list
|
3071
3136
|
*/
|
@@ -3090,6 +3155,10 @@ declare namespace LocalJSX {
|
|
3090
3155
|
* number: Number features to be fetched per page, by default 100 features will be fetched
|
3091
3156
|
*/
|
3092
3157
|
"pageSize"?: number;
|
3158
|
+
/**
|
3159
|
+
* IReportingOptions: Key options for reporting
|
3160
|
+
*/
|
3161
|
+
"reportingOptions"?: IReportingOptions;
|
3093
3162
|
/**
|
3094
3163
|
* string: Layer id of the feature layer to show the list
|
3095
3164
|
*/
|
@@ -3098,6 +3167,10 @@ declare namespace LocalJSX {
|
|
3098
3167
|
* boolean: If true will show error msg when features are not present
|
3099
3168
|
*/
|
3100
3169
|
"showErrorWhenNoFeatures"?: boolean;
|
3170
|
+
/**
|
3171
|
+
* boolean: If true display's feature symbol on each feature item
|
3172
|
+
*/
|
3173
|
+
"showFeatureSymbol"?: boolean;
|
3101
3174
|
/**
|
3102
3175
|
* boolean: Show initial loading indicator when creating list
|
3103
3176
|
*/
|
@@ -3212,6 +3285,10 @@ declare namespace LocalJSX {
|
|
3212
3285
|
"value"?: any;
|
3213
3286
|
}
|
3214
3287
|
interface LayerList {
|
3288
|
+
/**
|
3289
|
+
* boolean: If true will consider the FeatureFilter applied on the layerview
|
3290
|
+
*/
|
3291
|
+
"applyLayerViewFilter"?: boolean;
|
3215
3292
|
/**
|
3216
3293
|
* string[]: If passed will show only these layers in the list if they are present in map and are editable
|
3217
3294
|
*/
|
package/package.json
CHANGED
@@ -1,6 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Copyright 2022 Esri
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
*/
|
6
|
-
import{r as t,c as i,g as s,h as e}from"./p-6eb37ed2.js";import{l as a,g as h}from"./p-2058b5d9.js";import{P as n}from"./p-900fee65.js";import{g as c,c as r,h as o}from"./p-eb483242.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-022c49af.js";import"./p-659678f1.js";import"./p-7c583516.js";import"./p-80cb7c73.js";const l=class{constructor(s){t(this,s),this.featureSelect=i(this,"featureSelect",7),this.selectedLayerId=void 0,this.mapView=void 0,this.noFeaturesFoundMsg=void 0,this.pageSize=100,this.highlightOnMap=!1,this.highlightOnHover=!1,this.sortingInfo=void 0,this.whereClause=void 0,this.textSize="large",this.showInitialLoading=!0,this.showErrorWhenNoFeatures=!0,this.showUserImageInList=!1,this._featureItems=[],this._featuresCount=0,this._isLoading=!1,this._translations=void 0}get el(){return s(this)}Color;esriConfig;_popupUtils;_selectedLayer;_highlightHandle;_pagination;async selectedLayerWatchHandler(){this._selectedLayer=await c(this.mapView,this.selectedLayerId),await this.initializeFeatureItems()}async sortingInfoWatchHandler(){await this.initializeFeatureItems()}async whereClauseHandler(){await this.initializeFeatureItems()}async refresh(){await this.initializeFeatureItems()}featureSelect;async componentWillLoad(){await this.initModules(),await this._getTranslations(),this._isLoading=this.showInitialLoading,this._popupUtils=new n,this.mapView&&this.selectedLayerId&&(this._selectedLayer=await c(this.mapView,this.selectedLayerId))}async componentDidLoad(){await this.initializeFeatureItems()}render(){return e("calcite-panel",{key:"ace7bcabf497e9a61d261fd7ea29dc664ee0a526","full-height":!0,"full-width":!0},this._isLoading&&e("calcite-loader",{key:"675c7f5be7f8456954acdf353f357bac6145c390",label:"",scale:"m"}),this.showErrorWhenNoFeatures&&0===this._featureItems.length&&!this._isLoading&&e("calcite-notice",{key:"b2e6537acdec801ef066a74c78a2c4a13dbbc44b",class:"error-msg",icon:"feature-details",kind:"info",open:!0},e("div",{key:"7697470234b396a904906b80e4fc8df3a0cc732b",slot:"message"},this.noFeaturesFoundMsg?this.noFeaturesFoundMsg:this._translations.featureErrorMsg)),e("calcite-list",{key:"d2b40c9a5e1bf009cb78d640351a16b24711ff59","selection-appearance":"border","selection-mode":"none"},!this._isLoading&&this._featureItems.length>0&&this._featureItems),this._featuresCount>this.pageSize&&e("div",{key:"15b0dae0fb914faf053a4b0cbea6e35ef7abc038",class:"width-full",slot:"footer"},e("calcite-pagination",{key:"04f8eb02535f8cff8de0c111ac2d4bfa883ac128",class:"pagination","full-width":!0,onCalcitePaginationChange:this.pageChanged.bind(this),"page-size":this.pageSize,ref:t=>this._pagination=t,"start-item":"1","total-items":this._featuresCount})))}async initModules(){const[t,i]=await a(["esri/Color","esri/config"]);this.Color=t,this.esriConfig=i}getWhereCondition(){let t="1=1";return this.whereClause&&(t=this.whereClause),this._selectedLayer?.definitionExpression&&(t=t+" AND "+this._selectedLayer.definitionExpression),t}async initializeFeatureItems(){if(this._selectedLayer){this._pagination?.goTo("start"),this._isLoading=this.showInitialLoading,this._featureItems=await this.queryPage(0);const t={where:this.getWhereCondition()};this._featuresCount=await this._selectedLayer.queryFeatureCount(t),this._isLoading=!1}}async pageChanged(t){this._isLoading=!0,this._highlightHandle&&(this._highlightHandle.remove(),this._highlightHandle=null);const i=t.target.startItem-1;this._featureItems=await this.queryPage(i),this._isLoading=!1}async featureClicked(t,i){if(this.clearHighlights(),this.highlightOnMap){const i=Number(t.target.value),s=await r(this.mapView,this.selectedLayerId);this._highlightHandle=await o([i],s,this.mapView,!0)}await this.emitSelectedFeature(i)}async emitSelectedFeature(t){const i=t.layer,s=i.createQuery();s.returnGeometry=!0,s.objectIds=[t.getObjectId()];const e=await i.queryFeatures(s);this.featureSelect.emit(e.features[0])}async onFeatureHover(t){if(this.clearHighlights(),this.highlightOnHover){const i=t.getObjectId(),s=await r(this.mapView,this.selectedLayerId);s.highlightOptions={color:new this.Color("#FFFF00")},this._highlightHandle=s.highlight([i])}}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}async queryPage(t){const i=this._selectedLayer,s=this.sortingInfo?.field?this.sortingInfo.field:i.objectIdField,e=this.sortingInfo?.order?this.sortingInfo.order:"desc",a={start:t,num:this.pageSize,outFields:["*"],returnGeometry:!0,where:this.getWhereCondition(),outSpatialReference:this.mapView.spatialReference.toJSON()};s&&e&&(a.orderByFields=[s.toString()+" "+e]);const h=await i.queryFeatures(a);return await this.createFeatureItem(h)}async createFeatureItem(t){const i=t?.features,s=i.map((async t=>{const i=await this._popupUtils.getPopupTitle(t,this.mapView.map);let s;if(this.showUserImageInList){const i=this._selectedLayer.editFieldsInfo?.creatorField.toLowerCase();i&&(s=await this.getUserInformation(t,i))}return this.getFeatureItem(t,i,s)}));return Promise.all(s)}getFeatureItem(t,i,s){const a=t.attributes[this._selectedLayer.objectIdField].toString();i=i??a;const h="small"===this.textSize?"feature-list-popup-title-small":"feature-list-popup-title",n=this.showUserImageInList?"feature-list-popup-title-padding-reduced":"feature-list-popup-title-padding";return e("calcite-list-item",{onCalciteListItemSelect:i=>{this.featureClicked(i,t)},onMouseLeave:()=>{this.clearHighlights()},onMouseOver:()=>{this.onFeatureHover(t)},value:a},this.showUserImageInList&&e("calcite-avatar",{class:"profile-img","full-name":s?.fullName,id:s?.id,scale:"m",slot:"content-start",thumbnail:s?.userProfileUrl,username:s?.username}),e("div",{class:`${h} ${n}`,slot:"content-start"},i),e("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}async getUserInformation(t,i){const s=this.mapView.map.portalItem.portal?.credential?.token;let e=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${t.attributes[i]}?f=json&returnUserLicensedItems=true`;s&&(e+=`&token=${s}`);const a=await fetch(e),h=await a.json();let n=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${h?.username??t.attributes[i]}/info/blob.png`;return h?.access&&s&&(n+=`?token=${s}`),h.userProfileUrl=n,h}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{selectedLayerId:["selectedLayerWatchHandler"],sortingInfo:["sortingInfoWatchHandler"],whereClause:["whereClauseHandler"]}}};l.style=":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-padding{padding:10px 12px}.feature-list-popup-title-padding-reduced{padding:10px 0}.profile-img{margin:0 0.75rem;min-width:32px}";export{l as feature_list}
|