From efcf61180e239b02a2ba459d99edf0d22151cc97 Mon Sep 17 00:00:00 2001 From: Tom Wayson Date: Mon, 10 Nov 2014 07:13:33 -0800 Subject: [PATCH] added routes for all examples to docs (gh-pages) app re-named app to docs for clarity added examples to docs as routes/controllers/views instead of standalone pages moved standalone pages to examples folder modified gulp configuration to handle all the above changes --- .gitignore | 2 +- app/index.html | 98 ------------------------- docs/app/about/about.html | 29 ++++++++ docs/app/about/about.js | 6 ++ docs/app/app.js | 47 ++++++++++++ docs/app/examples/basemap.html | 17 +++++ docs/app/examples/basemap.js | 14 ++++ docs/app/examples/center-and-zoom.html | 13 ++++ docs/app/examples/center-and-zoom.js | 31 ++++++++ docs/app/examples/examples.html | 37 ++++++++++ docs/app/examples/examples.js | 6 ++ docs/app/examples/feature-layers.html | 8 ++ docs/app/examples/feature-layers.js | 13 ++++ docs/app/examples/legend.html | 16 ++++ docs/app/examples/legend.js | 13 ++++ docs/app/examples/map-events.html | 7 ++ docs/app/examples/map-events.js | 34 +++++++++ docs/app/examples/simple-map.html | 6 ++ docs/app/examples/simple-map.js | 13 ++++ docs/app/examples/web-map.html | 17 +++++ docs/app/examples/web-map.js | 21 ++++++ docs/images/jumbotron-background.jpg | Bin 0 -> 46460 bytes docs/index.html | 67 +++++++++++++++++ {app => docs}/styles/narrow.css | 0 {app => examples}/feature-layers.html | 2 +- {app => examples}/legend.html | 2 +- {app => examples}/map-events.html | 18 +++-- {app => examples}/set-basemap.html | 2 +- {app => examples}/set-center-zoom.html | 10 +-- {app => examples}/simple-map.html | 2 +- {app => examples}/web-map.html | 4 +- gulpfile.js | 28 ++++--- 32 files changed, 457 insertions(+), 126 deletions(-) delete mode 100644 app/index.html create mode 100644 docs/app/about/about.html create mode 100644 docs/app/about/about.js create mode 100644 docs/app/app.js create mode 100644 docs/app/examples/basemap.html create mode 100644 docs/app/examples/basemap.js create mode 100644 docs/app/examples/center-and-zoom.html create mode 100644 docs/app/examples/center-and-zoom.js create mode 100644 docs/app/examples/examples.html create mode 100644 docs/app/examples/examples.js create mode 100644 docs/app/examples/feature-layers.html create mode 100644 docs/app/examples/feature-layers.js create mode 100644 docs/app/examples/legend.html create mode 100644 docs/app/examples/legend.js create mode 100644 docs/app/examples/map-events.html create mode 100644 docs/app/examples/map-events.js create mode 100644 docs/app/examples/simple-map.html create mode 100644 docs/app/examples/simple-map.js create mode 100644 docs/app/examples/web-map.html create mode 100644 docs/app/examples/web-map.js create mode 100644 docs/images/jumbotron-background.jpg create mode 100644 docs/index.html rename {app => docs}/styles/narrow.css (100%) rename {app => examples}/feature-layers.html (97%) rename {app => examples}/legend.html (97%) rename {app => examples}/map-events.html (82%) rename {app => examples}/set-basemap.html (97%) rename {app => examples}/set-center-zoom.html (95%) rename {app => examples}/simple-map.html (96%) rename {app => examples}/web-map.html (94%) diff --git a/.gitignore b/.gitignore index 8e39775..1e34bde 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # built files under app folder -app/scripts +docs/lib # Logs logs diff --git a/app/index.html b/app/index.html deleted file mode 100644 index 70056e5..0000000 --- a/app/index.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Angular Esri Map Examples - - - - - - - - -
-
- -

angular-esri-map

-
- -
-

<esri-map/>

-

