Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Esri/dashboard-samples

Using the ArcGIS API for JavaScript, you can develop widget, map tools, and feature action extensions for Operations Dashboard running on Windows and in a browser.
https://github.com/Esri/dashboard-samples

Last synced: 8 days ago
JSON representation

Using the ArcGIS API for JavaScript, you can develop widget, map tools, and feature action extensions for Operations Dashboard running on Windows and in a browser.

Awesome Lists containing this project

README

        

## Deprecation note
The samples in this repository showcase extending [operation views](http://doc.arcgis.com/en/operations-dashboard/operation-views/) created using the Windows version Operations Dashboard for ArcGIS. This version of the application and this extensibility framework have been moved to [Mature Support](https://support.esri.com/en/Products/Apps/web-apps/operations-dashboard-for-arcgis/10-3-4) status. To learn more about the latest web-based version, see [Operations Dashboard for ArcGIS](https://doc.arcgis.com/en/operations-dashboard/).


## Dashboard-samples

Using the ArcGIS API for JavaScript, you can develop widget, map tools, and feature action extensions for Operations Dashboard running on Windows and in a browser.

![Operations Dashboard with extensions](https://github.com/Esri/dashboard-samples/blob/master/operations-dashboard-extensibility.png)

## Features
* Buffer map tool - A map tool that creates buffers from a clicked point.
* Elevation Profile widget - A widget that creates profile graphs by drawing lines interactively on the map.
* Export to CSV feature action - A feature action that exports the feature results into a CSV table.
* GeoEnrichment widget - A widget that displays an age pyramid from a clicked point.
* Line Chart widget - A line chart widget that is powered by data from your map or external data source.
* List widget - A custom list widget.
* Open browser tab feature action - A feature action that opens a web page on a new browser tab.
* Scatter plot widget - A widget that shows a scatter plot based on the selected fields of a data source.
* Table widget - A widget that shows the attributes of the features from a data source on a grid.
* Table widget with config - A widget that shows the attributes of the features based on the selected fields from a data source.
* Weather widget - This widget shows the weather observations for the map center, and refreshes automatically when map extent changes.
* Social Media map tool - A map tool that gets images from social media for the map center.

## Requirements
* [Operations Dashboard for ArcGIS](http://www.arcgis.com/opsdashboard/OperationsDashboard.application)
* Your favorite IDE
* Web browser with access to the Internet

## Resources
* Read our developer guide [here](https://developers.arcgis.com/javascript/jshelp/operations-dashboard-extensibility-overview.html).
* Read our API reference [here](https://developers.arcgis.com/javascript/jsapi/datasourceproxy-amd.html).

## Instructions - How to write a sample

1. Create a folder for your sample.
2. In the sample folder, you should have at minimum a JSON manifest file and a HTML file. Use HTML5 for your HTML file.
3. You can also create a JS file with the business logic for the extension.
4. Copy the following blueprint into your sample manifest file, update the properties and remove the unnecessary properties. Read the [manifest](https://developers.arcgis.com/javascript/jshelp/operations-dashboard-extensibility-create-ext-manifest.html) topic to learn more:

```
{
"type": ,
"name": ,
"description":
,
"useDataFromView": ,
"usePortalServices":
"runtime" : {
"path": ,
"iconPath": ,
},
"configuration": {
“path": ,
"requiresDataSource": ,
"requiresMapWidget": ,
"supportFeatureActions":
},
"credits": "Esri, http://www.esri.com"
}
```

5. Copy the following blueprint into your sample html file:

```














var extensionLocation = location.pathname.replace(/\/[^/]+$/, '');
var dojoConfig = {
async: true, // Anything is async from now on
locale: location.search.match(/locale=([\w\-]+)/) ? RegExp.$1 : "en-us", // The locale of the Operations Dashboard
host application is passed by url query params
paths: {
"extension": extensionLocation
}
};



require([
"dojo/parser",
"dojo/domReady!"
], function(parser){
parser.parse();
});