├── .bowerrc
├── .gitignore
├── LICENSE
├── README.md
├── app.json
├── bower.json
├── config.xml
├── gulpfile.js
├── hooks
├── README.md
└── after_prepare
│ └── 010_add_platform_class.js
├── ionic.project
├── package.json
├── resources
├── icon.png
├── ios
│ ├── icon
│ │ ├── icon-40.png
│ │ ├── icon-40@2x.png
│ │ ├── icon-50.png
│ │ ├── icon-50@2x.png
│ │ ├── icon-60.png
│ │ ├── icon-60@2x.png
│ │ ├── icon-60@3x.png
│ │ ├── icon-72.png
│ │ ├── icon-72@2x.png
│ │ ├── icon-76.png
│ │ ├── icon-76@2x.png
│ │ ├── icon-small.png
│ │ ├── icon-small@2x.png
│ │ ├── icon-small@3x.png
│ │ ├── icon.png
│ │ └── icon@2x.png
│ └── splash
│ │ ├── Default-568h@2x~iphone.png
│ │ ├── Default-667h.png
│ │ ├── Default-736h.png
│ │ ├── Default-Landscape-736h.png
│ │ ├── Default-Landscape@2x~ipad.png
│ │ ├── Default-Landscape~ipad.png
│ │ ├── Default-Portrait@2x~ipad.png
│ │ ├── Default-Portrait~ipad.png
│ │ ├── Default@2x~iphone.png
│ │ └── Default~iphone.png
└── splash.png
├── scss
├── agenda.scss
├── event.scss
├── ionic.app.scss
├── jsconfuy.scss
├── main-menu.scss
├── speakers.scss
└── venue.scss
├── server.js
└── www
├── agenda.json
├── css
├── ionic.app.css
├── ionic.app.min.css
└── style.css
├── img
├── ember.png
├── ionic.png
└── speakers
│ ├── adolfo_builes.jpg
│ ├── adrian_mugnolo.png
│ ├── agustin_haller.jpg
│ ├── alex_sexton.jpg
│ ├── angelina_fabbro.jpg
│ ├── chris_miller.jpg
│ ├── ciro_nunes.jpg
│ ├── damian_schenkelman.jpg
│ ├── dayana_jabif.jpg
│ ├── eric_schoffstall.jpg
│ ├── guillermo_paz.jpg
│ ├── james_halliday.jpg
│ ├── jaydson_gomes.jpg
│ ├── jean_charles_sisk.jpg
│ ├── jeremy_morrell.png
│ ├── julian_duque.jpg
│ ├── leonardo_garcia_crespo.jpg
│ ├── lourdes_montano.jpg
│ ├── martin_gontovnikas.jpg
│ ├── martin_naumann.jpg
│ ├── mathias_bynens.jpg
│ ├── mathias_rodriguez.png
│ ├── matias_volpe.jpg
│ ├── matthew_podwysocki.jpg
│ ├── maximiliano_fierro.jpg
│ ├── michael_cetrulo.jpg
│ ├── nicolas_bevacqua.jpg
│ ├── pablo_chiappetti.jpg
│ ├── rafael_specht.jpg
│ ├── sam_saccone.jpg
│ ├── santiago_ferreira.png
│ ├── sergio_gianazza.jpg
│ └── valeri_karpov.png
├── index.html
├── js
├── app.js
├── controllers.js
├── directives.js
├── filters.js
└── services.js
├── lib
├── angular-animate
│ ├── .bower.json
│ ├── README.md
│ ├── angular-animate.js
│ ├── angular-animate.min.js
│ ├── angular-animate.min.js.map
│ ├── bower.json
│ └── package.json
├── angular-sanitize
│ ├── .bower.json
│ ├── README.md
│ ├── angular-sanitize.js
│ ├── angular-sanitize.min.js
│ ├── angular-sanitize.min.js.map
│ ├── bower.json
│ └── package.json
├── angular-ui-router
│ ├── .bower.json
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── README.md
│ ├── api
│ │ └── angular-ui-router.d.ts
│ ├── bower.json
│ ├── release
│ │ ├── angular-ui-router.js
│ │ └── angular-ui-router.min.js
│ └── src
│ │ ├── common.js
│ │ ├── resolve.js
│ │ ├── state.js
│ │ ├── stateDirectives.js
│ │ ├── stateFilters.js
│ │ ├── templateFactory.js
│ │ ├── urlMatcherFactory.js
│ │ ├── urlRouter.js
│ │ ├── view.js
│ │ ├── viewDirective.js
│ │ └── viewScroll.js
├── angular
│ ├── .bower.json
│ ├── README.md
│ ├── angular-csp.css
│ ├── angular.js
│ ├── angular.min.js
│ ├── angular.min.js.gzip
│ ├── angular.min.js.map
│ ├── bower.json
│ └── package.json
├── ionic
│ ├── .bower.json
│ ├── README.md
│ ├── bower.json
│ ├── css
│ │ ├── ionic.css
│ │ └── ionic.min.css
│ ├── fonts
│ │ ├── ionicons.eot
│ │ ├── ionicons.svg
│ │ ├── ionicons.ttf
│ │ └── ionicons.woff
│ ├── js
│ │ ├── ionic-angular.js
│ │ ├── ionic-angular.min.js
│ │ ├── ionic.bundle.js
│ │ ├── ionic.bundle.min.js
│ │ ├── ionic.js
│ │ └── ionic.min.js
│ └── scss
│ │ ├── _action-sheet.scss
│ │ ├── _animations.scss
│ │ ├── _backdrop.scss
│ │ ├── _badge.scss
│ │ ├── _bar.scss
│ │ ├── _button-bar.scss
│ │ ├── _button.scss
│ │ ├── _checkbox.scss
│ │ ├── _form.scss
│ │ ├── _grid.scss
│ │ ├── _items.scss
│ │ ├── _list.scss
│ │ ├── _loaders.scss
│ │ ├── _loading.scss
│ │ ├── _menu.scss
│ │ ├── _mixins.scss
│ │ ├── _modal.scss
│ │ ├── _platform.scss
│ │ ├── _popover.scss
│ │ ├── _popup.scss
│ │ ├── _progress.scss
│ │ ├── _radio.scss
│ │ ├── _range.scss
│ │ ├── _refresher.scss
│ │ ├── _reset.scss
│ │ ├── _scaffolding.scss
│ │ ├── _select.scss
│ │ ├── _slide-box.scss
│ │ ├── _spinner.scss
│ │ ├── _split-pane.scss
│ │ ├── _tabs.scss
│ │ ├── _toggle.scss
│ │ ├── _transitions.scss
│ │ ├── _type.scss
│ │ ├── _util.scss
│ │ ├── _variables.scss
│ │ ├── ionic.scss
│ │ └── ionicons
│ │ ├── _ionicons-animation.scss
│ │ ├── _ionicons-font.scss
│ │ ├── _ionicons-icons.scss
│ │ ├── _ionicons-variables.scss
│ │ └── ionicons.scss
├── ngmap
│ ├── .bower.json
│ ├── .gitattributes
│ ├── .gitignore
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.md
│ ├── app
│ │ ├── .buildignore
│ │ └── scripts
│ │ │ ├── .jshintrc
│ │ │ ├── app.js
│ │ │ ├── directives
│ │ │ ├── .jshintrc
│ │ │ ├── bicycling-layer.js
│ │ │ ├── cloud-layer.js
│ │ │ ├── custom-control.js
│ │ │ ├── directions.js
│ │ │ ├── drawing-manager.js
│ │ │ ├── dynamic-maps-engine-layer.js
│ │ │ ├── fusion-tables-layer.js
│ │ │ ├── heatmap-layer.js
│ │ │ ├── info-window.js
│ │ │ ├── kml-layer.js
│ │ │ ├── map-data.js
│ │ │ ├── map-lazy-load.js
│ │ │ ├── map-type.js
│ │ │ ├── map.js
│ │ │ ├── map_controller.js
│ │ │ ├── maps-engine-layer.js
│ │ │ ├── marker.js
│ │ │ ├── overlay-map-type.js
│ │ │ ├── places-auto-complete.js
│ │ │ ├── shape.js
│ │ │ ├── street-view-panorama.js
│ │ │ ├── traffic-layer.js
│ │ │ ├── transit-layer.js
│ │ │ └── weather-layer.js
│ │ │ └── services
│ │ │ ├── .jshintrc
│ │ │ ├── attr2_options.js
│ │ │ ├── geo_coder.js
│ │ │ ├── navigator_geolocation.js
│ │ │ └── street_view.js
│ ├── bower.json
│ ├── build
│ │ ├── docs
│ │ │ ├── Attr2Options.html
│ │ │ ├── GeoCoder.html
│ │ │ ├── MapController.html
│ │ │ ├── NavigatorGeolocation.html
│ │ │ ├── StreetView.html
│ │ │ ├── bicycling-layer.html
│ │ │ ├── cloud-layer.html
│ │ │ ├── custom-control.html
│ │ │ ├── directions.html
│ │ │ ├── directives_bicycling-layer.js.html
│ │ │ ├── directives_cloud-layer.js.html
│ │ │ ├── directives_custom-control.js.html
│ │ │ ├── directives_directions.js.html
│ │ │ ├── directives_drawing-manager.js.html
│ │ │ ├── directives_dynamic-maps-engine-layer.js.html
│ │ │ ├── directives_fusion-tables-layer.js.html
│ │ │ ├── directives_heatmap-layer.js.html
│ │ │ ├── directives_info-window.js.html
│ │ │ ├── directives_kml-layer.js.html
│ │ │ ├── directives_map-data.js.html
│ │ │ ├── directives_map-lazy-load.js.html
│ │ │ ├── directives_map-type.js.html
│ │ │ ├── directives_map.js.html
│ │ │ ├── directives_map_controller.js.html
│ │ │ ├── directives_maps-engine-layer.js.html
│ │ │ ├── directives_marker.js.html
│ │ │ ├── directives_overlay-map-type.js.html
│ │ │ ├── directives_places-auto-complete.js.html
│ │ │ ├── directives_shape.js.html
│ │ │ ├── directives_street-view-panorama.js.html
│ │ │ ├── directives_traffic-layer.js.html
│ │ │ ├── directives_transit-layer.js.html
│ │ │ ├── directives_weather-layer.js.html
│ │ │ ├── drawing-manager.html
│ │ │ ├── dynamic-maps-engine-layer.html
│ │ │ ├── fusion-tables-layer.html
│ │ │ ├── heatmap-layer.html
│ │ │ ├── index.html
│ │ │ ├── info-window.html
│ │ │ ├── kml-layer.html
│ │ │ ├── lazy-load.html
│ │ │ ├── map-data.html
│ │ │ ├── map-type.html
│ │ │ ├── map.html
│ │ │ ├── maps-engine-layer.html
│ │ │ ├── marker.html
│ │ │ ├── overlay-map-type.html
│ │ │ ├── places-auto-complete.html
│ │ │ ├── scripts
│ │ │ │ ├── linenumber.js
│ │ │ │ └── prettify
│ │ │ │ │ ├── Apache-License-2.0.txt
│ │ │ │ │ ├── lang-css.js
│ │ │ │ │ └── prettify.js
│ │ │ ├── services_attr2_options.js.html
│ │ │ ├── services_geo_coder.js.html
│ │ │ ├── services_navigator_geolocation.js.html
│ │ │ ├── services_street_view.js.html
│ │ │ ├── shape.html
│ │ │ ├── streetview-panorama.html
│ │ │ ├── styles
│ │ │ │ ├── jsdoc-default.css
│ │ │ │ ├── prettify-jsdoc.css
│ │ │ │ └── prettify-tomorrow.css
│ │ │ ├── traffic-layer.html
│ │ │ ├── transit-layer.html
│ │ │ └── weather-layer.html
│ │ └── scripts
│ │ │ ├── ng-map.debug.js
│ │ │ ├── ng-map.js
│ │ │ └── ng-map.min.js
│ ├── config
│ │ ├── jsdoc
│ │ │ └── template
│ │ │ │ ├── README.md
│ │ │ │ ├── publish.js
│ │ │ │ ├── static
│ │ │ │ ├── scripts
│ │ │ │ │ ├── linenumber.js
│ │ │ │ │ └── prettify
│ │ │ │ │ │ ├── Apache-License-2.0.txt
│ │ │ │ │ │ ├── lang-css.js
│ │ │ │ │ │ └── prettify.js
│ │ │ │ └── styles
│ │ │ │ │ ├── jsdoc-default.css
│ │ │ │ │ ├── prettify-jsdoc.css
│ │ │ │ │ └── prettify-tomorrow.css
│ │ │ │ └── tmpl
│ │ │ │ ├── container.tmpl
│ │ │ │ ├── details.tmpl
│ │ │ │ ├── example.tmpl
│ │ │ │ ├── examples.tmpl
│ │ │ │ ├── exceptions.tmpl
│ │ │ │ ├── layout.tmpl
│ │ │ │ ├── mainpage.tmpl
│ │ │ │ ├── members.tmpl
│ │ │ │ ├── method.tmpl
│ │ │ │ ├── params.tmpl
│ │ │ │ ├── properties.tmpl
│ │ │ │ ├── returns.tmpl
│ │ │ │ ├── source.tmpl
│ │ │ │ ├── tutorial.tmpl
│ │ │ │ └── type.tmpl
│ │ ├── karma.conf.js
│ │ └── protractor.conf.js
│ ├── gulpfile.js
│ ├── package.json
│ ├── road-trip.md
│ ├── spec
│ │ ├── directives
│ │ │ ├── map_controller_spec.js
│ │ │ ├── map_spec.js
│ │ │ ├── marker_spec.js
│ │ │ ├── shape_spec.js
│ │ │ └── street_view_panorama_spec.js
│ │ ├── e2e
│ │ │ └── testapp_spec.js
│ │ ├── lib
│ │ │ ├── angular-mocks.js
│ │ │ ├── angular.js
│ │ │ └── markerclusterer.js
│ │ └── services
│ │ │ ├── attr2_options_spec.js
│ │ │ ├── geo_coder_spec.js
│ │ │ ├── navigator_geolocation_spec.js
│ │ │ └── street_view_spec.js
│ └── testapp
│ │ ├── USGSOverlay.js
│ │ ├── aerial-rotate.html
│ │ ├── aerial-simple.html
│ │ ├── circle-simple.html
│ │ ├── control-custom-state.html
│ │ ├── control-custom.html
│ │ ├── control-disableUI.html
│ │ ├── control-options.html
│ │ ├── control-positioning.html
│ │ ├── control-simple.html
│ │ ├── directions.html
│ │ ├── drawing-manager.html
│ │ ├── event-arguments.html
│ │ ├── event-domlistener.html
│ │ ├── event-properties.html
│ │ ├── event-simple.html
│ │ ├── events.html
│ │ ├── events_controller_as.html
│ │ ├── groundoverlay-simple.html
│ │ ├── heatmap.json
│ │ ├── hello_map.html
│ │ ├── icon-complex.html
│ │ ├── icon-simple.html
│ │ ├── images
│ │ ├── beachflag.png
│ │ └── spinner.gif
│ │ ├── infowindow-simple-max.html
│ │ ├── infowindow-simple.html
│ │ ├── infowindow_compile.html
│ │ ├── infowindow_geolookup.html
│ │ ├── infowindow_ng_click.html
│ │ ├── layer-bicycling.html
│ │ ├── layer-data-dynamic.html
│ │ ├── layer-data-quakes-advanced.html
│ │ ├── layer-data-quakes-default.html
│ │ ├── layer-data-quakes-simple.html
│ │ ├── layer-data-simple.html
│ │ ├── layer-data-style.html
│ │ ├── layer-dynamicmapsengine.html
│ │ ├── layer-fusiontables-heatmap.html
│ │ ├── layer-fusiontables-query.html
│ │ ├── layer-fusiontables-simple.html
│ │ ├── layer-fusiontables-styling.html
│ │ ├── layer-georss.html
│ │ ├── layer-heatmap.html
│ │ ├── layer-kml-features.html
│ │ ├── layer-kml.html
│ │ ├── layer-mapsengine.html
│ │ ├── layer-style-event.html
│ │ ├── layer-traffic.html
│ │ ├── layer-transit.html
│ │ ├── layer-weather.html
│ │ ├── map-coordinates.html
│ │ ├── map-geolocation.html
│ │ ├── map-lazy-load.html
│ │ ├── map-projection-simple.html
│ │ ├── map-simple.html
│ │ ├── map_app.html
│ │ ├── map_control.html
│ │ ├── map_events.html
│ │ ├── map_fit_bounds.html
│ │ ├── map_geo_fallback_center.html
│ │ ├── map_lazy_init.html
│ │ ├── map_options.html
│ │ ├── map_with_current_position.html
│ │ ├── map_with_dynamic_address.html
│ │ ├── map_with_dynamic_center.html
│ │ ├── mapsenginelayer-noauth-layerid.html
│ │ ├── mapsenginelayer-noauth-layerkey.html
│ │ ├── maptype-base.html
│ │ ├── maptype-image-overlay.html
│ │ ├── maptype-image.html
│ │ ├── maptype-overlay.html
│ │ ├── maptype-styled-complex.html
│ │ ├── maptype-styled-simple.html
│ │ ├── marker-animations-iteration.html
│ │ ├── marker-animations.html
│ │ ├── marker-clusterer.html
│ │ ├── marker-remove.html
│ │ ├── marker-simple.html
│ │ ├── marker-symbol-custom.html
│ │ ├── marker-symbol-predefined.html
│ │ ├── marker.html
│ │ ├── marker_dynamic_raw.html
│ │ ├── marker_icon.html
│ │ ├── marker_on_street_view.html
│ │ ├── marker_with_address.html
│ │ ├── marker_with_current_position.html
│ │ ├── marker_with_dynamic_address.html
│ │ ├── marker_with_dynamic_position.html
│ │ ├── marker_with_info_window.html
│ │ ├── marker_with_ng_repeat.html
│ │ ├── marker_with_ng_repeat_dynamic.html
│ │ ├── marker_with_parent_controller.html
│ │ ├── multiple_maps_on_a_page.html
│ │ ├── overlay-custom.html
│ │ ├── overlay-hideshow.html
│ │ ├── overlay-remove.html
│ │ ├── overlay-simple.html
│ │ ├── overlay-symbol-animate.html
│ │ ├── overlay-symbol-arrow.html
│ │ ├── overlay-symbol-custom.html
│ │ ├── overlay-symbol-dashed.html
│ │ ├── places-auto-complete.html
│ │ ├── polygon-arrays.html
│ │ ├── polygon-autoclose.html
│ │ ├── polygon-draggable.html
│ │ ├── polygon-simple.html
│ │ ├── polyline-complex.html
│ │ ├── polyline-remove.html
│ │ ├── polyline-simple.html
│ │ ├── rectangle-event.html
│ │ ├── rectangle-simple.html
│ │ ├── rectangle-zoom.html
│ │ ├── scripts
│ │ ├── app.js
│ │ ├── get-starbucks.js
│ │ ├── markerclusterer.js
│ │ ├── markerclusterer_packed.js
│ │ ├── markers.js
│ │ ├── plunkr.js
│ │ ├── quakes.geo.json
│ │ └── starbucks.json
│ │ ├── shape.html
│ │ ├── shape_circle_with_current_position.html
│ │ ├── shape_circle_with_dynamic_address.html
│ │ ├── shape_with_ng_repeat.html
│ │ ├── street-view-panorama.html
│ │ ├── street-view-panorama_container.html
│ │ ├── street-view_road_trip.html
│ │ ├── taxi-data.js
│ │ ├── ui-bootstrap.html
│ │ ├── ui-router.html
│ │ └── user-editable-shapes.html
└── underscore
│ ├── .bower.json
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── underscore-min.js
│ ├── underscore-min.map
│ └── underscore.js
├── speakers.json
└── templates
├── agenda.html
├── event.html
├── menu.html
├── partials
└── agenda-event.html
├── speakers.html
└── venue.html
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "www/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Specifies intentionally untracked files to ignore when using Git
2 | # http://git-scm.com/docs/gitignore
3 |
4 | node_modules/
5 | platforms/
6 | plugins/
7 | .DS_Store
8 |
9 | .*.sw*
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 startapplabs
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Ionic JSConfUY workshop",
3 | "description": "A simple Ionic app for JSConfUY 2015",
4 | "repository": "https://github.com/startapplabs/jsconfuy",
5 | "logo": "https://dl.dropboxusercontent.com/u/30873364/ionWorkshop/logo.png",
6 | "keywords": ["ionic", "javascript", "jsconf", "jsconfuy"]
7 | }
8 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jsconfuy",
3 | "private": "true",
4 | "devDependencies": {
5 | "ionic": "driftyco/ionic-bower#1.0.0-rc.3"
6 | },
7 | "dependencies": {
8 | "underscore": "~1.8.3"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var gutil = require('gulp-util');
3 | var bower = require('bower');
4 | var concat = require('gulp-concat');
5 | var sass = require('gulp-sass');
6 | var minifyCss = require('gulp-minify-css');
7 | var rename = require('gulp-rename');
8 | var sh = require('shelljs');
9 |
10 | var paths = {
11 | sass: ['./scss/**/*.scss']
12 | };
13 |
14 | gulp.task('default', ['sass']);
15 |
16 | gulp.task('sass', function(done) {
17 | gulp.src('./scss/ionic.app.scss')
18 | .pipe(sass())
19 | .pipe(gulp.dest('./www/css/'))
20 | .pipe(minifyCss({
21 | keepSpecialComments: 0
22 | }))
23 | .pipe(rename({ extname: '.min.css' }))
24 | .pipe(gulp.dest('./www/css/'))
25 | .on('end', done);
26 | });
27 |
28 | gulp.task('watch', function() {
29 | gulp.watch(paths.sass, ['sass']);
30 | });
31 |
32 | gulp.task('install', ['git-check'], function() {
33 | return bower.commands.install()
34 | .on('log', function(data) {
35 | gutil.log('bower', gutil.colors.cyan(data.id), data.message);
36 | });
37 | });
38 |
39 | gulp.task('git-check', function(done) {
40 | if (!sh.which('git')) {
41 | console.log(
42 | ' ' + gutil.colors.red('Git is not installed.'),
43 | '\n Git, the version control system, is required to download Ionic.',
44 | '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
45 | '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
46 | );
47 | process.exit(1);
48 | }
49 | done();
50 | });
51 |
--------------------------------------------------------------------------------
/ionic.project:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jsconfuy",
3 | "app_id": "7364750e",
4 | "gulpStartupTasks": [
5 | "sass",
6 | "watch"
7 | ],
8 | "watchPatterns": [
9 | "www/**/*",
10 | "!www/lib/**/*"
11 | ]
12 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jsconfuy",
3 | "version": "1.0.0",
4 | "description": "jsconfuy: An Ionic project",
5 | "dependencies": {
6 | "express": "~4.4.3",
7 | "gulp": "^3.5.6",
8 | "gulp-sass": "^1.3.3",
9 | "gulp-concat": "^2.2.0",
10 | "gulp-minify-css": "^0.3.0",
11 | "gulp-rename": "^1.2.0"
12 | },
13 | "devDependencies": {
14 | "bower": "^1.3.3",
15 | "gulp-util": "^2.2.14",
16 | "shelljs": "^0.3.0"
17 | },
18 | "cordovaPlugins": [
19 | "org.apache.cordova.device",
20 | "org.apache.cordova.console",
21 | "com.ionic.keyboard"
22 | ],
23 | "cordovaPlatforms": [
24 | "android"
25 | ]
26 | }
--------------------------------------------------------------------------------
/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-40.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-40@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-50.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-50@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-60.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-60@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-60@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-72.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-72@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-76.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-76@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-small.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-small@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon-small@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/icon/icon@2x.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-568h@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-568h@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-667h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-667h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-Landscape-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-Landscape@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-Landscape~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-Portrait@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default-Portrait~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/ios/splash/Default~iphone.png
--------------------------------------------------------------------------------
/resources/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/resources/splash.png
--------------------------------------------------------------------------------
/scss/event.scss:
--------------------------------------------------------------------------------
1 | .nav-bar-title{
2 | text-transform: capitalize;
3 | }
4 |
5 | .icon.button.share-event::before
6 | {
7 | margin-top:0px !important;
8 | }
9 |
10 | .event-view{
11 | background: $content-bg;
12 |
13 | .speaker-image{
14 | height: 100vw;
15 | }
16 |
17 | .event-details{
18 | min-height: 70px;
19 | padding: 22px;
20 | background-color: darken($content-color, 10);
21 | margin-top: -8px;
22 |
23 | .event-title{
24 | color: $top-bar-color;
25 | font-size: 16px;
26 | @include cssCalc("font-size", "#{($font-size)} + 4px");
27 | font-weight: 500;
28 | display:block;
29 | }
30 | .event-speakers{
31 | color: $main-menu-bg;
32 | @include cssCalc("font-size", "#{($font-size)} + 2px");
33 | font-weight: 400;
34 | display:block;
35 |
36 |
37 | .event-speaker{
38 | color: inherit;
39 | font-weight: 600;
40 | }
41 |
42 | .event-speaker-concat{
43 | color: inherit;
44 | font-weight: 400;
45 | }
46 | }
47 | }
48 | .event-description{
49 | @include cssCalc("font-size", "#{($font-size)} + 2px");
50 | padding:20px;
51 |
52 | ul{
53 | list-style: inherit;
54 | // -webkit-padding-start: 40px;
55 | padding-left: 40px;
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/scss/ionic.app.scss:
--------------------------------------------------------------------------------
1 | /*
2 | To customize the look and feel of Ionic, you can override the variables
3 | in ionic's _variables.scss file.
4 |
5 | For example, you might change some of the default colors:
6 |
7 | $light: #fff !default;
8 | $stable: #f8f8f8 !default;
9 | $positive: #387ef5 !default;
10 | $calm: #11c1f3 !default;
11 | $balanced: #33cd5f !default;
12 | $energized: #ffc900 !default;
13 | $assertive: #ef473a !default;
14 | $royal: #886aea !default;
15 | $dark: #444 !default;
16 | */
17 |
18 | // The path for our ionicons font files, relative to the built CSS in www/css
19 | $ionicons-font-path: "../lib/ionic/fonts" !default;
20 |
21 | // Include all of Ionic
22 | @import "www/lib/ionic/scss/ionic";
23 |
24 | // Include custom styles
25 | @import "scss/jsconfuy";
26 | @import "scss/main-menu";
27 | @import "scss/speakers";
28 | @import "scss/venue";
29 | @import "scss/agenda";
30 | @import "scss/event";
31 |
--------------------------------------------------------------------------------
/scss/jsconfuy.scss:
--------------------------------------------------------------------------------
1 | @mixin cssCalc($property, $expression) {
2 | #{$property}: calc(#{$expression});
3 | }
4 |
5 | @mixin flexbox() {
6 | display: -webkit-box;
7 | display: -moz-box;
8 | display: -ms-flexbox;
9 | display: -webkit-flex;
10 | display: flex;
11 | }
12 |
13 | @mixin flex-wrap($value) {
14 | flex-wrap: $value;
15 | -webkit-flex-wrap: $value;
16 | }
17 |
18 |
19 | $content-bg: #EAEAEA;
20 | $content-color: #444444;
21 |
22 | $top-bar-bg: #254164;
23 | $top-bar-color: #FFFFFF;
24 |
25 | $loading-color: #FFFFFF;
26 |
27 | $main-menu-bg: #FFC900;
28 | $main-menu-color: #FFFFFF;
29 |
30 | $loading-color: #FFFFFF;
31 |
32 | $speaker-actions-bg: #FFFFFF;
33 |
34 | $workshop-bg-color: #00B454;
35 | $talk-bg-color: #FF7C00;
36 | $keynote-bg-color: #FF3900;
37 | $global-bg-color: #DDDDDD;
38 | $event-color: #FFFFFF;
39 |
40 | $get-directions-btn-bg: #419e61;
41 | $get-directions-btn-color: #FFFFFF;
42 |
43 | //App settings
44 | $category-margin: 20px;
45 | $font-size:12px;
46 | $menu-title-font-size: 30px;
47 | $venue-map-porcentage: 65;
48 |
49 | *{
50 | color: $content-color;
51 | }
52 |
53 | .bar.app-top-bar
54 | {
55 | background-color: $top-bar-bg;
56 |
57 | .title
58 | {
59 | color: $top-bar-color !important;
60 | *
61 | {
62 | color: $top-bar-color !important;
63 | }
64 | }
65 |
66 | .button
67 | {
68 | color: $top-bar-color !important;
69 | *
70 | {
71 | color: $top-bar-color !important;
72 | }
73 | }
74 | }
75 |
76 | .menu-header-bar{
77 | background-color: $top-bar-bg;
78 |
79 | .menu-header-bar-title{
80 | color: $top-bar-color;
81 | }
82 | }
83 |
84 | .loading-container .loading
85 | {
86 | *
87 | {
88 | color: $loading-color;
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/scss/main-menu.scss:
--------------------------------------------------------------------------------
1 | .platform-ios
2 | {
3 | ion-list .list
4 | {
5 | margin-top: $ios-statusbar-height;
6 | }
7 | }
8 |
9 | .main-menu
10 | {
11 | ion-content
12 | {
13 | background-color: $main-menu-bg;
14 | }
15 |
16 | .menu-header-bar-title
17 | {
18 | font-size: $menu-title-font-size;
19 | font-weight: 500;
20 | color: $main-menu-color;
21 | position: absolute;
22 | bottom: $category-margin/2;
23 | right: $category-margin;
24 | margin:0px;
25 |
26 | .uy
27 | {
28 | color: $top-bar-bg;
29 | font-weight: 600;
30 | }
31 | }
32 |
33 | ion-item.item
34 | {
35 | border-right:none;
36 | border-left:none;
37 | border-color: rgba(darken($main-menu-color, 30), .2);
38 | background-color: $main-menu-bg;
39 |
40 | .item-content
41 | {
42 | background-color: $main-menu-bg;
43 | padding: $category-margin;
44 | padding-right: $category-margin * 3;
45 | text-align:right;
46 |
47 | .icon
48 | {
49 | width: ($category-margin * 3)/2;
50 | right: $category-margin;
51 | left: initial;
52 | }
53 |
54 | .icon:before
55 | {
56 | color: $top-bar-bg;
57 | @include cssCalc("font-size", "#{($menu-title-font-size)} - 4px");
58 | }
59 | }
60 |
61 | .item-content.activated
62 | {
63 | background-color: lighten($main-menu-bg, 10);
64 | }
65 |
66 | .menu-text
67 | {
68 | color: $main-menu-color;
69 | font-weight:500;
70 | }
71 | }
72 |
73 | ion-item.item:first-child
74 | {
75 | border-top:none;
76 | }
77 |
78 | ion-item.item:last-child
79 | {
80 | border-bottom:none;
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/scss/speakers.scss:
--------------------------------------------------------------------------------
1 | .speakers-view{
2 | background: $content-bg;
3 |
4 | .speaker
5 | {
6 | .item.title
7 | {
8 | background-color: $main-menu-bg;
9 | }
10 |
11 | .item-image
12 | {
13 | border-top: none;
14 | }
15 | }
16 |
17 | .speaker-name{
18 | text-align: center;
19 | text-transform: uppercase;
20 | color: $top-bar-bg;
21 | font-weight: bold;
22 | // font-size: 18px;
23 | @include cssCalc("font-size", "#{($font-size)} + 6px");
24 | }
25 | .speaker-bio{
26 | margin-top:0px;
27 | }
28 |
29 | .speaker-tags
30 | {
31 | margin-bottom: 10px;
32 |
33 | .speaker-tags-list
34 | {
35 | @include flexbox();
36 | @include flex-wrap(wrap);
37 | }
38 |
39 | .badge
40 | {
41 | position: initial;
42 | margin: 4px 2px;
43 | background-color: $main-menu-bg;
44 | }
45 |
46 | .speaker-tag-item
47 | {
48 | text-align:center;
49 | }
50 | }
51 |
52 | .speaker-buttons
53 | {
54 | background-color: $speaker-actions-bg;
55 |
56 | .row,
57 | .col
58 | {
59 | padding:0px;
60 | }
61 |
62 | .button
63 | {
64 | margin:0px;
65 | border-color: $top-bar-bg;
66 | color: $top-bar-bg;
67 |
68 | &.activated{
69 | background-color: $top-bar-bg;
70 | color: $top-bar-color;
71 | }
72 | }
73 |
74 |
75 |
76 | .col:first-child
77 | {
78 | margin-right:8px;
79 | }
80 |
81 | .col:last-child
82 | {
83 | margin-left:8px;
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/scss/venue.scss:
--------------------------------------------------------------------------------
1 | .venue-view
2 | {
3 | .map
4 | {
5 | @include cssCalc("height", "(((100vh - #{($bar-height)}) * #{($venue-map-porcentage)}) /100)");
6 | }
7 |
8 | .venue-location
9 | {
10 | @include cssCalc("height", "(((100vh - #{($bar-height)}) * (100 - #{($venue-map-porcentage)})) /100)");
11 | border-bottom: none;
12 |
13 | .row
14 | {
15 | height: 50%;
16 | margin:0px;
17 | }
18 |
19 | .venue-name
20 | {
21 | margin-bottom:5px;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/server.js:
--------------------------------------------------------------------------------
1 | var express = require('express'),
2 | app = express();
3 |
4 | app.use(express.static('www'));
5 |
6 | // CORS (Cross-Origin Resource Sharing) headers to support Cross-site HTTP requests
7 | app.all('*', function(req, res, next) {
8 | res.header("Access-Control-Allow-Origin", "*");
9 | res.header("Access-Control-Allow-Headers", "X-Requested-With");
10 | next();
11 | });
12 |
13 | // API Routes
14 | // app.get('/blah', routeHandler);
15 |
16 | app.set('port', process.env.PORT || 5000);
17 |
18 | app.listen(app.get('port'), function () {
19 | console.log('Express server listening on port ' + app.get('port'));
20 | });
21 |
--------------------------------------------------------------------------------
/www/css/style.css:
--------------------------------------------------------------------------------
1 | /* Empty. Add your own CSS if you like */
2 |
--------------------------------------------------------------------------------
/www/img/ember.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/ember.png
--------------------------------------------------------------------------------
/www/img/ionic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/ionic.png
--------------------------------------------------------------------------------
/www/img/speakers/adolfo_builes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/adolfo_builes.jpg
--------------------------------------------------------------------------------
/www/img/speakers/adrian_mugnolo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/adrian_mugnolo.png
--------------------------------------------------------------------------------
/www/img/speakers/agustin_haller.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/agustin_haller.jpg
--------------------------------------------------------------------------------
/www/img/speakers/alex_sexton.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/alex_sexton.jpg
--------------------------------------------------------------------------------
/www/img/speakers/angelina_fabbro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/angelina_fabbro.jpg
--------------------------------------------------------------------------------
/www/img/speakers/chris_miller.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/chris_miller.jpg
--------------------------------------------------------------------------------
/www/img/speakers/ciro_nunes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/ciro_nunes.jpg
--------------------------------------------------------------------------------
/www/img/speakers/damian_schenkelman.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/damian_schenkelman.jpg
--------------------------------------------------------------------------------
/www/img/speakers/dayana_jabif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/dayana_jabif.jpg
--------------------------------------------------------------------------------
/www/img/speakers/eric_schoffstall.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/eric_schoffstall.jpg
--------------------------------------------------------------------------------
/www/img/speakers/guillermo_paz.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/guillermo_paz.jpg
--------------------------------------------------------------------------------
/www/img/speakers/james_halliday.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/james_halliday.jpg
--------------------------------------------------------------------------------
/www/img/speakers/jaydson_gomes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/jaydson_gomes.jpg
--------------------------------------------------------------------------------
/www/img/speakers/jean_charles_sisk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/jean_charles_sisk.jpg
--------------------------------------------------------------------------------
/www/img/speakers/jeremy_morrell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/jeremy_morrell.png
--------------------------------------------------------------------------------
/www/img/speakers/julian_duque.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/julian_duque.jpg
--------------------------------------------------------------------------------
/www/img/speakers/leonardo_garcia_crespo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/leonardo_garcia_crespo.jpg
--------------------------------------------------------------------------------
/www/img/speakers/lourdes_montano.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/lourdes_montano.jpg
--------------------------------------------------------------------------------
/www/img/speakers/martin_gontovnikas.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/martin_gontovnikas.jpg
--------------------------------------------------------------------------------
/www/img/speakers/martin_naumann.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/martin_naumann.jpg
--------------------------------------------------------------------------------
/www/img/speakers/mathias_bynens.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/mathias_bynens.jpg
--------------------------------------------------------------------------------
/www/img/speakers/mathias_rodriguez.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/mathias_rodriguez.png
--------------------------------------------------------------------------------
/www/img/speakers/matias_volpe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/matias_volpe.jpg
--------------------------------------------------------------------------------
/www/img/speakers/matthew_podwysocki.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/matthew_podwysocki.jpg
--------------------------------------------------------------------------------
/www/img/speakers/maximiliano_fierro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/maximiliano_fierro.jpg
--------------------------------------------------------------------------------
/www/img/speakers/michael_cetrulo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/michael_cetrulo.jpg
--------------------------------------------------------------------------------
/www/img/speakers/nicolas_bevacqua.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/nicolas_bevacqua.jpg
--------------------------------------------------------------------------------
/www/img/speakers/pablo_chiappetti.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/pablo_chiappetti.jpg
--------------------------------------------------------------------------------
/www/img/speakers/rafael_specht.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/rafael_specht.jpg
--------------------------------------------------------------------------------
/www/img/speakers/sam_saccone.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/sam_saccone.jpg
--------------------------------------------------------------------------------
/www/img/speakers/santiago_ferreira.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/santiago_ferreira.png
--------------------------------------------------------------------------------
/www/img/speakers/sergio_gianazza.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/sergio_gianazza.jpg
--------------------------------------------------------------------------------
/www/img/speakers/valeri_karpov.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/img/speakers/valeri_karpov.png
--------------------------------------------------------------------------------
/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/www/js/directives.js:
--------------------------------------------------------------------------------
1 | angular.module('jsconfuy.directives', [])
2 |
3 | .directive('agendaEvent', function() {
4 | return {
5 | templateUrl: 'templates/partials/agenda-event.html'
6 | };
7 | })
8 | ;
9 |
--------------------------------------------------------------------------------
/www/js/filters.js:
--------------------------------------------------------------------------------
1 | angular.module('jsconfuy.filters', [])
2 |
3 | .filter('rawHtml', ['$sce', function($sce){
4 | return function(val) {
5 | return $sce.trustAsHtml(val);
6 | };
7 | }]);
8 |
--------------------------------------------------------------------------------
/www/js/services.js:
--------------------------------------------------------------------------------
1 | angular.module('jsconfuy.services', [])
2 |
3 | .service('Speakers', function ($http, $q){
4 |
5 | this.get = function() {
6 | var dfd = $q.defer();
7 |
8 | $http.get('speakers.json')
9 | .success(function(data) {
10 | dfd.resolve(data);
11 | })
12 | .error(function(data) {
13 | dfd.reject(data);
14 | });
15 |
16 | return dfd.promise;
17 | };
18 | })
19 |
20 | .service('Agenda', function ($http, $q){
21 |
22 | this.get = function() {
23 | var dfd = $q.defer();
24 |
25 | $http.get('agenda.json')
26 | .success(function(data) {
27 |
28 | var day1 = _.filter(data, function(event){ return event.date =="day1" }),
29 | day2 = _.filter(data, function(event){ return event.date =="day2" });
30 |
31 | dfd.resolve({
32 | "day1": day1,
33 | "day2": day2
34 | });
35 | })
36 | .error(function(data) {
37 | dfd.reject(data);
38 | });
39 |
40 | return dfd.promise;
41 | };
42 |
43 | this.getEvent = function(eventId){
44 | var dfd = $q.defer();
45 |
46 | $http.get('agenda.json')
47 | .success(function(data) {
48 | var event = _.find(data, {id: eventId});
49 | dfd.resolve(event);
50 | })
51 | .error(function(data) {
52 | dfd.reject(data);
53 | });
54 |
55 | return dfd.promise;
56 | };
57 | })
58 |
59 | ;
60 |
--------------------------------------------------------------------------------
/www/lib/angular-animate/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-animate",
3 | "version": "1.3.13",
4 | "main": "./angular-animate.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.3.13"
8 | },
9 | "homepage": "https://github.com/angular/bower-angular-animate",
10 | "_release": "1.3.13",
11 | "_resolution": {
12 | "type": "version",
13 | "tag": "v1.3.13",
14 | "commit": "f18cb98590471ad9c1e5ae0e57178e9ecb8d384c"
15 | },
16 | "_source": "git://github.com/angular/bower-angular-animate.git",
17 | "_target": "1.3.13",
18 | "_originalSource": "angular-animate"
19 | }
--------------------------------------------------------------------------------
/www/lib/angular-animate/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-animate",
3 | "version": "1.3.13",
4 | "main": "./angular-animate.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.3.13"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/www/lib/angular-animate/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-animate",
3 | "version": "1.3.13",
4 | "description": "AngularJS module for animations",
5 | "main": "angular-animate.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "animation",
18 | "client-side"
19 | ],
20 | "author": "Angular Core Team ",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/angular/angular.js/issues"
24 | },
25 | "homepage": "http://angularjs.org"
26 | }
27 |
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-sanitize",
3 | "version": "1.3.13",
4 | "main": "./angular-sanitize.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.3.13"
8 | },
9 | "homepage": "https://github.com/angular/bower-angular-sanitize",
10 | "_release": "1.3.13",
11 | "_resolution": {
12 | "type": "version",
13 | "tag": "v1.3.13",
14 | "commit": "ee7a595d32ae566701da29873eb1dfb466e3cfef"
15 | },
16 | "_source": "git://github.com/angular/bower-angular-sanitize.git",
17 | "_target": "1.3.13",
18 | "_originalSource": "angular-sanitize"
19 | }
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-sanitize",
3 | "version": "1.3.13",
4 | "main": "./angular-sanitize.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.3.13"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-sanitize",
3 | "version": "1.3.13",
4 | "description": "AngularJS module for sanitizing HTML",
5 | "main": "angular-sanitize.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "html",
18 | "client-side"
19 | ],
20 | "author": "Angular Core Team ",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/angular/angular.js/issues"
24 | },
25 | "homepage": "http://angularjs.org"
26 | }
27 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-ui-router",
3 | "version": "0.2.13",
4 | "main": "./release/angular-ui-router.js",
5 | "dependencies": {
6 | "angular": ">= 1.0.8"
7 | },
8 | "ignore": [
9 | "**/.*",
10 | "node_modules",
11 | "bower_components",
12 | "component.json",
13 | "package.json",
14 | "lib",
15 | "config",
16 | "sample",
17 | "test",
18 | "tests",
19 | "ngdoc_assets",
20 | "Gruntfile.js",
21 | "files.js"
22 | ],
23 | "homepage": "https://github.com/angular-ui/ui-router",
24 | "_release": "0.2.13",
25 | "_resolution": {
26 | "type": "version",
27 | "tag": "0.2.13",
28 | "commit": "c3d543aae43d4600512520a0d70723ac31f2cb62"
29 | },
30 | "_source": "git://github.com/angular-ui/ui-router.git",
31 | "_target": "0.2.13",
32 | "_originalSource": "angular-ui-router"
33 | }
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2014 The AngularUI Team, Karsten Sperling
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-ui-router",
3 | "version": "0.2.13",
4 | "main": "./release/angular-ui-router.js",
5 | "dependencies": {
6 | "angular": ">= 1.0.8"
7 | },
8 | "ignore": [
9 | "**/.*",
10 | "node_modules",
11 | "bower_components",
12 | "component.json",
13 | "package.json",
14 | "lib",
15 | "config",
16 | "sample",
17 | "test",
18 | "tests",
19 | "ngdoc_assets",
20 | "Gruntfile.js",
21 | "files.js"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/src/stateFilters.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc filter
3 | * @name ui.router.state.filter:isState
4 | *
5 | * @requires ui.router.state.$state
6 | *
7 | * @description
8 | * Translates to {@link ui.router.state.$state#methods_is $state.is("stateName")}.
9 | */
10 | $IsStateFilter.$inject = ['$state'];
11 | function $IsStateFilter($state) {
12 | var isFilter = function (state) {
13 | return $state.is(state);
14 | };
15 | isFilter.$stateful = true;
16 | return isFilter;
17 | }
18 |
19 | /**
20 | * @ngdoc filter
21 | * @name ui.router.state.filter:includedByState
22 | *
23 | * @requires ui.router.state.$state
24 | *
25 | * @description
26 | * Translates to {@link ui.router.state.$state#methods_includes $state.includes('fullOrPartialStateName')}.
27 | */
28 | $IncludedByStateFilter.$inject = ['$state'];
29 | function $IncludedByStateFilter($state) {
30 | var includesFilter = function (state) {
31 | return $state.includes(state);
32 | };
33 | includesFilter.$stateful = true;
34 | return includesFilter;
35 | }
36 |
37 | angular.module('ui.router.state')
38 | .filter('isState', $IsStateFilter)
39 | .filter('includedByState', $IncludedByStateFilter);
40 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/src/viewScroll.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc object
3 | * @name ui.router.state.$uiViewScrollProvider
4 | *
5 | * @description
6 | * Provider that returns the {@link ui.router.state.$uiViewScroll} service function.
7 | */
8 | function $ViewScrollProvider() {
9 |
10 | var useAnchorScroll = false;
11 |
12 | /**
13 | * @ngdoc function
14 | * @name ui.router.state.$uiViewScrollProvider#useAnchorScroll
15 | * @methodOf ui.router.state.$uiViewScrollProvider
16 | *
17 | * @description
18 | * Reverts back to using the core [`$anchorScroll`](http://docs.angularjs.org/api/ng.$anchorScroll) service for
19 | * scrolling based on the url anchor.
20 | */
21 | this.useAnchorScroll = function () {
22 | useAnchorScroll = true;
23 | };
24 |
25 | /**
26 | * @ngdoc object
27 | * @name ui.router.state.$uiViewScroll
28 | *
29 | * @requires $anchorScroll
30 | * @requires $timeout
31 | *
32 | * @description
33 | * When called with a jqLite element, it scrolls the element into view (after a
34 | * `$timeout` so the DOM has time to refresh).
35 | *
36 | * If you prefer to rely on `$anchorScroll` to scroll the view to the anchor,
37 | * this can be enabled by calling {@link ui.router.state.$uiViewScrollProvider#methods_useAnchorScroll `$uiViewScrollProvider.useAnchorScroll()`}.
38 | */
39 | this.$get = ['$anchorScroll', '$timeout', function ($anchorScroll, $timeout) {
40 | if (useAnchorScroll) {
41 | return $anchorScroll;
42 | }
43 |
44 | return function ($element) {
45 | $timeout(function () {
46 | $element[0].scrollIntoView();
47 | }, 0, false);
48 | };
49 | }];
50 | }
51 |
52 | angular.module('ui.router.state').provider('$uiViewScroll', $ViewScrollProvider);
53 |
--------------------------------------------------------------------------------
/www/lib/angular/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.3.13",
4 | "main": "./angular.js",
5 | "ignore": [],
6 | "dependencies": {},
7 | "homepage": "https://github.com/angular/bower-angular",
8 | "_release": "1.3.13",
9 | "_resolution": {
10 | "type": "version",
11 | "tag": "v1.3.13",
12 | "commit": "ad68cfecb69ff7cacb27813377ce9d95e072529b"
13 | },
14 | "_source": "git://github.com/angular/bower-angular.git",
15 | "_target": "1.3.13",
16 | "_originalSource": "angular"
17 | }
--------------------------------------------------------------------------------
/www/lib/angular/angular-csp.css:
--------------------------------------------------------------------------------
1 | /* Include this file in your html if you are using the CSP mode. */
2 |
3 | @charset "UTF-8";
4 |
5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
6 | .ng-cloak, .x-ng-cloak,
7 | .ng-hide:not(.ng-hide-animate) {
8 | display: none !important;
9 | }
10 |
11 | ng\:form {
12 | display: block;
13 | }
14 |
--------------------------------------------------------------------------------
/www/lib/angular/angular.min.js.gzip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/angular/angular.min.js.gzip
--------------------------------------------------------------------------------
/www/lib/angular/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.3.13",
4 | "main": "./angular.js",
5 | "ignore": [],
6 | "dependencies": {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/www/lib/angular/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.3.13",
4 | "description": "HTML enhanced for web apps",
5 | "main": "angular.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "client-side"
18 | ],
19 | "author": "Angular Core Team ",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/angular/angular.js/issues"
23 | },
24 | "homepage": "http://angularjs.org"
25 | }
26 |
--------------------------------------------------------------------------------
/www/lib/ionic/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ionic",
3 | "version": "1.0.0-rc.3",
4 | "codename": "radium-raccoon",
5 | "homepage": "https://github.com/driftyco/ionic",
6 | "authors": [
7 | "Max Lynch ",
8 | "Adam Bradley ",
9 | "Ben Sperry "
10 | ],
11 | "description": "Advanced HTML5 hybrid mobile app development framework.",
12 | "main": [
13 | "css/ionic.css",
14 | "fonts/*",
15 | "js/ionic.js",
16 | "js/ionic-angular.js"
17 | ],
18 | "keywords": [
19 | "mobile",
20 | "html5",
21 | "ionic",
22 | "cordova",
23 | "phonegap",
24 | "trigger",
25 | "triggerio",
26 | "angularjs",
27 | "angular"
28 | ],
29 | "license": "MIT",
30 | "private": false,
31 | "dependencies": {
32 | "angular": "1.3.13",
33 | "angular-animate": "1.3.13",
34 | "angular-sanitize": "1.3.13",
35 | "angular-ui-router": "0.2.13"
36 | },
37 | "_release": "1.0.0-rc.3",
38 | "_resolution": {
39 | "type": "version",
40 | "tag": "v1.0.0-rc.3",
41 | "commit": "c55723a8fe5f13c9d5dc6a1844f4459c1d6e5adf"
42 | },
43 | "_source": "git://github.com/driftyco/ionic-bower.git",
44 | "_target": "1.0.0-rc.3",
45 | "_originalSource": "driftyco/ionic-bower"
46 | }
--------------------------------------------------------------------------------
/www/lib/ionic/README.md:
--------------------------------------------------------------------------------
1 | # ionic-bower
2 |
3 | Bower repository for [Ionic Framework](http://github.com/driftyco/ionic)
4 |
5 | ### Usage
6 |
7 | Include `js/ionic.bundle.js` to get ionic and all of its dependencies.
8 |
9 | Alternatively, include the individual ionic files with the dependencies separately.
10 |
11 | ### Versions
12 |
13 | To install the latest stable version, `bower install driftyco/ionic-bower#v1.0.0-beta.13`
14 |
15 | To install the latest nightly release, `bower install driftyco/ionic-bower#master`
16 |
--------------------------------------------------------------------------------
/www/lib/ionic/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ionic",
3 | "version": "1.0.0-rc.3",
4 | "codename": "radium-raccoon",
5 | "homepage": "https://github.com/driftyco/ionic",
6 | "authors": [
7 | "Max Lynch ",
8 | "Adam Bradley ",
9 | "Ben Sperry "
10 | ],
11 | "description": "Advanced HTML5 hybrid mobile app development framework.",
12 | "main": [
13 | "css/ionic.css",
14 | "fonts/*",
15 | "js/ionic.js",
16 | "js/ionic-angular.js"
17 | ],
18 | "keywords": [
19 | "mobile",
20 | "html5",
21 | "ionic",
22 | "cordova",
23 | "phonegap",
24 | "trigger",
25 | "triggerio",
26 | "angularjs",
27 | "angular"
28 | ],
29 | "license": "MIT",
30 | "private": false,
31 | "dependencies": {
32 | "angular": "1.3.13",
33 | "angular-animate": "1.3.13",
34 | "angular-sanitize": "1.3.13",
35 | "angular-ui-router": "0.2.13"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/ionic/fonts/ionicons.eot
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/ionic/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/ionic/fonts/ionicons.woff
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_animations.scss:
--------------------------------------------------------------------------------
1 |
2 | // Slide up from the bottom, used for modals
3 | // -------------------------------
4 |
5 | .slide-in-up {
6 | @include translate3d(0, 100%, 0);
7 | }
8 | .slide-in-up.ng-enter,
9 | .slide-in-up > .ng-enter {
10 | @include transition(all cubic-bezier(.1, .7, .1, 1) 400ms);
11 | }
12 | .slide-in-up.ng-enter-active,
13 | .slide-in-up > .ng-enter-active {
14 | @include translate3d(0, 0, 0);
15 | }
16 |
17 | .slide-in-up.ng-leave,
18 | .slide-in-up > .ng-leave {
19 | @include transition(all ease-in-out 250ms);
20 | }
21 |
22 |
23 | // Scale Out
24 | // Scale from hero (1 in this case) to zero
25 | // -------------------------------
26 |
27 | @-webkit-keyframes scaleOut {
28 | from { -webkit-transform: scale(1); opacity: 1; }
29 | to { -webkit-transform: scale(0.8); opacity: 0; }
30 | }
31 | @keyframes scaleOut {
32 | from { transform: scale(1); opacity: 1; }
33 | to { transform: scale(0.8); opacity: 0; }
34 | }
35 |
36 |
37 | // Super Scale In
38 | // Scale from super (1.x) to duper (1 in this case)
39 | // -------------------------------
40 |
41 | @-webkit-keyframes superScaleIn {
42 | from { -webkit-transform: scale(1.2); opacity: 0; }
43 | to { -webkit-transform: scale(1); opacity: 1 }
44 | }
45 | @keyframes superScaleIn {
46 | from { transform: scale(1.2); opacity: 0; }
47 | to { transform: scale(1); opacity: 1; }
48 | }
49 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_backdrop.scss:
--------------------------------------------------------------------------------
1 |
2 | .backdrop {
3 | position: fixed;
4 | top: 0;
5 | left: 0;
6 | z-index: $z-index-backdrop;
7 |
8 | width: 100%;
9 | height: 100%;
10 |
11 | background-color: $loading-backdrop-bg-color;
12 |
13 | visibility: hidden;
14 | opacity: 0;
15 |
16 | &.visible {
17 | visibility: visible;
18 | }
19 | &.active {
20 | opacity: 1;
21 | }
22 |
23 | @include transition($loading-backdrop-fadein-duration opacity linear);
24 | }
25 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_badge.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Badges
4 | * --------------------------------------------------
5 | */
6 |
7 | .badge {
8 | @include badge-style($badge-default-bg, $badge-default-text);
9 | z-index: $z-index-badge;
10 | display: inline-block;
11 | padding: 3px 8px;
12 | min-width: 10px;
13 | border-radius: $badge-border-radius;
14 | vertical-align: baseline;
15 | text-align: center;
16 | white-space: nowrap;
17 | font-weight: $badge-font-weight;
18 | font-size: $badge-font-size;
19 | line-height: $badge-line-height;
20 |
21 | &:empty {
22 | display: none;
23 | }
24 | }
25 |
26 | //Be sure to override specificity of rule that 'badge color matches tab color by default'
27 | .tabs .tab-item .badge,
28 | .badge {
29 | &.badge-light {
30 | @include badge-style($badge-light-bg, $badge-light-text);
31 | }
32 | &.badge-stable {
33 | @include badge-style($badge-stable-bg, $badge-stable-text);
34 | }
35 | &.badge-positive {
36 | @include badge-style($badge-positive-bg, $badge-positive-text);
37 | }
38 | &.badge-calm {
39 | @include badge-style($badge-calm-bg, $badge-calm-text);
40 | }
41 | &.badge-assertive {
42 | @include badge-style($badge-assertive-bg, $badge-assertive-text);
43 | }
44 | &.badge-balanced {
45 | @include badge-style($badge-balanced-bg, $badge-balanced-text);
46 | }
47 | &.badge-energized {
48 | @include badge-style($badge-energized-bg, $badge-energized-text);
49 | }
50 | &.badge-royal {
51 | @include badge-style($badge-royal-bg, $badge-royal-text);
52 | }
53 | &.badge-dark {
54 | @include badge-style($badge-dark-bg, $badge-dark-text);
55 | }
56 | }
57 |
58 | // Quick fix for labels/badges in buttons
59 | .button .badge {
60 | position: relative;
61 | top: -1px;
62 | }
63 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_button-bar.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Button Bar
4 | * --------------------------------------------------
5 | */
6 |
7 | .button-bar {
8 | @include display-flex();
9 | @include flex(1);
10 | width: 100%;
11 |
12 | &.button-bar-inline {
13 | display: block;
14 | width: auto;
15 |
16 | @include clearfix();
17 |
18 | > .button {
19 | width: auto;
20 | display: inline-block;
21 | float: left;
22 | }
23 | }
24 | }
25 |
26 | .button-bar > .button {
27 | @include flex(1);
28 | display: block;
29 |
30 | overflow: hidden;
31 |
32 | padding: 0 16px;
33 |
34 | width: 0;
35 |
36 | border-width: 1px 0px 1px 1px;
37 | border-radius: 0;
38 | text-align: center;
39 | text-overflow: ellipsis;
40 | white-space: nowrap;
41 |
42 | &:before,
43 | .icon:before {
44 | line-height: 44px;
45 | }
46 |
47 | &:first-child {
48 | border-radius: $button-border-radius 0px 0px $button-border-radius;
49 | }
50 | &:last-child {
51 | border-right-width: 1px;
52 | border-radius: 0px $button-border-radius $button-border-radius 0px;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_loaders.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Loaders (Spinners)
3 | * --------------------------------------------------
4 | */
5 |
6 | svg.loader {
7 | width: 28px;
8 | height: 28px;
9 | stroke: #333;
10 | fill: #333;
11 | }
12 |
13 | .loader-ios,
14 | .loader-ios-small {
15 |
16 | line {
17 | stroke: #69717d;
18 | }
19 |
20 | }
21 |
22 | .loader-android {
23 |
24 | circle {
25 | stroke: #4b8bf4;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_loading.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Loading
4 | * --------------------------------------------------
5 | */
6 |
7 | .loading-container {
8 | position: absolute;
9 | left: 0;
10 | top: 0;
11 | right: 0;
12 | bottom: 0;
13 |
14 | z-index: $z-index-loading;
15 |
16 | @include display-flex();
17 | @include justify-content(center);
18 | @include align-items(center);
19 |
20 | @include transition(0.2s opacity linear);
21 | visibility: hidden;
22 | opacity: 0;
23 |
24 | &:not(.visible) .icon {
25 | display: none;
26 | }
27 | &.visible {
28 | visibility: visible;
29 | }
30 | &.active {
31 | opacity: 1;
32 | }
33 |
34 | .loading {
35 | padding: $loading-padding;
36 |
37 | border-radius: $loading-border-radius;
38 | background-color: $loading-bg-color;
39 |
40 | color: $loading-text-color;
41 |
42 | text-align: center;
43 | text-overflow: ellipsis;
44 | font-size: $loading-font-size;
45 |
46 | h1, h2, h3, h4, h5, h6 {
47 | color: $loading-text-color;
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_menu.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Menus
4 | * --------------------------------------------------
5 | * Side panel structure
6 | */
7 |
8 | .menu {
9 | position: absolute;
10 | top: 0;
11 | bottom: 0;
12 | z-index: $z-index-menu;
13 | overflow: hidden;
14 |
15 | min-height: 100%;
16 | max-height: 100%;
17 | width: $menu-width;
18 |
19 | background-color: $menu-bg;
20 |
21 | .scroll-content {
22 | z-index: $z-index-menu-scroll-content;
23 | }
24 |
25 | .bar-header {
26 | z-index: $z-index-menu-bar-header;
27 | }
28 | }
29 |
30 | .menu-content {
31 | @include transform(none);
32 | box-shadow: $menu-side-shadow;
33 | }
34 |
35 | .menu-open .menu-content .pane,
36 | .menu-open .menu-content .scroll-content {
37 | pointer-events: none;
38 | }
39 |
40 | .grade-b .menu-content,
41 | .grade-c .menu-content {
42 | @include box-sizing(content-box);
43 | right: -1px;
44 | left: -1px;
45 | border-right: 1px solid #ccc;
46 | border-left: 1px solid #ccc;
47 | box-shadow: none;
48 | }
49 |
50 | .menu-left {
51 | left: 0;
52 | }
53 |
54 | .menu-right {
55 | right: 0;
56 | }
57 |
58 | .aside-open.aside-resizing .menu-right {
59 | display: none;
60 | }
61 |
62 | .menu-animated {
63 | @include transition-transform($menu-animation-speed ease);
64 | }
65 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_progress.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Progress
4 | * --------------------------------------------------
5 | */
6 |
7 | progress {
8 | display: block;
9 | margin: $progress-margin;
10 | width: $progress-width;
11 | }
12 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_radio.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Radio Button Inputs
4 | * --------------------------------------------------
5 | */
6 |
7 | .item-radio {
8 | padding: 0;
9 |
10 | &:hover {
11 | cursor: pointer;
12 | }
13 | }
14 |
15 | .item-radio .item-content {
16 | /* give some room to the right for the checkmark icon */
17 | padding-right: $item-padding * 4;
18 | }
19 |
20 | .item-radio .radio-icon {
21 | /* checkmark icon will be hidden by default */
22 | position: absolute;
23 | top: 0;
24 | right: 0;
25 | z-index: $z-index-item-radio;
26 | visibility: hidden;
27 | padding: $item-padding - 2;
28 | height: 100%;
29 | font-size: 24px;
30 | }
31 |
32 | .item-radio input {
33 | /* hide any radio button inputs elements (the ugly circles) */
34 | position: absolute;
35 | left: -9999px;
36 |
37 | &:checked ~ .item-content {
38 | /* style the item content when its checked */
39 | background: #f7f7f7;
40 | }
41 |
42 | &:checked ~ .radio-icon {
43 | /* show the checkmark icon when its checked */
44 | visibility: visible;
45 | }
46 | }
47 |
48 | // Hack for Android to correctly display the checked item
49 | // http://timpietrusky.com/advanced-checkbox-hack
50 | .platform-android.grade-b .item-radio,
51 | .platform-android.grade-c .item-radio {
52 | -webkit-animation: androidCheckedbugfix infinite 1s;
53 | }
54 | @-webkit-keyframes androidCheckedbugfix {
55 | from { padding: 0; }
56 | to { padding: 0; }
57 | }
58 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_slide-box.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Slide Box
4 | * --------------------------------------------------
5 | */
6 |
7 | .slider {
8 | position: relative;
9 | visibility: hidden;
10 | // Make sure items don't scroll over ever
11 | overflow: hidden;
12 | }
13 |
14 | .slider-slides {
15 | position: relative;
16 | height: 100%;
17 | }
18 |
19 | .slider-slide {
20 | position: relative;
21 | display: block;
22 | float: left;
23 | width: 100%;
24 | height: 100%;
25 | vertical-align: top;
26 | }
27 |
28 | .slider-slide-image {
29 | > img {
30 | width: 100%;
31 | }
32 | }
33 |
34 | .slider-pager {
35 | position: absolute;
36 | bottom: 20px;
37 | z-index: $z-index-slider-pager;
38 | width: 100%;
39 | height: 15px;
40 | text-align: center;
41 |
42 | .slider-pager-page {
43 | display: inline-block;
44 | margin: 0px 3px;
45 | width: 15px;
46 | color: #000;
47 | text-decoration: none;
48 |
49 | opacity: 0.3;
50 |
51 | &.active {
52 | @include transition(opacity 0.4s ease-in);
53 | opacity: 1;
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_spinner.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Spinners
3 | * --------------------------------------------------
4 | */
5 |
6 | .spinner {
7 | svg {
8 | width: $spinner-width;
9 | height: $spinner-height;
10 | }
11 |
12 | stroke: $spinner-default-stroke;
13 | fill: $spinner-default-fill;
14 |
15 | &.spinner-light {
16 | stroke: $spinner-light-stroke;
17 | fill: $spinner-light-fill;
18 | }
19 | &.spinner-stable {
20 | stroke: $spinner-stable-stroke;
21 | fill: $spinner-stable-fill;
22 | }
23 | &.spinner-positive {
24 | stroke: $spinner-positive-stroke;
25 | fill: $spinner-positive-fill;
26 | }
27 | &.spinner-calm {
28 | stroke: $spinner-calm-stroke;
29 | fill: $spinner-calm-fill;
30 | }
31 | &.spinner-balanced {
32 | stroke: $spinner-balanced-stroke;
33 | fill: $spinner-balanced-fill;
34 | }
35 | &.spinner-assertive {
36 | stroke: $spinner-assertive-stroke;
37 | fill: $spinner-assertive-fill;
38 | }
39 | &.spinner-energized {
40 | stroke: $spinner-energized-stroke;
41 | fill: $spinner-energized-fill;
42 | }
43 | &.spinner-royal {
44 | stroke: $spinner-royal-stroke;
45 | fill: $spinner-royal-fill;
46 | }
47 | &.spinner-dark {
48 | stroke: $spinner-dark-stroke;
49 | fill: $spinner-dark-fill;
50 | }
51 | }
52 |
53 | .spinner-android {
54 | stroke: #4b8bf4;
55 | }
56 |
57 | .spinner-ios,
58 | .spinner-ios-small {
59 | stroke: #69717d;
60 | }
61 |
62 | .spinner-spiral {
63 | .stop1 {
64 | stop-color: $spinner-light-fill;
65 | stop-opacity: 0;
66 | }
67 |
68 | &.spinner-light {
69 | .stop1 {
70 | stop-color: $spinner-default-fill;
71 | }
72 | .stop2 {
73 | stop-color: $spinner-light-fill;
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_split-pane.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Split Pane
4 | * --------------------------------------------------
5 | */
6 |
7 | .split-pane {
8 | @include display-flex();
9 | @include align-items(stretch);
10 | width: 100%;
11 | height: 100%;
12 | }
13 |
14 | .split-pane-menu {
15 | @include flex(0, 0, $split-pane-menu-width);
16 |
17 | overflow-y: auto;
18 | width: $split-pane-menu-width;
19 | height: 100%;
20 | border-right: 1px solid $split-pane-menu-border-color;
21 |
22 | @media all and (max-width: 568px) {
23 | border-right: none;
24 | }
25 | }
26 |
27 | .split-pane-content {
28 | @include flex(1, 0, auto);
29 | }
30 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionic.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @import
4 | // Ionicons
5 | "ionicons/ionicons.scss",
6 |
7 | // Variables
8 | "mixins",
9 | "variables",
10 |
11 | // Base
12 | "reset",
13 | "scaffolding",
14 | "type",
15 |
16 | // Components
17 | "action-sheet",
18 | "backdrop",
19 | "bar",
20 | "tabs",
21 | "menu",
22 | "modal",
23 | "popover",
24 | "popup",
25 | "loading",
26 | "items",
27 | "list",
28 | "badge",
29 | "slide-box",
30 | "refresher",
31 | "spinner",
32 |
33 | // Forms
34 | "form",
35 | "checkbox",
36 | "toggle",
37 | "radio",
38 | "range",
39 | "select",
40 | "progress",
41 |
42 | // Buttons
43 | "button",
44 | "button-bar",
45 |
46 | // Util
47 | "grid",
48 | "util",
49 | "platform",
50 |
51 | // Animations
52 | "animations",
53 | "transitions";
54 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/_ionicons-font.scss:
--------------------------------------------------------------------------------
1 | // Ionicons Font Path
2 | // --------------------------
3 |
4 | @font-face {
5 | font-family: $ionicons-font-family;
6 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}");
7 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"),
8 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"),
9 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
10 | url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg");
11 | font-weight: normal;
12 | font-style: normal;
13 | }
14 |
15 | .ion {
16 | display: inline-block;
17 | font-family: $ionicons-font-family;
18 | speak: none;
19 | font-style: normal;
20 | font-weight: normal;
21 | font-variant: normal;
22 | text-transform: none;
23 | text-rendering: auto;
24 | line-height: 1;
25 | -webkit-font-smoothing: antialiased;
26 | -moz-osx-font-smoothing: grayscale;
27 | }
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/ionicons.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @import "ionicons-variables";
3 | /*!
4 | Ionicons, v2.0.1
5 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
6 | https://twitter.com/benjsperry https://twitter.com/ionicframework
7 | MIT License: https://github.com/driftyco/ionicons
8 |
9 | Android-style icons originally built by Google’s
10 | Material Design Icons: https://github.com/google/material-design-icons
11 | used under CC BY http://creativecommons.org/licenses/by/4.0/
12 | Modified icons to fit ionicon’s grid from original.
13 | */
14 |
15 | @import "ionicons-font";
16 | @import "ionicons-icons";
17 |
--------------------------------------------------------------------------------
/www/lib/ngmap/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngmap",
3 | "version": "1.7.7",
4 | "main": "./build/scripts/ng-map.js",
5 | "homepage": "https://github.com/allenhwkim/angularjs-google-maps",
6 | "authors": [
7 | "Allen Kim "
8 | ],
9 | "description": "The Simplest AngularJs Google Maps V3 Directive Module",
10 | "keywords": [
11 | "angularjs",
12 | "angularjs-directive",
13 | "google-maps"
14 | ],
15 | "license": "MIT",
16 | "_release": "1.7.7",
17 | "_resolution": {
18 | "type": "version",
19 | "tag": "v1.7.7",
20 | "commit": "b5c956ee46c3f26e73312a4f7c607cb897dc54cc"
21 | },
22 | "_source": "git://github.com/allenhwkim/angularjs-google-maps.git",
23 | "_target": "~1.7.7",
24 | "_originalSource": "ngmap",
25 | "_direct": true
26 | }
--------------------------------------------------------------------------------
/www/lib/ngmap/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 |
--------------------------------------------------------------------------------
/www/lib/ngmap/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | nohup.out
3 | node_modules
4 | tmp
5 | *.log
6 | gh-pages
7 |
--------------------------------------------------------------------------------
/www/lib/ngmap/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.10"
4 | script:
5 | - "gulp test"
6 |
--------------------------------------------------------------------------------
/www/lib/ngmap/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Allen Kim
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/.buildignore:
--------------------------------------------------------------------------------
1 | *.coffee
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "predef" : ["google", "MarkerCluster" ],
3 | "forin" : false,
4 | "-W089" : true
5 | }
6 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/app.js:
--------------------------------------------------------------------------------
1 | var ngMap = angular.module('ngMap', []);
2 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "predef" : [ "ngMap", "google", "MarkerCluster" ],
3 | "forin" : true
4 | }
5 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/bicycling-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name bicycling-layer
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('bicyclingLayer', ['Attr2Options', function(Attr2Options) {
18 | var parser = Attr2Options;
19 |
20 | var getLayer = function(options, events) {
21 | var layer = new google.maps.BicyclingLayer(options);
22 | for (var eventName in events) {
23 | google.maps.event.addListener(layer, eventName, events[eventName]);
24 | }
25 | return layer;
26 | };
27 |
28 | return {
29 | restrict: 'E',
30 | require: '^map',
31 |
32 | link: function(scope, element, attrs, mapController) {
33 | var orgAttrs = parser.orgAttributes(element);
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered);
37 |
38 | console.log('bicycling-layer options', options, 'events', events);
39 |
40 | var layer = getLayer(options, events);
41 | mapController.addObject('bicyclingLayers', layer);
42 | mapController.observeAttrSetObj(orgAttrs, attrs, layer); //observers
43 | element.bind('$destroy', function() {
44 | mapController.deleteObject('bicyclingLayers', layer);
45 | });
46 | }
47 | }; // return
48 | }]);
49 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/cloud-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name cloud-layer
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('cloudLayer', ['Attr2Options', function(Attr2Options) {
18 | var parser = Attr2Options;
19 |
20 | var getLayer = function(options, events) {
21 | var layer = new google.maps.weather.CloudLayer(options);
22 | for (var eventName in events) {
23 | google.maps.event.addListener(layer, eventName, events[eventName]);
24 | }
25 | return layer;
26 | };
27 |
28 | return {
29 | restrict: 'E',
30 | require: '^map',
31 |
32 | link: function(scope, element, attrs, mapController) {
33 | var orgAttrs = parser.orgAttributes(element);
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered);
37 | console.log('cloud-layer options', options, 'events', events);
38 |
39 | var layer = getLayer(options, events);
40 | mapController.addObject('cloudLayers', layer);
41 | mapController.observeAttrSetObj(orgAttrs, attrs, layer); //observers
42 | element.bind('$destroy', function() {
43 | mapController.deleteObject('cloudLayers', layer);
44 | });
45 | }
46 | }; // return
47 | }]);
48 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/dynamic-maps-engine-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name dynamic-maps-engine-layer
4 | * @description
5 | * Requires: map directive
6 | * Restrict To: Element
7 | *
8 | * @example
9 | * Example:
10 | *
11 | *
12 | *
13 | */
14 | /*jshint -W089*/
15 | ngMap.directive('dynamicMapsEngineLayer', ['Attr2Options', function(Attr2Options) {
16 | var parser = Attr2Options;
17 |
18 | var getDynamicMapsEngineLayer = function(options, events) {
19 | var layer = new google.maps.visualization.DynamicMapsEngineLayer(options);
20 |
21 | for (var eventName in events) {
22 | google.maps.event.addListener(layer, eventName, events[eventName]);
23 | }
24 |
25 | return layer;
26 | };
27 |
28 |
29 | return {
30 | restrict: 'E',
31 | require: '^map',
32 |
33 | link: function(scope, element, attrs, mapController) {
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered, events);
37 | console.log('dynamic-maps-engine-layer options', options, 'events', events);
38 |
39 | var layer = getDynamicMapsEngineLayer(options, events);
40 | mapController.addObject('mapsEngineLayers', layer);
41 | }
42 | }; // return
43 | }]);
44 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/fusion-tables-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name fusion-tables-layer
4 | * @description
5 | * Requires: map directive
6 | * Restrict To: Element
7 | *
8 | * @example
9 | * Example:
10 | *
11 | *
14 | *
15 | *
16 | */
17 | /*jshint -W089*/
18 | ngMap.directive('fusionTablesLayer', ['Attr2Options', function(Attr2Options) {
19 | var parser = Attr2Options;
20 |
21 | var getLayer = function(options, events) {
22 | var layer = new google.maps.FusionTablesLayer(options);
23 |
24 | for (var eventName in events) {
25 | google.maps.event.addListener(layer, eventName, events[eventName]);
26 | }
27 |
28 | return layer;
29 | };
30 |
31 |
32 | return {
33 | restrict: 'E',
34 | require: '^map',
35 |
36 | link: function(scope, element, attrs, mapController) {
37 | var filtered = parser.filter(attrs);
38 | var options = parser.getOptions(filtered);
39 | var events = parser.getEvents(scope, filtered, events);
40 | console.log('fusion-tables-layer options', options, 'events', events);
41 |
42 | var layer = getLayer(options, events);
43 | mapController.addObject('fusionTablesLayers', layer);
44 | }
45 | }; // return
46 | }]);
47 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/heatmap-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name heatmap-layer
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('heatmapLayer', ['Attr2Options', '$window', function(Attr2Options, $window) {
18 | var parser = Attr2Options;
19 |
20 | return {
21 | restrict: 'E',
22 | require: '^map',
23 |
24 | link: function(scope, element, attrs, mapController) {
25 | var filtered = parser.filter(attrs);
26 |
27 | /**
28 | * set options
29 | */
30 | var options = parser.getOptions(filtered);
31 | options.data = $window[attrs.data] || scope[attrs.data];
32 | if (options.data instanceof Array) {
33 | options.data = new google.maps.MVCArray(options.data);
34 | } else {
35 | throw "invalid heatmap data";
36 | }
37 | var layer = new google.maps.visualization.HeatmapLayer(options);
38 |
39 | /**
40 | * set events
41 | */
42 | var events = parser.getEvents(scope, filtered);
43 | console.log('heatmap-layer options', layer, 'events', events);
44 |
45 | mapController.addObject('heatmapLayers', layer);
46 | }
47 | }; // return
48 | }]);
49 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/map-data.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name map-data
4 | * @description
5 | * set map data
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @param {String} method-name, run map.data[method-name] with attribute value
10 | * @example
11 | * Example:
12 | *
13 | *
14 | *
15 | *
16 | */
17 | ngMap.directive('mapData', ['Attr2Options', function(Attr2Options) {
18 | var parser = Attr2Options;
19 |
20 | return {
21 | restrict: 'E',
22 | require: '^map',
23 |
24 | link: function(scope, element, attrs, mapController) {
25 | var filtered = parser.filter(attrs);
26 | var options = parser.getOptions(filtered);
27 | var events = parser.getEvents(scope, filtered, events);
28 |
29 | console.log('map-data options', options);
30 | scope.$on('mapInitialized', function(event, map) {
31 | /**
32 | * options
33 | */
34 | for (var key in options) {
35 | if (key) {
36 | var val = options[key];
37 | if (typeof scope[val] === "function") {
38 | map.data[key](scope[val]);
39 | } else {
40 | map.data[key](val);
41 | }
42 | } // if (key)
43 | }
44 |
45 | /**
46 | * events
47 | */
48 | for (var eventName in events) {
49 | if (events[eventName]) {
50 | map.data.addListener(eventName, events[eventName]);
51 | }
52 | }
53 | });
54 | }
55 | }; // return
56 | }]);
57 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/map-type.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name map-type
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('mapType', ['Attr2Options', '$window', function(Attr2Options, $window) {
18 | var parser = Attr2Options;
19 |
20 | return {
21 | restrict: 'E',
22 | require: '^map',
23 |
24 | link: function(scope, element, attrs, mapController) {
25 | var mapTypeName = attrs.name, mapTypeObject;
26 | if (!mapTypeName) {
27 | throw "invalid map-type name";
28 | }
29 | if (attrs.object) {
30 | var __scope = scope[attrs.object] ? scope : $window;
31 | mapTypeObject = __scope[attrs.object];
32 | if (typeof mapTypeObject == "function") {
33 | mapTypeObject = new mapTypeObject();
34 | }
35 | }
36 | if (!mapTypeObject) {
37 | throw "invalid map-type object";
38 | }
39 |
40 | scope.$on('mapInitialized', function(evt, map) {
41 | map.mapTypes.set(mapTypeName, mapTypeObject);
42 | });
43 | mapController.addObject('mapTypes', mapTypeObject);
44 | }
45 | }; // return
46 | }]);
47 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/maps-engine-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name maps-engine-layer
4 | * @description
5 | * Requires: map directive
6 | * Restrict To: Element
7 | *
8 | * @example
9 | * Example:
10 | *
11 | *
12 | *
13 | */
14 | /*jshint -W089*/
15 | ngMap.directive('mapsEngineLayer', ['Attr2Options', function(Attr2Options) {
16 | var parser = Attr2Options;
17 |
18 | var getMapsEngineLayer = function(options, events) {
19 | var layer = new google.maps.visualization.MapsEngineLayer(options);
20 |
21 | for (var eventName in events) {
22 | google.maps.event.addListener(layer, eventName, events[eventName]);
23 | }
24 |
25 | return layer;
26 | };
27 |
28 |
29 | return {
30 | restrict: 'E',
31 | require: '^map',
32 |
33 | link: function(scope, element, attrs, mapController) {
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered, events);
37 | console.log('maps-engine-layer options', options, 'events', events);
38 |
39 | var layer = getMapsEngineLayer(options, events);
40 | mapController.addObject('mapsEngineLayers', layer);
41 | }
42 | }; // return
43 | }]);
44 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/overlay-map-type.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name overlay-map-type
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('overlayMapType', ['Attr2Options', '$window', function(Attr2Options, $window) {
18 | var parser = Attr2Options;
19 |
20 | return {
21 | restrict: 'E',
22 | require: '^map',
23 |
24 | link: function(scope, element, attrs, mapController) {
25 | var overlayMapTypeObject;
26 | var initMethod = attrs.initMethod || "insertAt";
27 | if (attrs.object) {
28 | var __scope = scope[attrs.object] ? scope : $window;
29 | overlayMapTypeObject = __scope[attrs.object];
30 | if (typeof overlayMapTypeObject == "function") {
31 | overlayMapTypeObject = new overlayMapTypeObject();
32 | }
33 | }
34 | if (!overlayMapTypeObject) {
35 | throw "invalid map-type object";
36 | }
37 |
38 | scope.$on('mapInitialized', function(evt, map) {
39 | if (initMethod == "insertAt") {
40 | var index = parseInt(attrs.index, 10);
41 | map.overlayMapTypes.insertAt(index, overlayMapTypeObject);
42 | } else if (initMethod == "push") {
43 | map.overlayMapTypes.push(overlayMapTypeObject);
44 | }
45 | });
46 | mapController.addObject('overlayMapTypes', overlayMapTypeObject);
47 | }
48 | }; // return
49 | }]);
50 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/traffic-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name traffic-layer
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('trafficLayer', ['Attr2Options', function(Attr2Options) {
18 | var parser = Attr2Options;
19 |
20 | var getLayer = function(options, events) {
21 | var layer = new google.maps.TrafficLayer(options);
22 | for (var eventName in events) {
23 | google.maps.event.addListener(layer, eventName, events[eventName]);
24 | }
25 | return layer;
26 | };
27 |
28 | return {
29 | restrict: 'E',
30 | require: '^map',
31 |
32 | link: function(scope, element, attrs, mapController) {
33 | var orgAttrs = parser.orgAttributes(element);
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered);
37 | console.log('traffic-layer options', options, 'events', events);
38 |
39 | var layer = getLayer(options, events);
40 | mapController.addObject('trafficLayers', layer);
41 | mapController.observeAttrSetObj(orgAttrs, attrs, layer); //observers
42 | element.bind('$destroy', function() {
43 | mapController.deleteObject('trafficLayers', layer);
44 | });
45 | }
46 | }; // return
47 | }]);
48 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/transit-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name transit-layer
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('transitLayer', ['Attr2Options', function(Attr2Options) {
18 | var parser = Attr2Options;
19 |
20 | var getLayer = function(options, events) {
21 | var layer = new google.maps.TransitLayer(options);
22 | for (var eventName in events) {
23 | google.maps.event.addListener(layer, eventName, events[eventName]);
24 | }
25 | return layer;
26 | };
27 |
28 | return {
29 | restrict: 'E',
30 | require: '^map',
31 |
32 | link: function(scope, element, attrs, mapController) {
33 | var orgAttrs = parser.orgAttributes(element);
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered);
37 | console.log('transit-layer options', options, 'events', events);
38 |
39 | var layer = getLayer(options, events);
40 | mapController.addObject('transitLayers', layer);
41 | mapController.observeAttrSetObj(orgAttrs, attrs, layer); //observers
42 | element.bind('$destroy', function() {
43 | mapController.deleteObject('transitLayers', layer);
44 | });
45 | }
46 | }; // return
47 | }]);
48 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/directives/weather-layer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc directive
3 | * @name weather-layer
4 | * @requires Attr2Options
5 | * @description
6 | * Requires: map directive
7 | * Restrict To: Element
8 | *
9 | * @example
10 | * Example:
11 | *
12 | *
13 | *
14 | *
15 | */
16 | /*jshint -W089*/
17 | ngMap.directive('weatherLayer', ['Attr2Options', function(Attr2Options) {
18 | var parser = Attr2Options;
19 |
20 | var getLayer = function(options, events) {
21 | var layer = new google.maps.weather.WeatherLayer(options);
22 | for (var eventName in events) {
23 | google.maps.event.addListener(layer, eventName, events[eventName]);
24 | }
25 | return layer;
26 | };
27 |
28 | return {
29 | restrict: 'E',
30 | require: '^map',
31 |
32 | link: function(scope, element, attrs, mapController) {
33 | var orgAttrs = parser.orgAttributes(element);
34 | var filtered = parser.filter(attrs);
35 | var options = parser.getOptions(filtered);
36 | var events = parser.getEvents(scope, filtered);
37 |
38 | console.log('weather-layer options', options, 'events', events);
39 |
40 | var layer = getLayer(options, events);
41 | mapController.addObject('weatherLayers', layer);
42 | mapController.observeAttrSetObj(orgAttrs, attrs, layer); //observers
43 | element.bind('$destroy', function() {
44 | mapController.deleteObject('weatherLayers', layer);
45 | });
46 | }
47 | }; // return
48 | }]);
49 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/services/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "predef" : [ "ngMap", "google", "MarkerCluster" ],
3 | "forin" : true
4 | }
5 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/services/geo_coder.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc service
3 | * @name GeoCoder
4 | * @description
5 | * Provides [defered/promise API](https://docs.angularjs.org/api/ng/service/$q) service for Google Geocoder service
6 | */
7 | /* global google */
8 | (function() {
9 | 'use strict';
10 | var GeoCoder = function($q) {
11 | return {
12 | /**
13 | * @memberof GeoCoder
14 | * @param {Hash} options https://developers.google.com/maps/documentation/geocoding/#geocoding
15 | * @example
16 | * ```
17 | * GeoCoder.geocode({address: 'the cn tower'}).then(function(result) {
18 | * //... do something with result
19 | * });
20 | * ```
21 | * @returns {HttpPromise} Future object
22 | */
23 | geocode : function(options) {
24 | var deferred = $q.defer();
25 | var geocoder = new google.maps.Geocoder();
26 | geocoder.geocode(options, function (results, status) {
27 | if (status == google.maps.GeocoderStatus.OK) {
28 | deferred.resolve(results);
29 | } else {
30 | deferred.reject('Geocoder failed due to: '+ status);
31 | }
32 | });
33 | return deferred.promise;
34 | }
35 | }
36 | };
37 |
38 | angular.module('ngMap').service('GeoCoder', ['$q', GeoCoder]);
39 | })();
40 |
--------------------------------------------------------------------------------
/www/lib/ngmap/app/scripts/services/navigator_geolocation.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc service
3 | * @name NavigatorGeolocation
4 | * @description
5 | * Provides [defered/promise API](https://docs.angularjs.org/api/ng/service/$q) service for navigator.geolocation methods
6 | */
7 | /* global google */
8 | (function() {
9 | 'use strict';
10 |
11 | var NavigatorGeolocation = function($q) {
12 | return {
13 | /**
14 | * @memberof NavigatorGeolocation
15 | * @param {function} success success callback function
16 | * @param {function} failure failure callback function
17 | * @example
18 | * ```
19 | * NavigatorGeolocation.getCurrentPosition()
20 | * .then(function(position) {
21 | * var lat = position.coords.latitude, lng = position.coords.longitude;
22 | * .. do something lat and lng
23 | * });
24 | * ```
25 | * @returns {HttpPromise} Future object
26 | */
27 | getCurrentPosition: function() {
28 | var deferred = $q.defer();
29 | if (navigator.geolocation) {
30 | navigator.geolocation.getCurrentPosition(
31 | function(position) {
32 | deferred.resolve(position);
33 | }, function(evt) {
34 | console.error(evt);
35 | deferred.reject(evt);
36 | }
37 | );
38 | } else {
39 | deferred.reject("Browser Geolocation service failed.");
40 | }
41 | return deferred.promise;
42 | },
43 |
44 | watchPosition: function() {
45 | return "TODO";
46 | },
47 |
48 | clearWatch: function() {
49 | return "TODO";
50 | }
51 | };
52 | };
53 |
54 | angular.module('ngMap').service('NavigatorGeolocation', ['$q', NavigatorGeolocation]);
55 | })();
56 |
--------------------------------------------------------------------------------
/www/lib/ngmap/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngmap",
3 | "version": "1.7.7",
4 | "main": "./build/scripts/ng-map.js",
5 | "homepage": "https://github.com/allenhwkim/angularjs-google-maps",
6 | "authors": [
7 | "Allen Kim "
8 | ],
9 | "description": "The Simplest AngularJs Google Maps V3 Directive Module",
10 | "keywords": [
11 | "angularjs",
12 | "angularjs-directive",
13 | "google-maps"
14 | ],
15 | "license": "MIT"
16 | }
17 |
--------------------------------------------------------------------------------
/www/lib/ngmap/build/docs/scripts/linenumber.js:
--------------------------------------------------------------------------------
1 | /*global document */
2 | (function() {
3 | var source = document.getElementsByClassName('prettyprint source linenums');
4 | var i = 0;
5 | var lineNumber = 0;
6 | var lineId;
7 | var lines;
8 | var totalLines;
9 | var anchorHash;
10 |
11 | if (source && source[0]) {
12 | anchorHash = document.location.hash.substring(1);
13 | lines = source[0].getElementsByTagName('li');
14 | totalLines = lines.length;
15 |
16 | for (; i < totalLines; i++) {
17 | lineNumber++;
18 | lineId = 'line' + lineNumber;
19 | lines[i].id = lineId;
20 | if (lineId === anchorHash) {
21 | lines[i].className += ' selected';
22 | }
23 | }
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/lib/ngmap/build/docs/scripts/prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
3 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/README.md:
--------------------------------------------------------------------------------
1 | The default template for JSDoc 3 uses: [the Taffy Database library](http://taffydb.com/) and the [Underscore Template library](http://documentcloud.github.com/underscore/#template).
2 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/static/scripts/linenumber.js:
--------------------------------------------------------------------------------
1 | /*global document */
2 | (function() {
3 | var source = document.getElementsByClassName('prettyprint source linenums');
4 | var i = 0;
5 | var lineNumber = 0;
6 | var lineId;
7 | var lines;
8 | var totalLines;
9 | var anchorHash;
10 |
11 | if (source && source[0]) {
12 | anchorHash = document.location.hash.substring(1);
13 | lines = source[0].getElementsByTagName('li');
14 | totalLines = lines.length;
15 |
16 | for (; i < totalLines; i++) {
17 | lineNumber++;
18 | lineId = 'line' + lineNumber;
19 | lines[i].id = lineId;
20 | if (lineId === anchorHash) {
21 | lines[i].className += ' selected';
22 | }
23 | }
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/static/scripts/prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
3 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/example.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/examples.tmpl:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/exceptions.tmpl:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Type
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/layout.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | JSDoc:
6 |
7 |
8 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/mainpage.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/members.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Type:
21 |
26 |
27 |
28 |
29 |
30 |
31 | Fires:
32 |
35 |
36 |
37 |
38 | Example 1? 's':'' ?>
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/returns.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Type
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/source.tmpl:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/tutorial.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 0) { ?>
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/jsdoc/template/tmpl/type.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 | |
7 |
--------------------------------------------------------------------------------
/www/lib/ngmap/config/protractor.conf.js:
--------------------------------------------------------------------------------
1 | // The main suite of Protractor tests.
2 | exports.config = {
3 | seleniumServerJar: __dirname +
4 | '/../node_modules/gulp-protractor' +
5 | '/node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar',
6 |
7 | browserName: 'chrome',
8 |
9 | // Exclude patterns are relative to this directory.
10 | // exclude: [],
11 |
12 | jasmineNodeOpts: {
13 | showColors: true,
14 | isVerbose: true, // List all tests in the console
15 | includeStackTrace: true,
16 | defaultTimeoutInterval: 30000
17 | }
18 |
19 | //baseUrl: 'http://localhost:8081'
20 | };
21 |
--------------------------------------------------------------------------------
/www/lib/ngmap/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngmap",
3 | "version": "1.7.7",
4 | "main": "build/scripts/ng-map.js",
5 | "dependencies": {
6 | "glob": "~4.0.2",
7 | "gulp": "^3.8.0"
8 | },
9 | "engines": {
10 | "node": ">=0.8.0"
11 | },
12 | "scripts": {
13 | "test": "gulp test"
14 | },
15 | "devDependencies": {
16 | "angular-jsdoc": "^0.3.3",
17 | "compression": "~1.0.6",
18 | "express": "~4.4.1",
19 | "gulp-bump": "~0.1.9",
20 | "gulp-clean": "~0.3.0",
21 | "gulp-concat": "~2.2.0",
22 | "gulp-connect": "^2.2.0",
23 | "gulp-debug": "~0.3.0",
24 | "gulp-html-replace": "~1.1.0",
25 | "gulp-protractor": "0.0.12",
26 | "gulp-rename": "~1.2.0",
27 | "gulp-replace": "~0.3.0",
28 | "gulp-rev": "~0.4.0",
29 | "gulp-shell": "~0.2.7",
30 | "gulp-strip-debug": "~0.3.0",
31 | "gulp-tap": "~0.1.1",
32 | "gulp-uglify": "~0.3.0",
33 | "gulp-util": "~2.2.16",
34 | "jsdoc": "~3.3.0-alpha8",
35 | "karma-chrome-launcher": "~0.1.4",
36 | "karma-jasmine": "~0.1.5",
37 | "karma-ng-html2js-preprocessor": "~0.1.0",
38 | "karma-phantomjs-launcher": "~0.1.4",
39 | "run-sequence": "~0.3.6",
40 | "selenium-webdriver": "^2.45.1",
41 | "through2": "~0.5.1",
42 | "zeparser": "0.0.7"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/www/lib/ngmap/spec/directives/street_view_panorama_spec.js:
--------------------------------------------------------------------------------
1 | /* global google, waitsFor */
2 |
3 | describe('street-view-panorama', function() {
4 | var elm, scope;
5 |
6 | /* mock Attr2Options, knowns as parser */
7 | var MockAttr2Options = function() {
8 | var hashFilter = function(hash) {
9 | var newHash = {};
10 | for (var key in hash) {
11 | if (hash[key].match(regexp)) {
12 | newHash[key] = hash[key];
13 | }
14 | };
15 | return newHash;
16 | };
17 | return {
18 | filter: function(attrs) {return attrs;},
19 | getOptions: function(attrs) {return attrs;},
20 | getControlOptions: function(attrs) {return hashFilter(attrs, /ControlOptions$/);},
21 | getEvents: function(attrs) {return hashFilter(attrs, /^on[A-E]/);}
22 | };
23 | };
24 |
25 | // load the marker code
26 | beforeEach(function() {
27 | module(function($provide) {
28 | $provide.value('Attr2Options', MockAttr2Options);
29 | });
30 | module('ngMap');
31 | inject(function($rootScope, $compile) {
32 | elm = angular.element(
33 | '' +
34 | ' ' +
35 | ' ' +
36 | ' ');
37 | scope = $rootScope;
38 | $compile(elm)(scope);
39 | scope.$digest();
40 | waitsFor(function() {
41 | return scope.map.getStreetView().getPosition();
42 | });
43 | });
44 | });
45 |
46 | it('should set map streetview with options ', function() {
47 | var svp = scope.map.getStreetView();
48 | expect(svp instanceof google.maps.StreetViewPanorama).toBe(true);
49 | expect(svp.getPosition().lat()).toEqual(40.688738);
50 | });
51 |
52 | });
53 |
--------------------------------------------------------------------------------
/www/lib/ngmap/spec/services/street_view_spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/ngmap/spec/services/street_view_spec.js
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/aerial-rotate.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
32 |
33 |
34 |
35 |
36 |
37 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/aerial-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/control-custom.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
27 |
28 |
29 |
30 |
31 | Custom Control
32 | This custom control simply returns the user to Chicago when clicked
33 |
34 |
35 |
36 | Home1
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/control-disableUI.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Disabling the default UI
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/control-options.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Control options
22 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/control-positioning.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Control options
22 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/control-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Adding controls to the map
22 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/event-arguments.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
30 |
31 |
32 |
33 |
34 | Assigning arguments in UI events
35 |
36 | Click map to place markers
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/event-domlistener.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
25 |
26 |
27 |
28 | We add a DOM event here to show an alert if the DIV containing the map is clicked.
29 |
30 |
31 | Click the map to see the alert.
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/groundoverlay-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/hello_map.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/icon-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/images/beachflag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/ngmap/testapp/images/beachflag.png
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/images/spinner.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionicthemes/building-a-complete-mobile-app-with-ionic-framework/9a227b5f3f47ba3d1941224b55ce9293655f9ed5/www/lib/ngmap/testapp/images/spinner.gif
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/infowindow_geolookup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Hi, I am here.
25 | Hi, I am here.
26 | Hi, I am here.
27 | Hi, I am here.
28 | Hi, I am here.
29 | Hi, I am here.
30 | Hi, I am here.
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-bicycling.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-data-quakes-default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-data-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-data-style.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-fusiontables-heatmap.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-fusiontables-query.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-fusiontables-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-georss.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-kml-features.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
27 |
28 |
29 |
30 |
31 |
33 |
34 | {{description}}
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-kml.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-mapsengine.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-traffic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-transit.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/layer-weather.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map-geolocation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Showing current location with infoWindow
23 | Note: This example requires that you consent to location sharing when
24 | prompted by your browser. If you see a blank space instead of the map, this
25 | is probably because you have denied permission for location sharing.
26 |
27 |
28 |
29 | Loation found using HTML5.
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_fit_bounds.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_geo_fallback_center.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_lazy_init.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
26 |
Init Map
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_options.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | As defined at, https://developers.google.com/maps/documentation/javascript/reference#MapOptions, you can add any attributes except control-related to map attributes.
22 |
23 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_with_current_position.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
26 |
27 |
28 |
29 | NOTE: open console, then see the message from callback
30 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_with_dynamic_address.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 | Address :
28 |
29 |
30 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/map_with_dynamic_center.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 | Latigude :
29 | Longitude :
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/mapsenginelayer-noauth-layerid.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Circle Simple
23 | This example creates circles on the map, representing
24 | populations in North America.
25 |
26 |
30 |
31 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/mapsenginelayer-noauth-layerkey.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/maptype-styled-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker-symbol-custom.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Marker Symbol Custom
22 | This example uses SVG path notation to add a vector-based symbol
23 | as the icon for a marker. The resulting icon is a star-shaped symbol
24 | with a pale yellow fill and a thick yellow border.
25 |
26 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker-symbol-predefined.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Marker Symbol Predefined
22 | This example uses a symbol to add a vector-based icon to a marker.
23 | The symbol uses one of the predefined vector paths ('CIRCLE') supplied by the
24 | Google Maps JavaScript API.
25 |
26 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_icon.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_on_street_view.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_with_address.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_with_current_position.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_with_dynamic_address.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | Address :
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_with_dynamic_position.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | Latigude :
31 | Longitude :
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/marker_with_info_window.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/multiple_maps_on_a_page.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/overlay-symbol-arrow.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
29 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/overlay-symbol-dashed.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/polygon-autoclose.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/polygon-draggable.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
31 |
32 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/polygon-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/polyline-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/rectangle-simple.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/rectangle-zoom.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
26 |
27 |
28 |
29 |
30 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/scripts/app.js:
--------------------------------------------------------------------------------
1 | var app = angular.module("myApp", ["ngMap", "plunkr"]);
2 | app.run(function($window, $rootScope) {
3 | /* collect the javascript errors */
4 | $rootScope.jsErrors = [];
5 | $window.onerror = function (message, url, lineNo) {
6 | $rootScope.jsErrors.push({
7 | error:message,
8 | url: url,
9 | lineNumber: lineNo
10 | });
11 | return true;
12 | }
13 | });
14 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/scripts/get-starbucks.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This is to generate startbucks.json, locations of all starbucks world wide
3 | */
4 | var request = require("request");
5 |
6 | var base = "http://opendata.socrata.com/resource/92ua-293q.json";
7 | var stores = [];
8 |
9 | for (var i=0; i<21000; i+=1000) {
10 | var url = base + "?$offset=" + i;
11 | request({ url: url, json: true }, function (error, response, body) {
12 | if (!error && response.statusCode === 200) {
13 | stores = stores.concat(body);
14 | }
15 | if (stores.length > 20000) {
16 | console.log(JSON.stringify(stores));
17 | }
18 | })
19 | }
20 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/shape_circle_with_current_position.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/shape_circle_with_dynamic_address.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
32 |
36 |
37 |
38 | Address :
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/street-view-panorama.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/street-view-panorama_container.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
22 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/www/lib/ngmap/testapp/user-editable-shapes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
23 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/www/lib/underscore/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "underscore",
3 | "version": "1.8.3",
4 | "main": "underscore.js",
5 | "keywords": [
6 | "util",
7 | "functional",
8 | "server",
9 | "client",
10 | "browser"
11 | ],
12 | "ignore": [
13 | "docs",
14 | "test",
15 | "*.yml",
16 | "CNAME",
17 | "index.html",
18 | "favicon.ico",
19 | "CONTRIBUTING.md",
20 | ".*",
21 | "component.json",
22 | "package.json",
23 | "karma.*"
24 | ],
25 | "homepage": "https://github.com/jashkenas/underscore",
26 | "_release": "1.8.3",
27 | "_resolution": {
28 | "type": "version",
29 | "tag": "1.8.3",
30 | "commit": "e4743ab712b8ab42ad4ccb48b155034d02394e4d"
31 | },
32 | "_source": "git://github.com/jashkenas/underscore.git",
33 | "_target": "~1.8.3",
34 | "_originalSource": "underscore",
35 | "_direct": true
36 | }
--------------------------------------------------------------------------------
/www/lib/underscore/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative
2 | Reporters & Editors
3 |
4 | Permission is hereby granted, free of charge, to any person
5 | obtaining a copy of this software and associated documentation
6 | files (the "Software"), to deal in the Software without
7 | restriction, including without limitation the rights to use,
8 | copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the
10 | Software is furnished to do so, subject to the following
11 | conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 | OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/www/lib/underscore/README.md:
--------------------------------------------------------------------------------
1 | __
2 | /\ \ __
3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____
4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\
5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\
6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/
7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/
8 | \ \____/
9 | \/___/
10 |
11 | Underscore.js is a utility-belt library for JavaScript that provides
12 | support for the usual functional suspects (each, map, reduce, filter...)
13 | without extending any core JavaScript objects.
14 |
15 | For Docs, License, Tests, and pre-packed downloads, see:
16 | http://underscorejs.org
17 |
18 | Underscore is an open-sourced component of DocumentCloud:
19 | https://github.com/documentcloud
20 |
21 | Many thanks to our contributors:
22 | https://github.com/jashkenas/underscore/contributors
23 |
--------------------------------------------------------------------------------
/www/lib/underscore/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "underscore",
3 | "version": "1.8.3",
4 | "main": "underscore.js",
5 | "keywords": ["util", "functional", "server", "client", "browser"],
6 | "ignore" : ["docs", "test", "*.yml", "CNAME", "index.html", "favicon.ico", "CONTRIBUTING.md", ".*", "component.json", "package.json", "karma.*"]
7 | }
8 |
--------------------------------------------------------------------------------
/www/templates/agenda.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Agenda
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/www/templates/event.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{event.type}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | By
21 | {{speaker.name}}{{$last ? '' : ' & '}}
22 |
23 |
24 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/www/templates/menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/www/templates/partials/agenda-event.html:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/www/templates/speakers.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Speakers
4 |
5 |
6 |
7 |
8 |
{{speaker.name}}
9 |
10 |
11 |
12 |
13 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/www/templates/venue.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Venue
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Antel Auditorium
13 |
Guatemala 1075 Montevideo, Uruguay
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------