|
POST
|
Thank you @JeffreyThompson2 and @PartyPelican for your response. It is working fine.
... View more
03-28-2025
08:28 AM
|
0
|
0
|
462
|
|
POST
|
Hi, I am also trying for similar requirement. I tried below approach and could able to create a new instance for JimuMapView with new web map id. However, the new instance is not sent to all widgets and app. I am unable to identify how can we do this. I used 'getAppStore().dispatch(appActions.jimuMapViewUpdated' but it did not work. Any guidance would be very much helpful. const createNewJimuMapView = async (jimuMapView) => {
const dataSourceManager = DataSourceManager.getInstance();
const dSources = dataSourceManager.getDataSourcesAsArray()
const dsOptions = {
id: "ds_11e0c122b7c745d4ae1385ae907733b0",
itemId: "11e0c122b7c745d4ae1385ae907733b0",
portalUrl: "<Portal Url>",
sourceLabel: "test",
type: "WEB_MAP"
}
const ds = await dataSourceManager.createDataSource(dsOptions)
//jimuMapView.destroy() //tried destroying, it destroyed existing
const sourceMap = new WebMap({
portalItem: {
id: '11e0c122b7c745d4ae1385ae907733b0'
}
});
await sourceMap.load();
const mapView = new MapView({
map: sourceMap
})
let options = {} as JimuMapViewConstructorOptions
options['mapWidgetId'] = jimuMapView.mapWidgetId
options['isActive'] = true
options['dataSourceId'] = ds.id
options['mapViewManager'] = MapViewManager.getInstance()
options['view'] = mapView
options['isEnablePopup'] = true
let newJimuMapView = await MapViewManager.getInstance().createJimuMapView(options)
const newJimuMapViewInfo: JimuMapViewInfo = {
dataSourceId: ds.id,
id: newJimuMapView.id,
isActive: true,
mapWidgetId: newJimuMapView.mapWidgetId,
status: JimuMapViewStatus.Loaded
}
getAppStore().dispatch(appActions.jimuMapViewUpdated(newJimuMapView.id, newJimuMapViewInfo as IMJimuMapViewInfo))
return newJimuMapView;
};
... View more
03-26-2025
06:52 AM
|
1
|
0
|
697
|
|
POST
|
Hi @JeffreyThompson2 , thank you for your reply. My requirement is not direct communication. Widget1 stores some data in its flow and widget 2 need to use that data later in its specific flow. Could you please suggest, how can I achieve this if custom reduced store is not suitable. Thanks in advance
... View more
03-25-2025
01:28 PM
|
0
|
0
|
515
|
|
POST
|
Hi , I have followed the link - Create Redux store under Widget Communication section of Sample Code. Created a store extension in a custom widget (Widget1) and tried to access the store in another custom widget (Widget2). But I could not access it through 'useSelector'. My requirement is to access the store in a custom module(.tsx) instantiated in a widget (Widget1) which extends the store and also in its widget.tsx file. My folder structure your-extensions/
├── widgets/
│ ├── widget1/
│ │ └── store-extensions/
│ │ | └── store-extension.js | | └── src/runtime/widget.tsx & customModule.tsx | | └── manifest.json
│ ├── widget2/ | | └── src/runtime/widget.tsx & customModule.tsx
│ │ └── manifest.json I also tried keeping the store in a common place and extending it in both widget's manifest files your-extensions/
├── widgets/
│ ├── shared/
│ │ └── store-extensions/
│ │ └── plan-store.js
│ ├── widget1/
│ │ └── manifest.json
│ ├── widget2/
│ │ └── manifest.json However, I could not successfully specific the uri for extension in manifest.json from shared folder it is not accepting it. Any pointers on how to use the custom store extension in multiple widgets and its components. Hi @JeffreyThompson2. Could you please guide me in this. Thanks in advance.
... View more
03-25-2025
08:55 AM
|
0
|
5
|
563
|
|
POST
|
Hi @JeffreyThompson2 , Hope you are doing good. I request you to please guide me on creating datasource for grouplayer with featurelayers added as sub layers. I tried similar approach you suggested above for feature layers but facing errors something like below. Any help would be highly appreciated. Thanks in advance
... View more
03-19-2025
11:47 PM
|
0
|
1
|
417
|
|
POST
|
Hi @JeffreyThompson2 , I could able to achieve this by customizing Map-Layers widget to show only editable layers using below additional code line. listItem.hidden = listItem?.layer?.capabilities?.operations?.supportsEditing ? false : true Now, I am trying to change the 'checkbox' to toggle the layer visibility to JimuUI's Switch. Could you please guide me how can I achieve this. Thanks in advance With Regards
... View more
03-06-2025
09:44 AM
|
0
|
1
|
304
|
|
POST
|
Hi @JunshanLiu , Thanks for the response. In my settings widgets, I have multiple "DataSourceSelector" settings in each widget not just simple datatype. So, Could you please give me some sample how to update this "DataSourceSelector" for different environments for deployment through pipeline. Thanks in advance!
... View more
02-20-2025
08:15 PM
|
0
|
0
|
407
|
|
POST
|
Thanks for the response @JunshanLiu . I did not identify how to update every widgets configs in this approach. Could you please provide me more insights. I have gone through server/download-app.js file, but did not get idea on how to update configs of every widget at deployment time for different environments. Thanks in advance
... View more
02-18-2025
11:48 PM
|
0
|
0
|
443
|
|
POST
|
Hi Team, We have developed custom widgets in ArcGIS Experience Builder Developer Edition. Each widget has its own settings widget. We are deploying through pipeline and used below command in pipeline. node -e "require('./server/src/middlewares/dev/apps/app-download.js').zipApp('0', 'app.zip', 'my_client_id');" All the widgets and app at 0 index is configured and saved in builder for one environment for eg., Dev. How can we automate changing all these configurations to move to other environments such as SIT, UAT, Prod. Do we need to manually configure widgets and use those app ids in pipeline based on environment? or any best/better way, please suggest. Thanks in advance! With Regards.
... View more
02-17-2025
09:01 AM
|
0
|
4
|
490
|
|
POST
|
Thanks for the inputs @JeffreyThompson2 To build a custom Analysis Widget, to have a list of geoprocessing services added, just like OOTB Analysis widget, do we have any Jimu UI or JS API widgets to get the GP tool UI and results automatically, just like GeoProcessing widget in ESRI Web AppBuilder. I really appreciate you for your great help and suggestions. Thank you so much.
... View more
02-13-2025
07:14 AM
|
0
|
2
|
1969
|
|
POST
|
Thank you for response @JeffreyThompson2 If that is not a way of achieving this, could you please suggest if there is any other way which can be executed from custom widget and without having any changes in Analysis widget. I have tried below couple of ways with no luck, may be because the toolList property of Analysis - Config is not a state variable. Thanks in advance. 1. Updating appConfig's - Layout - I have tried this to have multiple Analysis widgets with different tools configured and hide and show the icons of Analysis widgets in widget controller const widgetControllerId = "widget_62"; const analysisWidgetId = "widget_75" const layoutId = appConfig.widgets[widgetControllerId].layouts.controller.LARGE; const contentWidget = appConfig.layouts[layoutId].content; const contentOrder = appConfig.layouts[layoutId].order; const keyToRemove = Object.keys(contentWidget.asMutable()).filter(cw => contentWidget[cw].widgetId == analysisWidgetId) const orderKeyToRemove = Object.keys(contentOrder.asMutable()).filter(co => contentOrder[co] == keyToRemove) delete contentWidget.asMutable()[keyToRemove[0]] delete contentOrder.asMutable()[orderKeyToRemove[0]] appConfig.layouts[layoutId].content = contentWidget appConfig.layouts[layoutId].order = contentOrder 2. Updating Analysis widget's config - toolList through MutableStoreManager, dispatch functions const appConfig = getAppStore().getState().appConfig; const analysisWidget = ImmutableMap(appConfig.widgets).find(w => w.id == 'widget_75'); const allTools = analysisWidget?.config?.toolList || []; MutableStoreManager.getInstance().updateStateValue('widget_75', 'config', { ...analysisWidget.config, toolList: [] } ); getAppStore().dispatch(appActions.widgetStatePropChange('widget_75', 'config', { ...analysisWidget.config, toolList: [] })); 3. Also, tried updating the Analysis widget in client > dist folder. Added a Message Action. However, these additional code/custom changes are not recognized / built to Analysis > dist folder. So, In Builder, the changes are not visible
... View more
02-13-2025
05:19 AM
|
0
|
4
|
1978
|
|
POST
|
Hi @JeffreyThompson2 , I have a requirement to filter out the list of GP tasks added to Analysis widget dynamically based on some action from another custom widget, like button-click. I tried below approach. 1. Cloned OOTB Analysis widget to 'your-extensions/widgets' folder 2. Added a message-action of ButtonClick Type 3. Updated cloned Analysis widget's tsx to have state variable for list of tools and used it in html for in placed of toolList property 4. Updated that state variable using mutableStateProps and useEffect hook for the message 5. Published a message from the custom widget from where I want to control the list of gp tasks in updated Analysis widget 6. After that, when we run the" npm start" command in client folder, it has given lot many errors related to modules imported in Analysis widget.tsx file for eg., @arcgis/analysis-tool-app/ etc. As an alternative, I did same changes in client>dist>widgets>arcgis>analysis widget directly, however, the changes are not reflected in to client>dist>widgets>arcgis>analysis > dist folder. So, the changes are not reflected. Could you please guide me how can I proceed. Thank you very much in advance With Regards.
... View more
02-12-2025
08:32 PM
|
0
|
6
|
1996
|
|
POST
|
Hi Team, Is there a way to separate out (like two different Map-Layers widgets in same widget) the list of layers in Map-Layers dynamically based on some characteristics of the layer, for example Editable or Readonly layers. We will load layers dynamically also, so those should also be dynamically should go into the corresponding section. Any optimal way of customizing the Exp Builder's (V1.16) Map-Layers widget. Hi @JeffreyThompson2, could you please suggest me on this. Thanks in advance With Regards
... View more
01-31-2025
07:16 PM
|
0
|
3
|
466
|
|
POST
|
Thanks @JeffreyThompson2. I have many other widgets which would use the jimuMapView and when a new web map is loaded, all other widgets should work with this new jimuMapView. Sections & Views will fulfill this? Thank you so much for your continuous support
... View more
01-27-2025
06:51 PM
|
0
|
4
|
1184
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 06-17-2025 08:28 AM | |
| 1 | 04-13-2025 09:51 PM | |
| 1 | 04-07-2025 06:41 PM | |
| 1 | 03-26-2025 06:52 AM | |
| 1 | 04-22-2024 03:53 AM |
| Online Status |
Offline
|
| Date Last Visited |
11-03-2025
09:45 PM
|