Examples showing how to use the angular-esri-map directives.

-

While these directives can be used, we intend this to be used as an example for building your own - application-specific directives.

-
- -
-
-

Simple map

-

Simplest possible map - simply setting the

- -

Webmap

-

Loading webmaps from ArcGIS Online

- -

Set basemap

-

Shows how to use angular binding to link a select list to the basemap property of the map.

- -

Set map center and zoom

-

Demonstrates two-way binding of the center, and zoom properties.

-
- -
-

Feature layers

-

Loads two feature layers into the map.

- -

Legend

-

Add a legend via to the map. Also shows a directive that is not an element.

- -

Map events

-

Shows how to listen for events raised by the map directive.

-
-
- - -
-
-

Zen of Directives and Maps

-

If you've read this far, you will have noticed that these are very, very simple - directives. For example - there is no way to apply styles to the feature layers, nor - is there support for any of the 20+ other layers supported by the Esri Javascript API. This was not and oversight, it was by design.

-

We feel that the value of directives (or web components for that matter) is to - package up complex components, exposing a limited, simple declarative interface - as html-elements & attributes. Attempting to encapsulate all the layers, renderers, symbols and events of the JS API in a set of directives would simply add more bulk to the javascript, and create another complex api to learn and support. -

-

Roll Your Own Directives

-

We believe that you will have the best success integrating maps with - your angular applications if you build directives that focus on your problem domain. -

-

For example - suppose you are building an application for a local government. There is a very good chance that you would be integrating a few standard types of maps. Using the examples provided in this repo you could create directives like...

-

-<parcel-map pin="ABC123"></parcel-map>
-<lot-layout-map lot="93920-A-23"></lot-layout-map>
-<workorder-map order="10-31-14-002"></workorder-map>
-            
-

These directives could be easily integrated into any views in the over-arching application, or even shared across a suite of applications. -

- -

Some thoughts on Angular...

-

At Esri we use a number of differnt javascript application frameworks, including Angular. While we find that using Angular can lead to huge productivity increases, and massively streamlined code - it is worth noting that Angular is a silver bullet for all types of web applications. -

-

Where we have seen the greatest benefit is in situations where the majority of the application functionality is "forms-over-data", with a few maps added in. Similarly, when we have tried to use Angular on single-page, full-screen mapping applications, we have found ourselves working against the framework. -

-

So, as the old saying goes use the right tool for the job!

-
-
- - - - -
- - - diff --git a/docs/app/about/about.html b/docs/app/about/about.html new file mode 100644 index 0000000..43fef48 --- /dev/null +++ b/docs/app/about/about.html @@ -0,0 +1,29 @@ +
+
+

Zen of Directives and Maps

+

You have probably noticed that these are very, very simple directives. For example - there is no way to apply styles to the feature layers, nor is there support for any of the 20+ other layers supported by the Esri Javascript API. This was not and oversight, it was by design.

+

We feel that the value of directives (or web components for that matter) is to package up complex components, exposing a limited, simple declarative interface as html-elements & attributes. Attempting to encapsulate all the layers, renderers, symbols and events of the JS API in a set of directives would simply add more bulk to the javascript, and create another complex api to learn and support. +

+

Instead, we are providing a small set of re-usable directives. If your applicaiton has modest mapping needs, these directives may be useful as-is. If your application makes use of some of the more advanced features of the Esri JavaScript API, then the directives in this repo should demonstrate the patterns that will help you create your own directives.

+

Roll Your Own Directives

+

We believe that you will have the best success integrating maps with your angular applications if you build directives that focus on your problem domain. +

+

For example - suppose you are building an application for a local government. There is a very good chance that you would be integrating a few standard types of maps. Using the examples provided in this repo you could create directives like...

+

+<parcel-map pin="ABC123"></parcel-map>
+<lot-layout-map lot="93920-A-23"></lot-layout-map>
+<workorder-map order="10-31-14-002"></workorder-map>
+            
+

These directives could be easily integrated into any views in the over-arching application, or even shared across a suite of applications. +

+ +

Some thoughts on Angular...

