├── src ├── assets │ ├── .gitkeep │ ├── nr1.png │ ├── nr2.png │ ├── help1.png │ ├── help2.png │ ├── help3.png │ ├── nr1-24x24.png │ ├── nr2-24x24.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── transport │ │ ├── bus.png │ │ ├── train.png │ │ ├── tram.png │ │ ├── airport.png │ │ ├── platform.png │ │ ├── station.png │ │ ├── bus_small.png │ │ ├── trolleybus.png │ │ ├── railway │ │ │ ├── tram.png │ │ │ ├── crossing.png │ │ │ ├── crossing.svg │ │ │ ├── subway.svg │ │ │ └── tram.svg │ │ ├── railway_station.png │ │ ├── bus.svg │ │ ├── train.svg │ │ ├── platform.svg │ │ ├── trolleybus.svg │ │ └── station.svg │ ├── favicon-194x194.png │ ├── traffic │ │ ├── crossing.png │ │ ├── traffic_signals.png │ │ ├── traffic_signals.svg │ │ └── crossing.svg │ └── android-chrome-192x192.png ├── components │ ├── expert │ │ ├── expert.component.less │ │ ├── expert.component.ts │ │ └── expert.component.html │ ├── lang │ │ ├── lang.component.less │ │ ├── lang.component.ts │ │ └── lang.component.html │ ├── beginner │ │ ├── beginner.component.less │ │ ├── beginner.component.html │ │ └── beginner.component.ts │ ├── settings │ │ ├── settings.component.less │ │ ├── settings.component.html │ │ └── settings.component.ts │ ├── sidebar │ │ ├── route-browser.component.less │ │ ├── stop-browser.component.less │ │ ├── tag-browser.component.less │ │ ├── relation-browser.component.less │ │ ├── validation-browser.component.less │ │ ├── relation-browser.component.html │ │ ├── stop-browser.component.ts │ │ ├── stop-browser.component.html │ │ ├── relation-browser.component.ts │ │ └── route-browser.component.html │ ├── tutorials │ │ ├── tutorials.component.less │ │ ├── tutorials.component.html │ │ └── tutorials.component.ts │ ├── modal │ │ └── modal.component.less │ ├── auth │ │ ├── auth.component.less │ │ ├── auth.component.html │ │ └── auth.component.ts │ ├── transporter │ │ ├── transporter.component.less │ │ ├── transporter.component.ts │ │ └── transporter.component.html │ ├── navigator │ │ ├── navigator.component.less │ │ ├── navigator.component.html │ │ └── navigator.component.ts │ ├── editor │ │ ├── editor.component.less │ │ └── editor.component.html │ ├── app │ │ ├── app.component.less │ │ ├── app.component.html │ │ └── app.component.ts │ ├── route-master-wizard │ │ └── route-master-wizard.component.less │ ├── route-wizard │ │ └── route-wizard.component.less │ └── toolbar │ │ ├── toolbar.component.less │ │ └── toolbar.component.html ├── .stylelintrc ├── styles.css ├── core │ ├── latLng.interface.ts │ ├── ptMember.ts │ ├── ptWay.interface.ts │ ├── areaRef.interface.ts │ ├── location.class.ts │ ├── osmAuthOptions.interface.ts │ ├── osmElement.interface.ts │ ├── ptRelationStopArea.interface.ts │ ├── metadata.interface.ts │ ├── overpassResponse.interface.ts │ ├── ptRelationTags.interface.ts │ ├── ptRelationNew.interface.ts │ ├── errorObject.interface.ts │ ├── ptRouteMasterNew.interface.ts │ ├── editingOptions.interface.ts │ ├── ptStop.interface.ts │ ├── ptRelation.interface.ts │ ├── responses.interface.ts │ ├── other.ts │ ├── utils.class.ts │ └── ptTags.class.ts ├── environments │ ├── environment.hmr.ts │ ├── environment.prod.ts │ └── environment.ts ├── typings │ ├── leaflet.vectorgrid.d.ts │ └── require.d.ts ├── typings.d.ts ├── store │ ├── epics.ts │ ├── reducers.ts │ ├── model.ts │ ├── module.ts │ └── app │ │ ├── reducer.ts │ │ └── actions.ts ├── tsconfig.app.json ├── land.html ├── pipes │ ├── keys.pipe.ts │ └── tags-prop.pipe.ts ├── raven-error-handler.ts ├── .browserslistrc ├── services │ ├── auth.service.ts │ ├── warn.service.ts │ ├── conf.service.ts │ ├── geocode.service.ts │ └── tutorials.json ├── hmr.ts ├── land_single.html ├── test.ts ├── main.ts ├── database │ └── dexiedb.ts ├── karma.conf.js ├── manifest.json ├── styles │ └── main.less ├── index.html ├── polyfills.ts └── app.module.ts ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── ISSUE_TEMPLATE.md ├── dependabot.yml ├── CONTRIBUTING.md └── CODE_OF_CONDUCT.md ├── nginx-custom.conf ├── e2e └── src │ └── app.po.ts ├── tsconfig.app.json ├── .editorconfig ├── .vscode ├── settings.json ├── launch.json ├── extensions.json └── tasks.json ├── Dockerfile ├── tsconfig.json ├── test └── main.spec.ts ├── .eslintrc ├── LICENSE ├── .gitignore ├── README.md ├── package.json └── angular.json /src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/expert/expert.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/lang/lang.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/beginner/beginner.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/settings/settings.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/sidebar/route-browser.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/sidebar/stop-browser.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/sidebar/tag-browser.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/tutorials/tutorials.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/sidebar/relation-browser.component.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/.stylelintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "stylelint-config-standard" 3 | } 4 | -------------------------------------------------------------------------------- /src/assets/nr1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/nr1.png -------------------------------------------------------------------------------- /src/assets/nr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/nr2.png -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /src/assets/help1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/help1.png -------------------------------------------------------------------------------- /src/assets/help2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/help2.png -------------------------------------------------------------------------------- /src/assets/help3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/help3.png -------------------------------------------------------------------------------- /src/assets/nr1-24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/nr1-24x24.png -------------------------------------------------------------------------------- /src/assets/nr2-24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/nr2-24x24.png -------------------------------------------------------------------------------- /src/assets/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/favicon-16x16.png -------------------------------------------------------------------------------- /src/assets/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/favicon-32x32.png -------------------------------------------------------------------------------- /src/assets/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/favicon-96x96.png -------------------------------------------------------------------------------- /src/assets/transport/bus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/bus.png -------------------------------------------------------------------------------- /src/core/latLng.interface.ts: -------------------------------------------------------------------------------- 1 | export interface ILatLng { 2 | latitude: number; 3 | longitude: number; 4 | } 5 | -------------------------------------------------------------------------------- /src/core/ptMember.ts: -------------------------------------------------------------------------------- 1 | export interface IPtMember { 2 | type: string; 3 | ref: number; 4 | role: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/environments/environment.hmr.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | hmr: true, 4 | }; 5 | -------------------------------------------------------------------------------- /src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | hmr: false, 4 | }; 5 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Related to/Fixes issue #XXX 2 | 3 | ## Proposed Changes 4 | 5 | - 6 | - 7 | - 8 | -------------------------------------------------------------------------------- /src/assets/favicon-194x194.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/favicon-194x194.png -------------------------------------------------------------------------------- /src/assets/transport/train.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/train.png -------------------------------------------------------------------------------- /src/assets/transport/tram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/tram.png -------------------------------------------------------------------------------- /src/assets/traffic/crossing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/traffic/crossing.png -------------------------------------------------------------------------------- /src/assets/transport/airport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/airport.png -------------------------------------------------------------------------------- /src/assets/transport/platform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/platform.png -------------------------------------------------------------------------------- /src/assets/transport/station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/station.png -------------------------------------------------------------------------------- /src/assets/transport/bus_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/bus_small.png -------------------------------------------------------------------------------- /src/assets/transport/trolleybus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/trolleybus.png -------------------------------------------------------------------------------- /src/assets/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/android-chrome-192x192.png -------------------------------------------------------------------------------- /src/assets/traffic/traffic_signals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/traffic/traffic_signals.png -------------------------------------------------------------------------------- /src/assets/transport/railway/tram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/railway/tram.png -------------------------------------------------------------------------------- /src/assets/transport/railway_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/railway_station.png -------------------------------------------------------------------------------- /src/assets/transport/railway/crossing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dkocich/osm-pt-ngx-leaflet/HEAD/src/assets/transport/railway/crossing.png -------------------------------------------------------------------------------- /src/components/sidebar/validation-browser.component.less: -------------------------------------------------------------------------------- 1 | .scrollable-panel { 2 | height: 300px; 3 | overflow-y: scroll; 4 | width: 100%; 5 | } 6 | -------------------------------------------------------------------------------- /src/typings/leaflet.vectorgrid.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace L { 2 | namespace vectorGrid { 3 | export function slicer(data, options?); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/core/ptWay.interface.ts: -------------------------------------------------------------------------------- 1 | import { IOsmElement } from './osmElement.interface'; 2 | 3 | export interface IPtWay extends IOsmElement { 4 | nodes: number[]; 5 | } 6 | -------------------------------------------------------------------------------- /src/components/modal/modal.component.less: -------------------------------------------------------------------------------- 1 | .scrollable-panel { 2 | height: 200px; 3 | overflow-y: scroll; 4 | width: 100%; 5 | } 6 | 7 | li { 8 | text-align: left; 9 | } 10 | -------------------------------------------------------------------------------- /src/core/areaRef.interface.ts: -------------------------------------------------------------------------------- 1 | import { LatLng } from 'leaflet'; 2 | 3 | export interface IAreaRef { 4 | areaPseudoId: string; 5 | overpassBox: string[]; 6 | viewCenter: LatLng; 7 | } 8 | -------------------------------------------------------------------------------- /nginx-custom.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | location / { 4 | root /usr/share/nginx/html; 5 | index index.html index.htm; 6 | try_files $uri $uri/ /index.html =404; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/auth/auth.component.less: -------------------------------------------------------------------------------- 1 | .user_thumbnail_tiny { 2 | border-radius: 2px; 3 | height: auto; 4 | margin: 4px 0 0 4px; 5 | max-width: 40px; 6 | max-height: 40px; 7 | width: auto; 8 | } 9 | -------------------------------------------------------------------------------- /src/components/transporter/transporter.component.less: -------------------------------------------------------------------------------- 1 | @import '../../styles/main.less'; 2 | 3 | .tag { 4 | margin: 0 10px 0 10px; 5 | cursor: pointer; 6 | } 7 | 8 | .modal-body { 9 | padding-bottom: 50px; 10 | } 11 | -------------------------------------------------------------------------------- /src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare let module: INodeModule; 3 | 4 | interface INodeModule { 5 | id: string; 6 | } 7 | 8 | declare module '*.json' { 9 | const value; 10 | export default value; 11 | } 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Expected Behavior 2 | 3 | 4 | ## Actual Behavior 5 | 6 | 7 | ## Steps to Reproduce the Problem 8 | 9 | 1. 10 | 2. 11 | 3. 12 | 13 | ## Specifications 14 | 15 | - Browser version: 16 | - OS: 17 | -------------------------------------------------------------------------------- /src/store/epics.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | 3 | @Injectable() 4 | export class RootEpics { 5 | constructor() { 6 | // 7 | } 8 | 9 | createEpics() { 10 | return [ 11 | // 'app', 12 | ]; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "module": "es2015", 6 | "types": [] 7 | }, 8 | "exclude": [ 9 | "test.ts", 10 | "**/*.spec.ts" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /e2e/src/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/land.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |
21 |
22 | An online web editor used to edit [public transport routes on OpenStreetMap](https://wiki.openstreetmap.org/wiki/Public_transport) with desktop and mobile devices.
23 |
24 | If you want to submit issue or PR, please study the [Contributing.md](https://github.com/dkocich/osm-pt-ngx-leaflet/blob/master/.github/CONTRIBUTING.md).
25 |
26 | Visit the [wiki page](https://github.com/dkocich/osm-pt-ngx-leaflet/wiki) for more information.
27 |
28 | ## How to start?
29 |
30 | ## Developing 👷
31 |
32 | #### Setup project locally
33 |
34 | This project requires [npm](https://npmpkg.com/) to run locally and it is built mainly with
35 | [Angular](https://angular.io/) and [Leaflet](http://leafletjs.com/).
36 |
37 | 1. Run `npm install` to install all dependencies.
38 | 2. Run `npm start` to enable local development server.
39 | 3. Open the browser at `http://localhost:4200/` to see the application.
40 |
41 | ## Communication
42 |
43 | Contact me via OSM messages [here](https://www.openstreetmap.org/user/dkocich).
44 |
45 | ## Acknowledgment
46 |
47 | The development was supported by Google during the [Google Summer of Code 2017 and 2018](https://summerofcode.withgoogle.com/) for [OpenStreetMap](https://www.openstreetmap.org/) organization. Please visit [wiki-Acknowledgment](https://github.com/dkocich/osm-pt-ngx-leaflet/wiki/Acknowledgment) for details.
48 |
49 | ## Support
50 | Please visit [wiki-Support](https://github.com/dkocich/osm-pt-ngx-leaflet/wiki/Support) for details.
51 |
--------------------------------------------------------------------------------
/.github/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28 |
29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | ## Scope
32 |
33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34 |
35 | ## Enforcement
36 |
37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at dkocich [at] gmail [dot] com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38 |
39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40 |
41 | ## Attribution
42 |
43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44 |
45 | [homepage]: http://contributor-covenant.org
46 | [version]: http://contributor-covenant.org/version/1/4/
47 |
--------------------------------------------------------------------------------
/src/polyfills.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * This file includes polyfills needed by Angular and is loaded before the app.
3 | * You can add your own extra polyfills to this file.
4 | *
5 | * This file is divided into 2 sections:
6 | * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
7 | * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
8 | * file.
9 | *
10 | * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
11 | * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
12 | * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
13 | *
14 | * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
15 | */
16 |
17 | /***************************************************************************************************
18 | * BROWSER POLYFILLS
19 | */
20 |
21 | /**
22 | * IE9, IE10 and IE11 requires all of the following polyfills.
23 | */
24 | // import 'core-js/es6/symbol';
25 | // import 'core-js/es6/object';
26 | // import 'core-js/es6/function';
27 | // import 'core-js/es6/parse-int';
28 | // import 'core-js/es6/parse-float';
29 | // import 'core-js/es6/number';
30 | // import 'core-js/es6/math';
31 | // import 'core-js/es6/string';
32 | // import 'core-js/es6/date';
33 | // import 'core-js/es6/array';
34 | // import 'core-js/es6/regexp';
35 | // import 'core-js/es6/map';
36 | // import 'core-js/es6/weak-map';
37 | // import 'core-js/es6/set';
38 |
39 | /** IE10 and IE11 requires the following for NgClass support on SVG elements */
40 | // import 'classlist.js'; // Run `npm install --save classlist.js`.
41 |
42 | /** IE10 and IE11 requires the following for the Reflect API. */
43 | // import 'core-js/es6/reflect';
44 |
45 | /**
46 | * Evergreen browsers require these.
47 | */
48 | // Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
49 | import 'core-js/es7/reflect';
50 | /***************************************************************************************************
51 | * Zone JS is required by default for Angular itself.
52 | */
53 | import 'zone.js/dist/zone'; // Included with Angular CLI.
54 |
55 | /**
56 | * Web Animations `@angular/platform-browser/animations`
57 | * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
58 | * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
59 | */
60 | // import 'web-animations-js'; // Run `npm install --save web-animations-js`.
61 |
62 | /**
63 | * By default, zone.js will patch all possible macroTask and DomEvents
64 | * user can disable parts of macroTask/DomEvents patch by setting following flags
65 | */
66 |
67 | // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
68 | // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
69 | // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
70 |
71 | /**
72 | * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
73 | * with the following flag, it will bypass `zone.js` patch for IE/Edge
74 | */
75 | // (window as any).__Zone_enable_cross_context_check = true;
76 |
77 | /***************************************************************************************************
78 | * APPLICATION IMPORTS
79 | */
80 |
81 | // FIXME - temporal fix for ngcli@6 https://github.com/aws/aws-amplify/pull/866 (1 of 2 parts - search the other one)
82 | (window as any).global = window;
83 |
--------------------------------------------------------------------------------
/src/components/app/app.component.html:
--------------------------------------------------------------------------------
1 | {{currentElement.tags.name || currentElement.tags.public_transport || ""}} (id: {{currentElement.id || ""}}, type: {{currentElement.type || ""}})
57 | 63 | 64 || # | 29 |{{ 'Role' | translate }} | 30 |{{ 'atrId' | translate }} | 31 |{{ 'atrRef' | translate }} | 32 |
| {{i + 1}}. | 38 |{{stop.role}} | 39 |
40 |
41 |
42 | {{stop.tags.name || stop.id}}
43 | |
44 | {{stop.tags.route_ref}} | 45 |
| {{i + 1}}. | 50 |51 | |
52 |
53 |
54 | {{stop.tags.name || stop.id}}
55 | |
56 | {{stop.tags.route_ref}} | 57 |
| {{ 'Name/Id' | translate }} | 67 |PT | 68 |{{ 'Route ref.' | translate }} | 69 |
| 74 | 77 | 80 | {{stop.tags.name || stop.id}} 81 | | 82 |{{stop.tags.public_transport}} | 83 |{{stop.tags.route_ref}} | 84 |