+

At Esri we use a number of differnt javascript application frameworks, including Angular. While we find that using Angular can lead to huge productivity increases, and massively streamlined code - it is worth noting that Angular is a silver bullet for all types of web applications. +

+

Where we have seen the greatest benefit is in situations where the majority of the application functionality is "forms-over-data", with a few maps added in. Similarly, when we have tried to use Angular on single-page, full-screen mapping applications, we have found ourselves working against the framework. +

+

So, as the old saying goes + use the right tool for the job! +

+
+
diff --git a/docs/app/about/about.js b/docs/app/about/about.js new file mode 100644 index 0000000..7c18e48 --- /dev/null +++ b/docs/app/about/about.js @@ -0,0 +1,6 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('AboutCtrl', function($scope) { + $scope.$parent.page = 'about'; + }); diff --git a/docs/app/app.js b/docs/app/app.js new file mode 100644 index 0000000..c42ec6f --- /dev/null +++ b/docs/app/app.js @@ -0,0 +1,47 @@ +(function(angular) { + 'use strict'; + angular + .module('esri-map-docs', ['ngRoute', 'ngSanitize', 'esri.map']) + .config(function($routeProvider) { + $routeProvider + .when('/examples', { + templateUrl: 'app/examples/examples.html', + controller: 'ExamplesCtrl' + }) + .when('/examples/simple-map', { + templateUrl: 'app/examples/simple-map.html', + controller: 'SimpleMapCtrl' + }) + .when('/examples/feature-layers', { + templateUrl: 'app/examples/feature-layers.html', + controller: 'FeatureLayersCtrl' + }) + .when('/examples/web-map', { + templateUrl: 'app/examples/web-map.html', + controller: 'WebMapCtrl' + }) + .when('/examples/legend', { + templateUrl: 'app/examples/legend.html', + controller: 'LegendCtrl' + }) + .when('/examples/center-and-zoom', { + templateUrl: 'app/examples/center-and-zoom.html', + controller: 'CenterAndZoomCtrl' + }) + .when('/examples/basemap', { + templateUrl: 'app/examples/basemap.html', + controller: 'BasemapCtrl' + }) + .when('/examples/map-events', { + templateUrl: 'app/examples/map-events.html', + controller: 'MapEventsCtrl' + }) + .when('/about', { + templateUrl: 'app/about/about.html', + controller: 'AboutCtrl' + }) + .otherwise({ + redirectTo: '/examples' + }); + }); +})(angular); diff --git a/docs/app/examples/basemap.html b/docs/app/examples/basemap.html new file mode 100644 index 0000000..ee42ad1 --- /dev/null +++ b/docs/app/examples/basemap.html @@ -0,0 +1,17 @@ +

Basemap Example

+ + +

Basemap: + + Lat: {{ map.center.lat | number:3 }}, Lng: {{ map.center.lng | number:3 }}, Zoom: {{map.zoom}} +

+

Based on this sample.

diff --git a/docs/app/examples/basemap.js b/docs/app/examples/basemap.js new file mode 100644 index 0000000..c0ede23 --- /dev/null +++ b/docs/app/examples/basemap.js @@ -0,0 +1,14 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('BasemapCtrl', function($scope) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -31.036, + lat: 42.747 + }, + zoom: 3, + basemap: 'satellite' + }; + }); diff --git a/docs/app/examples/center-and-zoom.html b/docs/app/examples/center-and-zoom.html new file mode 100644 index 0000000..bdfe968 --- /dev/null +++ b/docs/app/examples/center-and-zoom.html @@ -0,0 +1,13 @@ +

Set Map Center and Zoom

+ + +

+ Lat: + Lng: + , Zoom: + + + +

diff --git a/docs/app/examples/center-and-zoom.js b/docs/app/examples/center-and-zoom.js new file mode 100644 index 0000000..5b44d66 --- /dev/null +++ b/docs/app/examples/center-and-zoom.js @@ -0,0 +1,31 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('CenterAndZoomCtrl', function($scope) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -122.45, + lat: 37.75 + }, + zoom: 12, + basemap: 'topo' + }; + $scope.cities = { + SanFrancisco: { + lng: -122.45, + lat: 37.75, + zoom: 10 + }, + NewYork: { + lng: -74.0059, + lat: 40.7127, + zoom: 12 + } + }; + $scope.zoomToCity = function(city) { + $scope.map.center.lat = city.lat; + $scope.map.center.lng = city.lng; + $scope.map.zoom = city.zoom; + } + }); diff --git a/docs/app/examples/examples.html b/docs/app/examples/examples.html new file mode 100644 index 0000000..d04c119 --- /dev/null +++ b/docs/app/examples/examples.html @@ -0,0 +1,37 @@ +
+

<esri-map/>

+

Examples showing how to use the angular-esri-map directives.

+
+
+
+

Simple map +

+

Simplest possible map - simply setting the

+ +

Webmap +

+

Loading webmaps from ArcGIS Online

+ +

Set basemap +

+

Shows how to use angular binding to link a select list to the basemap property of the map.

+ +

Set map center and zoom +

+

Demonstrates two-way binding of the center, and zoom properties.

+
+ +
+

Feature layers +

+

Loads two feature layers into the map.

+ +

Legend +

+

Add a legend via to the map. Also shows a directive that is not an element.

+ +

Map events +

+

Shows how to listen for events raised by the map directive.

+
+
diff --git a/docs/app/examples/examples.js b/docs/app/examples/examples.js new file mode 100644 index 0000000..f93780c --- /dev/null +++ b/docs/app/examples/examples.js @@ -0,0 +1,6 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('ExamplesCtrl', function($scope) { + $scope.$parent.page = 'examples'; + }); diff --git a/docs/app/examples/feature-layers.html b/docs/app/examples/feature-layers.html new file mode 100644 index 0000000..41a6e26 --- /dev/null +++ b/docs/app/examples/feature-layers.html @@ -0,0 +1,8 @@ +

Feature Layers Example

+ + + + + +

Lat: {{ map.center.lat | number:3 }}, Lng: {{ map.center.lng | number:3 }}, Zoom: {{map.zoom}}

+

Based on this JS Fiddle.

diff --git a/docs/app/examples/feature-layers.js b/docs/app/examples/feature-layers.js new file mode 100644 index 0000000..c9703b3 --- /dev/null +++ b/docs/app/examples/feature-layers.js @@ -0,0 +1,13 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('FeatureLayersCtrl', function($scope) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -122.676207, + lat: 45.523452 + }, + zoom: 12 + }; + }); diff --git a/docs/app/examples/legend.html b/docs/app/examples/legend.html new file mode 100644 index 0000000..7c61059 --- /dev/null +++ b/docs/app/examples/legend.html @@ -0,0 +1,16 @@ +

Legend Example

+ +
+
+ + + +
+
+

Lat: {{ map.center.lat | number:3 }}, Lng: {{ map.center.lng | number:3 }}, Zoom: {{map.zoom}}

+

Based on this sample.

+
+
+
+
+
diff --git a/docs/app/examples/legend.js b/docs/app/examples/legend.js new file mode 100644 index 0000000..ae8b134 --- /dev/null +++ b/docs/app/examples/legend.js @@ -0,0 +1,13 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('LegendCtrl', function($scope) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -96.53, + lat: 38.374 + }, + zoom: 13 + }; + }); diff --git a/docs/app/examples/map-events.html b/docs/app/examples/map-events.html new file mode 100644 index 0000000..46436db --- /dev/null +++ b/docs/app/examples/map-events.html @@ -0,0 +1,7 @@ +

Map Events Example

+ + + +

The map is + notloaded.

+

Extent: {{ map.extent.toJson() }}

diff --git a/docs/app/examples/map-events.js b/docs/app/examples/map-events.js new file mode 100644 index 0000000..10bc69f --- /dev/null +++ b/docs/app/examples/map-events.js @@ -0,0 +1,34 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('MapEventsCtrl', function($scope, esriRegistry) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -122.45, + lat: 37.75 + }, + zoom: 13, + loaded: false, + }; + // one way to get a reference to the map is to + // set a handler for the map directive's load attribute + $scope.mapLoaded = function(map) { + // now you have a reference to the map + // that you can do whatever you want with + console.log(map); + $scope.map.loaded = true; + }; + // another way is to set the register-as attribute on the directive + // and then use the esriRegistry to get the map by name + esriRegistry.get('myMap').then(function(map) { + map.on('click', function(e) { + console.log('map click', e); + }); + }); + // the map directive also exposes an extent-change attribute + $scope.extentChanged = function(e) { + // now you have a reference to the extent + $scope.map.extent = e.extent; + }; + }); diff --git a/docs/app/examples/simple-map.html b/docs/app/examples/simple-map.html new file mode 100644 index 0000000..3093872 --- /dev/null +++ b/docs/app/examples/simple-map.html @@ -0,0 +1,6 @@ +

Simple Map Example

+ + + +

Lat: {{ map.center.lat | number:3 }}, Lng: {{ map.center.lng | number:3 }}, Zoom: {{map.zoom}}

+

Based on this sample.

diff --git a/docs/app/examples/simple-map.js b/docs/app/examples/simple-map.js new file mode 100644 index 0000000..a474cca --- /dev/null +++ b/docs/app/examples/simple-map.js @@ -0,0 +1,13 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('SimpleMapCtrl', function($scope) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -122.45, + lat: 37.75 + }, + zoom: 13 + }; + }); diff --git a/docs/app/examples/web-map.html b/docs/app/examples/web-map.html new file mode 100644 index 0000000..9112bca --- /dev/null +++ b/docs/app/examples/web-map.html @@ -0,0 +1,17 @@ +

Webmap Example: {{itemInfo.item.title}} + + + +info + hide + + +

+
+ + + +

Lat: {{ map.center.lat | number:3 }}, Lng: {{ map.center.lng | number:3 }}, Zoom: {{map.zoom}}

+

+ +

+

Based on this sample.

diff --git a/docs/app/examples/web-map.js b/docs/app/examples/web-map.js new file mode 100644 index 0000000..f7caabd --- /dev/null +++ b/docs/app/examples/web-map.js @@ -0,0 +1,21 @@ +'use strict'; + +angular.module('esri-map-docs') + .controller('WebMapCtrl', function($scope, esriLoader, esriRegistry) { + $scope.$parent.page = 'examples'; + $scope.map = { + center: { + lng: -122.45, + lat: 37.75 + }, + zoom: 13 + }; + $scope.goToBookmark = function(bookmark) { + esriRegistry.get('myMap').then(function(map) { + esriLoader('esri/geometry/Extent').then(function(Extent) { + var extent = new Extent(bookmark.extent); + map.setExtent(extent); + }); + }); + }; + }); diff --git a/docs/images/jumbotron-background.jpg b/docs/images/jumbotron-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33b206a2ea0cbf1d9fd6448a2872db1550574a4c GIT binary patch literal 46460 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 Qv8IxeBj+2}+W%Jn4?~;%X8-^I literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..023c116 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,67 @@ + + + + + + + Angular Esri Map + + + + + + + + + + + + + +
+
+ +

angular-esri-map

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/styles/narrow.css b/docs/styles/narrow.css similarity index 100% rename from app/styles/narrow.css rename to docs/styles/narrow.css diff --git a/app/feature-layers.html b/examples/feature-layers.html similarity index 97% rename from app/feature-layers.html rename to examples/feature-layers.html index bc78c22..8281a43 100644 --- a/app/feature-layers.html +++ b/examples/feature-layers.html @@ -24,7 +24,7 @@

Feature Layers Example

- + - + - + - + - + diff --git a/app/simple-map.html b/examples/simple-map.html similarity index 96% rename from app/simple-map.html rename to examples/simple-map.html index f528800..49b89a8 100644 --- a/app/simple-map.html +++ b/examples/simple-map.html @@ -21,7 +21,7 @@

Simple Map Example

- + - +