├── .babelrc ├── .dockerignore ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github └── workflows │ ├── build-publish.yml │ ├── heal.yml │ ├── production.yml │ ├── staging.yml │ └── test.yml ├── .gitignore ├── .postcssrc.js ├── .pre-commit-config.yaml ├── .versionrc ├── CHANGELOG.md ├── Dockerfile ├── LICENSE ├── README.md ├── build ├── build.js ├── logo.png ├── utils.js ├── vue-loader.conf.js ├── webpack.base.conf.js ├── webpack.cypress.conf.js ├── webpack.dev.conf.js └── webpack.prod.conf.js ├── config ├── dev.env.js ├── index.js └── prod.env.js ├── cypress.config.js ├── cypress ├── e2e │ ├── 1-getting-started │ │ └── todo.cy.js │ ├── 2-advanced-examples │ │ ├── actions.cy.js │ │ ├── aliasing.cy.js │ │ ├── assertions.cy.js │ │ ├── connectors.cy.js │ │ ├── cookies.cy.js │ │ ├── cypress_api.cy.js │ │ ├── files.cy.js │ │ ├── local_storage.cy.js │ │ ├── location.cy.js │ │ ├── misc.cy.js │ │ ├── navigation.cy.js │ │ ├── network_requests.cy.js │ │ ├── querying.cy.js │ │ ├── spies_stubs_clocks.cy.js │ │ ├── traversal.cy.js │ │ ├── utilities.cy.js │ │ ├── viewport.cy.js │ │ ├── waiting.cy.js │ │ └── window.cy.js │ ├── about-page.cy.js │ ├── directions.cy.js │ ├── download.cy.js │ ├── embedded-mode.cy.js │ ├── home_page.cy.js │ ├── not-found.cy.js │ ├── place.cy.js │ ├── reach.cy.js │ ├── search-place.cy.js │ └── settings-page.cy.js ├── fixtures │ ├── build-map-data.js │ ├── geocode_mock.json │ ├── geocode_reverse_mock.json │ ├── map-pin.jpg │ ├── map-view-data.js │ ├── map-view-props.js │ ├── mockPlaces.json │ ├── ors-route.geojson │ ├── ors-route.gpx │ ├── ors-route.json │ ├── ors-route.kml │ ├── ors-route.txt │ ├── ors-route.xml.txt │ └── places.js └── support │ ├── commands.js │ ├── component-index.html │ ├── component.js │ └── e2e.js ├── dev.html ├── docker-compose.yml ├── docs ├── dynamic-inputs.md ├── en-translation-source-merged.json ├── ors-map-client.png ├── plugins.md ├── project-structure.md └── search-results-criteria.md ├── package.json ├── pnpm-lock.yaml ├── src ├── .gitrepo ├── App.cy.js ├── App.vue ├── a11y.scss ├── app-loader.js ├── app.js ├── app.scss ├── assets │ ├── css │ │ ├── animate.min.css │ │ ├── font-open-sans.css │ │ ├── font-raleway.css │ │ ├── font-roboto.css │ │ └── material-icons.css │ ├── fonts │ │ ├── iconfont │ │ │ ├── MaterialIcons-Regular.eot │ │ │ ├── MaterialIcons-Regular.ijmap │ │ │ ├── MaterialIcons-Regular.svg │ │ │ ├── MaterialIcons-Regular.ttf │ │ │ ├── MaterialIcons-Regular.woff │ │ │ ├── MaterialIcons-Regular.woff2 │ │ │ ├── README.md │ │ │ ├── codepoints │ │ │ └── material-icons.css │ │ ├── open-sans-v15-latin_latin-ext-regular.eot │ │ ├── open-sans-v15-latin_latin-ext-regular.svg │ │ ├── open-sans-v15-latin_latin-ext-regular.ttf │ │ ├── open-sans-v15-latin_latin-ext-regular.woff │ │ ├── open-sans-v15-latin_latin-ext-regular.woff2 │ │ ├── raleway-v12-latin_latin-ext-regular.eot │ │ ├── raleway-v12-latin_latin-ext-regular.svg │ │ ├── raleway-v12-latin_latin-ext-regular.ttf │ │ ├── raleway-v12-latin_latin-ext-regular.woff │ │ ├── raleway-v12-latin_latin-ext-regular.woff2 │ │ ├── roboto-v18-latin_latin-ext-regular.eot │ │ ├── roboto-v18-latin_latin-ext-regular.svg │ │ ├── roboto-v18-latin_latin-ext-regular.ttf │ │ ├── roboto-v18-latin_latin-ext-regular.woff │ │ └── roboto-v18-latin_latin-ext-regular.woff2 │ └── img │ │ ├── country-icon.png │ │ ├── favicon.ico │ │ ├── heigit-and-hd-uni.png │ │ ├── logo.png │ │ ├── map-pin-600x400.jpg │ │ └── ors.png ├── common │ ├── event-bus.js │ ├── global-mixins.js │ ├── main-menu.js │ ├── menu-mixin.js │ ├── prepared-vue.js │ └── show-toaster-mixin.js ├── config-examples │ ├── app-config-example.js │ ├── default-map-settings-example.js │ ├── hooks-example.js │ ├── layer-zoom-mapping-example.js │ ├── ors-map-filters-example.js │ ├── settings-options-example.js │ └── theme-example.js ├── config │ └── .gitkeep ├── directives │ ├── bg.js │ ├── click-outside.js │ ├── focus.js │ ├── smart-tooltip.js │ ├── title.js │ └── top-border.js ├── filters │ ├── capitalize.js │ └── uppercase.js ├── fragments │ ├── about │ │ ├── About.cy.js │ │ ├── About.vue │ │ ├── about.css │ │ ├── about.js │ │ └── i18n │ │ │ ├── about.i18n.cs-cz.js │ │ │ ├── about.i18n.de-de.js │ │ │ ├── about.i18n.en-us.js │ │ │ ├── about.i18n.es-es.js │ │ │ ├── about.i18n.fr-fr.js │ │ │ ├── about.i18n.hu-hu.js │ │ │ ├── about.i18n.it-it.js │ │ │ ├── about.i18n.pt-br.js │ │ │ └── about.i18n.ro-ro.js │ ├── box │ │ ├── Box.cy.js │ │ ├── Box.vue │ │ ├── box.css │ │ ├── box.js │ │ ├── box.store.js │ │ └── i18n │ │ │ ├── box.i18n.cs-cz.js │ │ │ ├── box.i18n.de-de.js │ │ │ ├── box.i18n.en-us.js │ │ │ ├── box.i18n.es-es.js │ │ │ ├── box.i18n.fr-fr.js │ │ │ ├── box.i18n.hu-hu.js │ │ │ ├── box.i18n.it-it.js │ │ │ ├── box.i18n.pt-br.js │ │ │ └── box.i18n.ro-ro.js │ ├── charts │ │ └── altitude │ │ │ ├── Altitude.vue │ │ │ ├── altitude-parser.js │ │ │ └── altitude.js │ ├── dialogs │ │ ├── confirm │ │ │ ├── Confirm.vue │ │ │ └── confirm.js │ │ └── info │ │ │ ├── Info.vue │ │ │ └── info.js │ ├── footer │ │ ├── Footer.vue │ │ ├── footer.css │ │ └── footer.js │ ├── forms │ │ ├── fields-container │ │ │ ├── FieldsContainer.vue │ │ │ ├── components │ │ │ │ ├── form-fields │ │ │ │ │ ├── FormFields.cy.js │ │ │ │ │ ├── FormFields.vue │ │ │ │ │ ├── form-fields-autocomplete.css │ │ │ │ │ ├── form-fields.css │ │ │ │ │ ├── form-fields.js │ │ │ │ │ └── i18n │ │ │ │ │ │ ├── form-fields.i18n.cs-cz.js │ │ │ │ │ │ ├── form-fields.i18n.de-de.js │ │ │ │ │ │ ├── form-fields.i18n.en-us.js │ │ │ │ │ │ ├── form-fields.i18n.es-es.js │ │ │ │ │ │ ├── form-fields.i18n.fr-fr.js │ │ │ │ │ │ ├── form-fields.i18n.hu-hu.js │ │ │ │ │ │ ├── form-fields.i18n.it-it.js │ │ │ │ │ │ ├── form-fields.i18n.pt-br.js │ │ │ │ │ │ └── form-fields.i18n.ro-ro.js │ │ │ │ └── slider-combo │ │ │ │ │ ├── SliderCombo.vue │ │ │ │ │ ├── custom-slider.js │ │ │ │ │ ├── slider-combo.css │ │ │ │ │ └── slider-combo.js │ │ │ ├── fields-container.css │ │ │ ├── fields-container.js │ │ │ └── fields-container.store.js │ │ ├── map-form-btn │ │ │ ├── MapFormBtn.vue │ │ │ ├── map-form-btn.css │ │ │ └── map-form-btn.js │ │ ├── map-form │ │ │ ├── MapForm.vue │ │ │ ├── components │ │ │ │ ├── download │ │ │ │ │ ├── Download.cy.js │ │ │ │ │ ├── Download.vue │ │ │ │ │ ├── download.js │ │ │ │ │ └── i18n │ │ │ │ │ │ ├── download.i18n.cs-cz.js │ │ │ │ │ │ ├── download.i18n.de-de.js │ │ │ │ │ │ ├── download.i18n.en-us.js │ │ │ │ │ │ ├── download.i18n.es-es.js │ │ │ │ │ │ ├── download.i18n.fr-fr.js │ │ │ │ │ │ ├── download.i18n.hu-hu.js │ │ │ │ │ │ ├── download.i18n.it-it.js │ │ │ │ │ │ ├── download.i18n.pt-br.js │ │ │ │ │ │ └── download.i18n.ro-ro.js │ │ │ │ ├── form-actions │ │ │ │ │ ├── FormActions.vue │ │ │ │ │ ├── form-actions.css │ │ │ │ │ ├── form-actions.js │ │ │ │ │ └── i18n │ │ │ │ │ │ ├── form-actions.i18n.cs-cz.js │ │ │ │ │ │ ├── form-actions.i18n.de-de.js │ │ │ │ │ │ ├── form-actions.i18n.en-us.js │ │ │ │ │ │ ├── form-actions.i18n.es-es.js │ │ │ │ │ │ ├── form-actions.i18n.fr-fr.js │ │ │ │ │ │ ├── form-actions.i18n.hu-hu.js │ │ │ │ │ │ ├── form-actions.i18n.it-it.js │ │ │ │ │ │ ├── form-actions.i18n.pt-br.js │ │ │ │ │ │ └── form-actions.i18n.ro-ro.js │ │ │ │ ├── isochrones │ │ │ │ │ ├── Isochrones.vue │ │ │ │ │ ├── components │ │ │ │ │ │ └── isochrones-details │ │ │ │ │ │ │ ├── IsochronesDetails.vue │ │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ ├── isochrones-details.i18n.cs-cz.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.de-de.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.en-us.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.es-es.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.fr-fr.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.hu-hu.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.it-it.js │ │ │ │ │ │ │ ├── isochrones-details.i18n.pt-br.js │ │ │ │ │ │ │ └── isochrones-details.i18n.ro-ro.js │ │ │ │ │ │ │ ├── isochrones-details.css │ │ │ │ │ │ │ └── isochrones-details.js │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── isochrones.i18n.cs-cz.js │ │ │ │ │ │ ├── isochrones.i18n.de-de.js │ │ │ │ │ │ ├── isochrones.i18n.en-us.js │ │ │ │ │ │ ├── isochrones.i18n.es-es.js │ │ │ │ │ │ ├── isochrones.i18n.fr-fr.js │ │ │ │ │ │ ├── isochrones.i18n.hu-hu.js │ │ │ │ │ │ ├── isochrones.i18n.it-it.js │ │ │ │ │ │ ├── isochrones.i18n.pt-br.js │ │ │ │ │ │ └── isochrones.i18n.ro-ro.js │ │ │ │ │ ├── isochrones.css │ │ │ │ │ └── isochrones.js │ │ │ │ ├── map-form-mixin.js │ │ │ │ ├── place-and-directions │ │ │ │ │ ├── PlacesAndDirections.vue │ │ │ │ │ ├── components │ │ │ │ │ │ ├── altitude-preview │ │ │ │ │ │ │ ├── AltitudePreview.vue │ │ │ │ │ │ │ ├── altitude-preview.js │ │ │ │ │ │ │ └── i18n │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.cs-cz.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.de-de.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.en-us.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.es-es.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.fr-fr.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.hu-hu.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.it-it.js │ │ │ │ │ │ │ │ ├── altitude-preview.i18n.pt-br.js │ │ │ │ │ │ │ │ └── altitude-preview.i18n.ro-ro.js │ │ │ │ │ │ ├── place-details │ │ │ │ │ │ │ ├── PlaceDetails.vue │ │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ │ ├── place-details.i18n.cs-cz.js │ │ │ │ │ │ │ │ ├── place-details.i18n.de-de.js │ │ │ │ │ │ │ │ ├── place-details.i18n.en-us.js │ │ │ │ │ │ │ │ ├── place-details.i18n.es-es.js │ │ │ │ │ │ │ │ ├── place-details.i18n.fr-fr.js │ │ │ │ │ │ │ │ ├── place-details.i18n.hu-hu.js │ │ │ │ │ │ │ │ ├── place-details.i18n.it-it.js │ │ │ │ │ │ │ │ ├── place-details.i18n.pt-br.js │ │ │ │ │ │ │ │ └── place-details.i18n.ro-ro.js │ │ │ │ │ │ │ ├── place-details.css │ │ │ │ │ │ │ └── place-details.js │ │ │ │ │ │ ├── round-trip │ │ │ │ │ │ │ ├── RoundTrip.vue │ │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ │ ├── round-trip.i18n.cs-cz.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.de-de.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.en-us.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.es-es.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.fr-fr.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.hu-hu.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.it-it.js │ │ │ │ │ │ │ │ ├── round-trip.i18n.pt-br.js │ │ │ │ │ │ │ │ └── round-trip.i18n.ro-ro.js │ │ │ │ │ │ │ ├── round-trip.css │ │ │ │ │ │ │ └── round-trip.js │ │ │ │ │ │ └── route-details │ │ │ │ │ │ │ ├── RouteDetails.vue │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── extras │ │ │ │ │ │ │ │ ├── RouteExtras.vue │ │ │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.cs-cz.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.de-de.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.en-us.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.es-es.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.fr-fr.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.hu-hu.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.it-it.js │ │ │ │ │ │ │ │ │ ├── route-extras.i18n.pt-br.js │ │ │ │ │ │ │ │ │ └── route-extras.i18n.ro-ro.js │ │ │ │ │ │ │ │ ├── route-extras.css │ │ │ │ │ │ │ │ ├── route-extras.js │ │ │ │ │ │ │ │ └── route-extras.store.js │ │ │ │ │ │ │ └── steps │ │ │ │ │ │ │ │ ├── Steps.vue │ │ │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ │ ├── steps.i18n.cs-cz.js │ │ │ │ │ │ │ │ ├── steps.i18n.de-de.js │ │ │ │ │ │ │ │ ├── steps.i18n.en-us.js │ │ │ │ │ │ │ │ ├── steps.i18n.es-es.js │ │ │ │ │ │ │ │ ├── steps.i18n.fr-fr.js │ │ │ │ │ │ │ │ ├── steps.i18n.hu-hu.js │ │ │ │ │ │ │ │ ├── steps.i18n.it-it.js │ │ │ │ │ │ │ │ ├── steps.i18n.pt-br.js │ │ │ │ │ │ │ │ └── steps.i18n.ro-ro.js │ │ │ │ │ │ │ │ ├── steps.css │ │ │ │ │ │ │ │ └── steps.js │ │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ ├── route-details.i18n.cs-cz.js │ │ │ │ │ │ │ ├── route-details.i18n.de-de.js │ │ │ │ │ │ │ ├── route-details.i18n.en-us.js │ │ │ │ │ │ │ ├── route-details.i18n.es-es.js │ │ │ │ │ │ │ ├── route-details.i18n.fr-fr.js │ │ │ │ │ │ │ ├── route-details.i18n.hu-hu.js │ │ │ │ │ │ │ ├── route-details.i18n.it-it.js │ │ │ │ │ │ │ ├── route-details.i18n.pt-br.js │ │ │ │ │ │ │ └── route-details.i18n.ro-ro.js │ │ │ │ │ │ │ ├── route-details.css │ │ │ │ │ │ │ └── route-details.js │ │ │ │ │ ├── form-actions.css │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── places-and-directions.i18n.cs-cz.js │ │ │ │ │ │ ├── places-and-directions.i18n.de-de.js │ │ │ │ │ │ ├── places-and-directions.i18n.en-us.js │ │ │ │ │ │ ├── places-and-directions.i18n.es-es.js │ │ │ │ │ │ ├── places-and-directions.i18n.fr-fr.js │ │ │ │ │ │ ├── places-and-directions.i18n.hu-hu.js │ │ │ │ │ │ ├── places-and-directions.i18n.it-it.js │ │ │ │ │ │ ├── places-and-directions.i18n.pt-br.js │ │ │ │ │ │ └── places-and-directions.i18n.ro-ro.js │ │ │ │ │ ├── places-and-directions.css │ │ │ │ │ └── places-and-directions.js │ │ │ │ ├── print │ │ │ │ │ ├── Print.vue │ │ │ │ │ ├── components │ │ │ │ │ │ ├── directions-template │ │ │ │ │ │ │ ├── PrintDirections.vue │ │ │ │ │ │ │ └── print-directions.js │ │ │ │ │ │ ├── isochrones-template │ │ │ │ │ │ │ ├── PrintIsochrones.vue │ │ │ │ │ │ │ └── print-isochrones.js │ │ │ │ │ │ └── place-template │ │ │ │ │ │ │ ├── PrintPlace.vue │ │ │ │ │ │ │ └── print-place.js │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── print.i18n.cs-cz.js │ │ │ │ │ │ ├── print.i18n.de-de.js │ │ │ │ │ │ ├── print.i18n.en-us.js │ │ │ │ │ │ ├── print.i18n.es-es.js │ │ │ │ │ │ ├── print.i18n.fr-fr.js │ │ │ │ │ │ ├── print.i18n.hu-hu.js │ │ │ │ │ │ ├── print.i18n.it-it.js │ │ │ │ │ │ ├── print.i18n.pt-br.js │ │ │ │ │ │ └── print.i18n.ro-ro.js │ │ │ │ │ └── print.js │ │ │ │ └── share │ │ │ │ │ ├── Share.cy.js │ │ │ │ │ ├── Share.vue │ │ │ │ │ ├── i18n │ │ │ │ │ ├── share.i18n.cs-cz.js │ │ │ │ │ ├── share.i18n.de-de.js │ │ │ │ │ ├── share.i18n.en-us.js │ │ │ │ │ ├── share.i18n.es-es.js │ │ │ │ │ ├── share.i18n.fr-fr.js │ │ │ │ │ ├── share.i18n.hu-hu.js │ │ │ │ │ ├── share.i18n.it-it.js │ │ │ │ │ ├── share.i18n.pt-br.js │ │ │ │ │ └── share.i18n.ro-ro.js │ │ │ │ │ └── share.js │ │ │ ├── i18n │ │ │ │ ├── map-form.i18n.cs-cz.js │ │ │ │ ├── map-form.i18n.de-de.js │ │ │ │ ├── map-form.i18n.en-us.js │ │ │ │ ├── map-form.i18n.es-es.js │ │ │ │ ├── map-form.i18n.fr-fr.js │ │ │ │ ├── map-form.i18n.hu-hu.js │ │ │ │ ├── map-form.i18n.it-it.js │ │ │ │ ├── map-form.i18n.pt-br.js │ │ │ │ └── map-form.i18n.ro-ro.js │ │ │ ├── map-form.css │ │ │ └── map-form.js │ │ ├── place-input │ │ │ ├── PlaceInput.cy.js │ │ │ ├── PlaceInput.vue │ │ │ ├── i18n │ │ │ │ ├── place-input.i18n.cs-cz.js │ │ │ │ ├── place-input.i18n.de-de.js │ │ │ │ ├── place-input.i18n.en-us.js │ │ │ │ ├── place-input.i18n.es-es.js │ │ │ │ ├── place-input.i18n.fr-fr.js │ │ │ │ ├── place-input.i18n.hu-hu.js │ │ │ │ ├── place-input.i18n.it-it.js │ │ │ │ ├── place-input.i18n.pt-br.js │ │ │ │ └── place-input.i18n.ro-ro.js │ │ │ ├── place-input.js │ │ │ └── place-input.scss │ │ ├── profile-selector │ │ │ ├── ProfileSelector.vue │ │ │ ├── components │ │ │ │ └── profile-selector-option │ │ │ │ │ ├── ProfileSelectorOption.vue │ │ │ │ │ ├── profile-selector-option.css │ │ │ │ │ └── profile-selector-option.js │ │ │ ├── i18n │ │ │ │ ├── profile-selector.i18n.cs-cz.js │ │ │ │ ├── profile-selector.i18n.de-de.js │ │ │ │ ├── profile-selector.i18n.en-us.js │ │ │ │ ├── profile-selector.i18n.es-es.js │ │ │ │ ├── profile-selector.i18n.fr-fr.js │ │ │ │ ├── profile-selector.i18n.hu-hu.js │ │ │ │ ├── profile-selector.i18n.it-it.js │ │ │ │ ├── profile-selector.i18n.pt-br.js │ │ │ │ └── profile-selector.i18n.ro-ro.js │ │ │ ├── profile-selector.css │ │ │ └── profile-selector.js │ │ ├── route-importer │ │ │ ├── RouteImporter.cy.js │ │ │ ├── RouteImporter.vue │ │ │ ├── i18n │ │ │ │ ├── route-importer.i18n.cs-cz.js │ │ │ │ ├── route-importer.i18n.de-de.js │ │ │ │ ├── route-importer.i18n.en-us.js │ │ │ │ ├── route-importer.i18n.es-es.js │ │ │ │ ├── route-importer.i18n.fr-fr.js │ │ │ │ ├── route-importer.i18n.hu-hu.js │ │ │ │ ├── route-importer.i18n.it-it.js │ │ │ │ ├── route-importer.i18n.pt-br.js │ │ │ │ └── route-importer.i18n.ro-ro.js │ │ │ └── route-importer.js │ │ ├── settings │ │ │ ├── Settings.vue │ │ │ ├── i18n │ │ │ │ ├── settings.i18n.cs-cz.js │ │ │ │ ├── settings.i18n.de-de.js │ │ │ │ ├── settings.i18n.en-us.js │ │ │ │ ├── settings.i18n.es-es.js │ │ │ │ ├── settings.i18n.fr-fr.js │ │ │ │ ├── settings.i18n.hu-hu.js │ │ │ │ ├── settings.i18n.it-it.js │ │ │ │ ├── settings.i18n.pt-br.js │ │ │ │ └── settings.i18n.ro-ro.js │ │ │ ├── settings.css │ │ │ └── settings.js │ │ └── simple-place-search │ │ │ ├── SimplePlaceSearch.vue │ │ │ ├── i18n │ │ │ ├── simple-place-search.i18n.cs-cz.js │ │ │ ├── simple-place-search.i18n.de-de.js │ │ │ ├── simple-place-search.i18n.en-us.js │ │ │ ├── simple-place-search.i18n.es-es.js │ │ │ ├── simple-place-search.i18n.fr-fr.js │ │ │ ├── simple-place-search.i18n.hu-hu.js │ │ │ ├── simple-place-search.i18n.it-it.js │ │ │ ├── simple-place-search.i18n.pt-br.js │ │ │ └── simple-place-search.i18n.ro-ro.js │ │ │ ├── simple-place-search.css │ │ │ └── simple-place-search.js │ ├── h-menu │ │ ├── HMenu.vue │ │ ├── h-menu.css │ │ └── h-menu.js │ ├── header │ │ ├── Header.cy.js │ │ ├── Header.vue │ │ ├── header.css │ │ ├── header.js │ │ └── i18n │ │ │ ├── header.i18n.cs-cz.js │ │ │ ├── header.i18n.de-de.js │ │ │ ├── header.i18n.en-us.js │ │ │ ├── header.i18n.es-es.js │ │ │ ├── header.i18n.fr-fr.js │ │ │ ├── header.i18n.hu-hu.js │ │ │ ├── header.i18n.it-it.js │ │ │ ├── header.i18n.pt-br.js │ │ │ └── header.i18n.ro-ro.js │ ├── html-marker │ │ ├── HtmlMarker.vue │ │ ├── html-marker.css │ │ └── html-marker.js │ ├── map-view │ │ ├── MapView.cy.js │ │ ├── MapView.vue │ │ ├── components │ │ │ ├── extra-info-highlight │ │ │ │ ├── ExtraInfoHighlight.vue │ │ │ │ ├── extra-info-highlight.css │ │ │ │ └── extra-info-highlight.js │ │ │ ├── map-left-click │ │ │ │ ├── MapLeftClick.vue │ │ │ │ ├── i18n │ │ │ │ │ ├── map-left-click.i18n.cs-cz.js │ │ │ │ │ ├── map-left-click.i18n.de-de.js │ │ │ │ │ ├── map-left-click.i18n.en-us.js │ │ │ │ │ ├── map-left-click.i18n.es-es.js │ │ │ │ │ ├── map-left-click.i18n.fr-fr.js │ │ │ │ │ ├── map-left-click.i18n.hu-hu.js │ │ │ │ │ ├── map-left-click.i18n.it-it.js │ │ │ │ │ ├── map-left-click.i18n.pt-br.js │ │ │ │ │ └── map-left-click.i18n.ro-ro.js │ │ │ │ ├── map-left-click.css │ │ │ │ └── map-left-click.js │ │ │ ├── map-right-click │ │ │ │ ├── MapRightClick.vue │ │ │ │ ├── i18n │ │ │ │ │ ├── map-right-click.i18n.cs-cz.js │ │ │ │ │ ├── map-right-click.i18n.de-de.js │ │ │ │ │ ├── map-right-click.i18n.en-us.js │ │ │ │ │ ├── map-right-click.i18n.es-es.js │ │ │ │ │ ├── map-right-click.i18n.fr-fr.js │ │ │ │ │ ├── map-right-click.i18n.hu-hu.js │ │ │ │ │ ├── map-right-click.i18n.it-it.js │ │ │ │ │ ├── map-right-click.i18n.pt-br.js │ │ │ │ │ └── map-right-click.i18n.ro-ro.js │ │ │ │ ├── map-right-click.css │ │ │ │ └── map-right-click.js │ │ │ ├── map-view-markers │ │ │ │ ├── MapViewMarkers.vue │ │ │ │ └── map-view-markers.js │ │ │ ├── my-location │ │ │ │ ├── MyLocation.vue │ │ │ │ ├── i18n │ │ │ │ │ ├── my-location.i18n.cs-cz.js │ │ │ │ │ ├── my-location.i18n.de-de.js │ │ │ │ │ ├── my-location.i18n.en-us.js │ │ │ │ │ ├── my-location.i18n.es-es.js │ │ │ │ │ ├── my-location.i18n.fr-fr.js │ │ │ │ │ ├── my-location.i18n.hu-hu.js │ │ │ │ │ ├── my-location.i18n.it-it.js │ │ │ │ │ ├── my-location.i18n.pt-br.js │ │ │ │ │ └── my-location.i18n.ro-ro.js │ │ │ │ ├── my-location.css │ │ │ │ └── my-location.js │ │ │ └── ors-l-polyline │ │ │ │ ├── OrsLPolyline.vue │ │ │ │ ├── i18n │ │ │ │ ├── ors-l-polyline.i18n.cs-cz.js │ │ │ │ ├── ors-l-polyline.i18n.de-de.js │ │ │ │ ├── ors-l-polyline.i18n.en-us.js │ │ │ │ ├── ors-l-polyline.i18n.es-es.js │ │ │ │ ├── ors-l-polyline.i18n.fr-fr.js │ │ │ │ ├── ors-l-polyline.i18n.hu-hu.js │ │ │ │ ├── ors-l-polyline.i18n.it-it.js │ │ │ │ ├── ors-l-polyline.i18n.pt-br.js │ │ │ │ └── ors-l-polyline.i18n.ro-ro.js │ │ │ │ ├── ors-extended-polyline.js │ │ │ │ ├── ors-l-polyline.css │ │ │ │ └── ors-l-polyline.js │ │ ├── i18n │ │ │ ├── map-view.i18n.cs-cz.js │ │ │ ├── map-view.i18n.de-de.js │ │ │ ├── map-view.i18n.en-us.js │ │ │ ├── map-view.i18n.es-es.js │ │ │ ├── map-view.i18n.fr-fr.js │ │ │ ├── map-view.i18n.hu-hu.js │ │ │ ├── map-view.i18n.it-it.js │ │ │ ├── map-view.i18n.pt-br.js │ │ │ └── map-view.i18n.ro-ro.js │ │ ├── map-definitions.js │ │ ├── map-view-draw.css │ │ ├── map-view-leaflet.css │ │ ├── map-view-measurer.css │ │ ├── map-view-polyline-measurer.css │ │ ├── map-view.css │ │ └── map-view.js │ ├── places-carousel │ │ ├── PlacesCarousel.cy.js │ │ ├── PlacesCarousel.vue │ │ ├── i18n │ │ │ ├── places-carousel.i18n.cs-cz.js │ │ │ ├── places-carousel.i18n.de-de.js │ │ │ ├── places-carousel.i18n.en-us.js │ │ │ ├── places-carousel.i18n.es-es.js │ │ │ ├── places-carousel.i18n.fr-fr.js │ │ │ ├── places-carousel.i18n.hu-hu.js │ │ │ ├── places-carousel.i18n.it-it.js │ │ │ ├── places-carousel.i18n.pt-br.js │ │ │ └── places-carousel.i18n.ro-ro.js │ │ ├── places-carousel.css │ │ └── places-carousel.js │ ├── sidebar │ │ ├── Sidebar.vue │ │ ├── components │ │ │ └── top-menu │ │ │ │ ├── TopMenu.vue │ │ │ │ ├── components │ │ │ │ └── floating-menu │ │ │ │ │ ├── FloatingMenu.vue │ │ │ │ │ ├── floating-menu.css │ │ │ │ │ ├── floating-menu.js │ │ │ │ │ └── i18n │ │ │ │ │ ├── floating-menu.i18n.cs-cz.js │ │ │ │ │ ├── floating-menu.i18n.de-de.js │ │ │ │ │ ├── floating-menu.i18n.en-us.js │ │ │ │ │ ├── floating-menu.i18n.es-es.js │ │ │ │ │ ├── floating-menu.i18n.fr-fr.js │ │ │ │ │ ├── floating-menu.i18n.hu-hu.js │ │ │ │ │ ├── floating-menu.i18n.it-it.js │ │ │ │ │ ├── floating-menu.i18n.pt-br.js │ │ │ │ │ └── floating-menu.i18n.ro-ro.js │ │ │ │ ├── i18n │ │ │ │ ├── top-menu.i18n.cs-cz.js │ │ │ │ ├── top-menu.i18n.de-de.js │ │ │ │ ├── top-menu.i18n.en-us.js │ │ │ │ ├── top-menu.i18n.es-es.js │ │ │ │ ├── top-menu.i18n.fr-fr.js │ │ │ │ ├── top-menu.i18n.hu-hu.js │ │ │ │ ├── top-menu.i18n.it-it.js │ │ │ │ ├── top-menu.i18n.pt-br.js │ │ │ │ └── top-menu.i18n.ro-ro.js │ │ │ │ ├── top-menu.css │ │ │ │ └── top-menu.js │ │ ├── i18n │ │ │ ├── sidebar.i18n.cs-cz.js │ │ │ ├── sidebar.i18n.de-de.js │ │ │ ├── sidebar.i18n.en-us.js │ │ │ ├── sidebar.i18n.es-es.js │ │ │ ├── sidebar.i18n.fr-fr.js │ │ │ ├── sidebar.i18n.hu-hu.js │ │ │ ├── sidebar.i18n.it-it.js │ │ │ ├── sidebar.i18n.pt-br.js │ │ │ └── sidebar.i18n.ro-ro.js │ │ ├── sidebar.css │ │ └── sidebar.js │ ├── toaster │ │ ├── Toaster.vue │ │ └── toaster.js │ ├── v-menu │ │ ├── VMenu.vue │ │ └── v-menu.js │ └── wrapper │ │ └── wrapper-tag.js ├── i18n │ ├── i18n-builder.js │ └── translations │ │ ├── cs-cz │ │ ├── builder.js │ │ └── global.js │ │ ├── de-de │ │ ├── builder.js │ │ └── global.js │ │ ├── en-us │ │ ├── builder.js │ │ └── global.js │ │ ├── es-es │ │ ├── builder.js │ │ └── global.js │ │ ├── fr-fr │ │ ├── builder.js │ │ └── global.js │ │ ├── hu-hu │ │ ├── builder.js │ │ └── global.js │ │ ├── it-it │ │ ├── builder.js │ │ └── global.js │ │ ├── pt-br │ │ ├── builder.js │ │ └── global.js │ │ └── ro-ro │ │ ├── builder.js │ │ └── global.js ├── main.js ├── models │ ├── app-route-data.js │ ├── map-view-data.js │ └── place.js ├── pages │ └── maps │ │ ├── Maps.vue │ │ ├── i18n │ │ ├── maps.i18n.cs-cz.js │ │ ├── maps.i18n.de-de.js │ │ ├── maps.i18n.en-us.js │ │ ├── maps.i18n.es-es.js │ │ ├── maps.i18n.fr-fr.js │ │ ├── maps.i18n.hu-hu.js │ │ ├── maps.i18n.it-it.js │ │ ├── maps.i18n.pt-br.js │ │ └── maps.i18n.ro-ro.js │ │ ├── map.store.js │ │ ├── maps.css │ │ ├── maps.js │ │ └── maps.route.js ├── plugins │ ├── plugin-example │ │ └── plugin-example.js │ └── readme.md ├── resources │ ├── constants.js │ ├── i18n │ │ ├── options.i18n.cs-cz.js │ │ ├── options.i18n.de-de.js │ │ ├── options.i18n.en-us.js │ │ ├── options.i18n.es-es.js │ │ ├── options.i18n.fr-fr.js │ │ ├── options.i18n.hu-hu.js │ │ ├── options.i18n.it-it.js │ │ ├── options.i18n.pt-br.js │ │ ├── options.i18n.ro-ro.js │ │ ├── ors-dictionary.i18n.cs-cz.js │ │ ├── ors-dictionary.i18n.de-de.js │ │ ├── ors-dictionary.i18n.en-us.js │ │ ├── ors-dictionary.i18n.es-es.js │ │ ├── ors-dictionary.i18n.fr-fr.js │ │ ├── ors-dictionary.i18n.hu-hu.js │ │ ├── ors-dictionary.i18n.it-it.js │ │ ├── ors-dictionary.i18n.pt-br.js │ │ ├── ors-dictionary.i18n.ro-ro.js │ │ ├── ors-map-filters.i18n.cs-cz.js │ │ ├── ors-map-filters.i18n.de-de.js │ │ ├── ors-map-filters.i18n.en-us.js │ │ ├── ors-map-filters.i18n.es-es.js │ │ ├── ors-map-filters.i18n.fr-fr.js │ │ ├── ors-map-filters.i18n.hu-hu.js │ │ ├── ors-map-filters.i18n.it-it.js │ │ ├── ors-map-filters.i18n.pt-br.js │ │ └── ors-map-filters.i18n.ro-ro.js │ ├── lists │ │ ├── countries.js │ │ ├── grades.js │ │ ├── instruction-code-to-symbol.js │ │ ├── route-smoothness.js │ │ └── surface-types.js │ └── ors-dictionary.js ├── router │ └── index.js ├── store │ ├── modules │ │ ├── app-state.js │ │ ├── app-ui.js │ │ └── map-state.js │ └── store.js └── support │ ├── __tests__ │ ├── geo-utils.cy.js │ └── utils.cy.js │ ├── admin-area-loader.js │ ├── app-hooks.js │ ├── app-modes │ ├── app-mode.js │ └── strategies │ │ ├── directions-mode.js │ │ ├── isochrones-mode.js │ │ ├── place-mode.js │ │ ├── roundtrip-mode.js │ │ └── search-mode.js │ ├── appwrite-utils.js │ ├── dependency-service.js │ ├── geo-utils.js │ ├── loader.js │ ├── map-data-services │ ├── file-data-extractors │ │ ├── file-extractor-builder.js │ │ └── file-extractors │ │ │ ├── geojson-file-importer.js │ │ │ ├── gpx-file-importer.js │ │ │ ├── json-file-importer.js │ │ │ ├── kml-file-importer.js │ │ │ └── xml-file-importer.js │ ├── map-view-data-builder.cy.js │ ├── map-view-data-builder.js │ ├── ors-filter-util.js │ ├── ors-params-parser.js │ ├── ors-response-data-extractors │ │ ├── ors-response-extractor-builder.js │ │ ├── response-extractors │ │ │ └── v2 │ │ │ │ ├── directions-json.js │ │ │ │ ├── geocode-reverse.js │ │ │ │ ├── geocode-search.js │ │ │ │ ├── isochrones.js │ │ │ │ └── pois.js │ │ └── route-data.js │ └── ors-response-util.js │ ├── menu-manager.js │ ├── menu-service.js │ ├── nominatim-service.js │ ├── ors-api-runner.cy.js │ ├── ors-api-runner.js │ ├── ors-menu.js │ ├── pattern.js │ ├── polygon-utils.js │ ├── route-utils.js │ ├── routes-resolver.js │ └── utils.js └── templates └── nginx.ors-map-client.conf.nginx /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/preset-env", 5 | { 6 | "modules": false, 7 | "targets": { 8 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 9 | } 10 | }, 11 | "stage-2" 12 | ] 13 | ], 14 | "plugins": [ 15 | [ 16 | "transform-imports", 17 | { 18 | "vuetify": { 19 | "transform": "vuetify/es5/components/${member}", 20 | "preventFullImport": true 21 | } 22 | } 23 | ], 24 | ["@babel/plugin-proposal-class-properties"] 25 | ], 26 | "env": { 27 | "test": { 28 | "presets": ["@babel/preset-env"], 29 | "plugins": ["istanbul"] 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .git 3 | .github 4 | .editorconfig 5 | .gitignore 6 | .versionrc 7 | static 8 | cypress 9 | tests 10 | docs 11 | node_modules 12 | CHANGELOG.md 13 | README.md 14 | Dockerfile 15 | docker-compose.yml 16 | index.html 17 | LICENSE 18 | nginx 19 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /config/ 3 | /dist/ 4 | /*.js 5 | /src/ors-js/node_modules/ 6 | -------------------------------------------------------------------------------- /.github/workflows/heal.yml: -------------------------------------------------------------------------------- 1 | name: HEAL 2 | 3 | on: 4 | push: 5 | branches: 6 | - heal 7 | 8 | jobs: 9 | deploy: 10 | environment: heal 11 | runs-on: [self-hosted, ors-map-client-heal] 12 | steps: 13 | - name: trigger branch name 14 | run: echo ${GITHUB_REF_NAME} 15 | - name: fetch repo state and prune remotes 16 | working-directory: ${{ secrets.work_dir }} 17 | run: git fetch --prune 18 | - name: checkout trigger branch 19 | working-directory: ${{ secrets.work_dir }} 20 | run: git checkout --progress --force ${GITHUB_REF_NAME} 21 | - name: hard reset to origin state 22 | working-directory: ${{ secrets.work_dir }} 23 | run: git reset --hard origin/${GITHUB_REF_NAME} 24 | - name: build docker rebuild and restart 25 | working-directory: ${{ secrets.work_dir }} 26 | run: docker compose up --build --force-recreate -d 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | **/node_modules/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | /src/ors-js/ 8 | 9 | # Editor directories and files 10 | .idea 11 | .vscode 12 | *.suo 13 | *.ntvs* 14 | *.njsproj 15 | *.sln 16 | 17 | ## The ignores below can be removed/commented in the case 18 | ## you want to include the config files, the plugins 19 | ## and the built static app in a custom repo. 20 | 21 | # Ignore config file 22 | /src/config/ 23 | !/src/config/.gitkeep 24 | 25 | # Ignore config file 26 | /src/plugins/ 27 | !/src/plugins/plugin-example/ 28 | 29 | # Built web app # 30 | /static/ 31 | !/static/css/.gitkeep 32 | !/static/fonts/.gitkeep 33 | !/static/img/.gitkeep 34 | 35 | # leaflet helpers 36 | 37 | /images 38 | 39 | # cypress tests 40 | /cypress/videos/ 41 | /cypress/screenshots/ 42 | /cypress/downloads/ 43 | /index.html 44 | /nginx/ 45 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /.versionrc: -------------------------------------------------------------------------------- 1 | { 2 | "types": [ 3 | {"type": "chore", "section":"Others", "hidden": false}, 4 | {"type": "revert", "section":"Reverts", "hidden": false}, 5 | {"type": "feat", "section": "Features", "hidden": false}, 6 | {"type": "fix", "section": "Bug Fixes", "hidden": false}, 7 | {"type": "improvement", "section": "Feature Improvements", "hidden": false}, 8 | {"type": "docs", "section":"Docs", "hidden": false}, 9 | {"type": "style", "section":"Styling", "hidden": false}, 10 | {"type": "refactor", "section":"Code Refactoring", "hidden": false}, 11 | {"type": "perf", "section":"Performance Improvements", "hidden": false}, 12 | {"type": "test", "section":"Tests", "hidden": false}, 13 | {"type": "build", "section":"Build System", "hidden": false}, 14 | {"type": "ci", "section":"CI", "hidden":false} 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /build/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/build/logo.png -------------------------------------------------------------------------------- /build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const config = require('../config') 4 | const isProduction = process.env.NODE_ENV === 'production' 5 | const sourceMapEnabled = isProduction 6 | ? config.build.productionSourceMap 7 | : config.dev.cssSourceMap 8 | 9 | module.exports = { 10 | loaders: utils.cssLoaders({ 11 | sourceMap: sourceMapEnabled, 12 | extract: isProduction 13 | }), 14 | cssSourceMap: sourceMapEnabled, 15 | productionSourceMap: false, 16 | cacheBusting: config.dev.cacheBusting, 17 | transformToRequire: { 18 | video: ['src', 'poster'], 19 | source: 'src', 20 | img: 'src', 21 | image: 'xlink:href' 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const prodEnv = require('./prod.env') 4 | 5 | module.exports = merge(prodEnv, { 6 | NODE_ENV: '"development"' 7 | }) 8 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const packageJson = require('../package.json') 4 | 5 | let ORSKEY = process.env.ORSKEY 6 | let BITLYLOGIN = process.env.BITLYLOGIN 7 | let BITLYAPIKEY = process.env.BITLYAPIKEY 8 | 9 | let env = { 10 | NODE_ENV: '"production"', 11 | PACKAGE_JSON: JSON.stringify(packageJson) 12 | } 13 | 14 | if (ORSKEY) { 15 | env.ORSKEY = `"${ORSKEY}"` 16 | } 17 | if (BITLYLOGIN) { 18 | env.BITLYLOGIN = `"${BITLYLOGIN}"` 19 | } 20 | if (BITLYAPIKEY) { 21 | env.BITLYAPIKEY = `"${BITLYAPIKEY}"` 22 | } 23 | 24 | module.exports = env 25 | -------------------------------------------------------------------------------- /cypress/e2e/2-advanced-examples/window.cy.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | context('Window', () => { 4 | beforeEach(() => { 5 | cy.visit('https://example.cypress.io/commands/window') 6 | }) 7 | 8 | it('cy.window() - get the global window object', () => { 9 | // https://on.cypress.io/window 10 | cy.window().should('have.property', 'top') 11 | }) 12 | 13 | it('cy.document() - get the document object', () => { 14 | // https://on.cypress.io/document 15 | cy.document().should('have.property', 'charset').and('eq', 'UTF-8') 16 | }) 17 | 18 | it('cy.title() - get the title', () => { 19 | // https://on.cypress.io/title 20 | cy.title().should('include', 'Kitchen Sink') 21 | }) 22 | }) 23 | -------------------------------------------------------------------------------- /cypress/e2e/about-page.cy.js: -------------------------------------------------------------------------------- 1 | describe('About page', () => { 2 | it('renders correctly', () => { 3 | cy.visit('/#/about') 4 | cy.get('.v-dialog__content--active').should('be.visible') 5 | cy.get('.about-modal').should('be.visible') 6 | }) 7 | }) 8 | -------------------------------------------------------------------------------- /cypress/e2e/not-found.cy.js: -------------------------------------------------------------------------------- 1 | describe('invalid urls', function () { 2 | it('renders error on broken url', () => { 3 | cy.visit('/#/directions/Old%20Invercauld%20Bridge,Aberdeenshire,Scotland,United%20Kingdom/Old%20Deeside%20Road,Aberdeenshire,Schottland,Vereinigtes%20Königreich/Old%20Deeside%20Road,Aberdeenshire,S') 4 | cy.get('.v-snack__content').should('be.visible') 5 | cy.get('.v-snack__wrapper.error').should('be.visible') 6 | }) 7 | it('renders page not found for invalid page', () => { 8 | cy.visit('/#/dummy-page') 9 | cy.get('.v-snack__content').should('be.visible') 10 | cy.get('.v-snack__wrapper.error').should('be.visible') 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /cypress/e2e/search-place.cy.js: -------------------------------------------------------------------------------- 1 | describe('search place', () => { 2 | it('renders correctly', () => { 3 | cy.visit('/#/search/heidelberg/@50.92381327191293,9.052734375000002/z/6') 4 | 5 | cy.get('.place-input-component input[type=text]') 6 | cy.get('.places-nav') 7 | cy.get('.custom-html-icon-div').should('have.length.gt', 20) 8 | cy.get('.vhl-item').should('have.length.gt', 20) 9 | cy.get('.place-input-component input[type=text]').should('have.value', 'heidelberg') 10 | }) 11 | }) 12 | -------------------------------------------------------------------------------- /cypress/e2e/settings-page.cy.js: -------------------------------------------------------------------------------- 1 | describe('landing page', () => { 2 | it('renders correctly', () => { 3 | cy.visit('/#/settings') 4 | cy.get('.v-dialog__content--active') 5 | cy.get('.settings-modal') 6 | }) 7 | }) 8 | -------------------------------------------------------------------------------- /cypress/fixtures/map-pin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/cypress/fixtures/map-pin.jpg -------------------------------------------------------------------------------- /cypress/fixtures/map-view-props.js: -------------------------------------------------------------------------------- 1 | import defaultMapSettings from '@/config/default-map-settings' 2 | import MapViewData from '@/models/map-view-data' 3 | import constants from '@/resources/constants' 4 | import appConfig from '@/config/app-config' 5 | 6 | const mapViewProps = { 7 | initialZoom: appConfig.initialZoomLevel, 8 | avoidPolygons: [], 9 | mapViewData: new MapViewData(), 10 | center: defaultMapSettings.mapCenter, 11 | showPopups: false, 12 | height: 900, 13 | fitBounds: true, 14 | showControls: true, 15 | shrunk: false, 16 | mode: constants.modes.place, 17 | supportsDrawingTool: true, 18 | routingProfileIcon: null 19 | } 20 | export default mapViewProps 21 | -------------------------------------------------------------------------------- /cypress/fixtures/ors-route.txt: -------------------------------------------------------------------------------- 1 | invalid content 2 | -------------------------------------------------------------------------------- /cypress/fixtures/places.js: -------------------------------------------------------------------------------- 1 | // noinspection SpellCheckingInspection 2 | 3 | import Place from '@/models/place' 4 | 5 | const places = { 6 | FromToDirectionsPlaces: { 7 | from: new Place(7.888183593750001, 51.467696956223385, 'Schwarzer Weg, Arnsberg,NW,Germany'), 8 | to: new Place(7.830505371093751, 51.66659318427356, 'Fritz-Reuter-Straße 9, Hamm,NW,Germany') 9 | }, 10 | isochroneSinglePlace: new Place(7.888183593750001, 51.467696956223385, 'Schwarzer Weg, Arnsberg,NW,Germany'), 11 | } 12 | export default places 13 | -------------------------------------------------------------------------------- /cypress/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add('login', (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This will overwrite an existing command -- 25 | // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) 26 | -------------------------------------------------------------------------------- /cypress/support/component-index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Components App 9 | 10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /cypress/support/component.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/component.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | 22 | import { mount } from 'cypress/vue2' 23 | 24 | Cypress.Commands.add('mount', mount) 25 | 26 | // Example use: 27 | // cy.mount(MyComponent) 28 | -------------------------------------------------------------------------------- /cypress/support/e2e.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/e2e.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | networks: 3 | production: 4 | name: production 5 | 6 | services: 7 | web: 8 | # wait for proper env implementation in the app. 9 | # env_file: 10 | # - ./production.env 11 | build: 12 | context: . 13 | dockerfile: Dockerfile 14 | user: "${UID:-0}:${GID:-0}" 15 | image: heigit/ors-map-client:local 16 | container_name: ors-map-client 17 | volumes: 18 | - ./nginx/logs:/var/log/nginx 19 | ports: 20 | - "8080:80" 21 | restart: unless-stopped 22 | networks: 23 | - production 24 | -------------------------------------------------------------------------------- /docs/ors-map-client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/docs/ors-map-client.png -------------------------------------------------------------------------------- /src/.gitrepo: -------------------------------------------------------------------------------- 1 | ; DO NOT EDIT (unless you know what you are doing) 2 | ; 3 | ; This subdirectory is a git "subrepo", and this file is maintained by the 4 | ; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme 5 | ; 6 | [subrepo] 7 | remote = https://github.com/vuetifyjs/templates-common.git 8 | branch = subrepo/webpack-src 9 | commit = 090741fa8ba4da0c6f85db64eff64550704123e1 10 | parent = e05204fc0583a8c99f1963ce873eba1266838215 11 | method = merge 12 | cmdver = 0.4.0 13 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/a11y.scss: -------------------------------------------------------------------------------- 1 | .a11y *:focus { 2 | outline-style: dashed; 3 | outline-color: #c62828 !important; 4 | outline-width: 4px; 5 | outline-offset: 2px; 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/css/font-open-sans.css: -------------------------------------------------------------------------------- 1 | /* open-sans-regular - latin_latin-ext */ 2 | @font-face { 3 | font-family: 'Open Sans'; 4 | font-style: normal; 5 | font-weight: 400; 6 | src: url('../fonts/open-sans-v15-latin_latin-ext-regular.eot'); /* IE9 Compat Modes */ 7 | src: local('Open Sans Regular'), local('OpenSans-Regular'), 8 | url('../fonts/open-sans-v15-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 9 | url('../fonts/open-sans-v15-latin_latin-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */ 10 | url('../fonts/open-sans-v15-latin_latin-ext-regular.woff') format('woff'), /* Modern Browsers */ 11 | url('../fonts/open-sans-v15-latin_latin-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 12 | url('../fonts/open-sans-v15-latin_latin-ext-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ 13 | } 14 | -------------------------------------------------------------------------------- /src/assets/css/font-raleway.css: -------------------------------------------------------------------------------- 1 | /* raleway-regular - latin_latin-ext */ 2 | @font-face { 3 | font-family: 'Raleway'; 4 | font-style: normal; 5 | font-weight: 400; 6 | src: url('../fonts/raleway-v12-latin_latin-ext-regular.eot'); /* IE9 Compat Modes */ 7 | src: local('Raleway'), local('Raleway-Regular'), 8 | url('../fonts/raleway-v12-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 9 | url('../fonts/raleway-v12-latin_latin-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */ 10 | url('../fonts/raleway-v12-latin_latin-ext-regular.woff') format('woff'), /* Modern Browsers */ 11 | url('../fonts/raleway-v12-latin_latin-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 12 | url('../fonts/raleway-v12-latin_latin-ext-regular.svg#Raleway') format('svg'); /* Legacy iOS */ 13 | } 14 | -------------------------------------------------------------------------------- /src/assets/css/font-roboto.css: -------------------------------------------------------------------------------- 1 | /* roboto-regular - latin_latin-ext */ 2 | @font-face { 3 | font-family: 'Roboto'; 4 | font-style: normal; 5 | font-weight: 400; 6 | src: url('../fonts/roboto-v18-latin_latin-ext-regular.eot'); /* IE9 Compat Modes */ 7 | src: local('Roboto'), local('Roboto-Regular'), 8 | url('../fonts/roboto-v18-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 9 | url('../fonts/roboto-v18-latin_latin-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */ 10 | url('../fonts/roboto-v18-latin_latin-ext-regular.woff') format('woff'), /* Modern Browsers */ 11 | url('../fonts/roboto-v18-latin_latin-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 12 | url('../fonts/roboto-v18-latin_latin-ext-regular.svg#Roboto') format('svg'); /* Legacy iOS */ 13 | } 14 | -------------------------------------------------------------------------------- /src/assets/fonts/iconfont/MaterialIcons-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/iconfont/MaterialIcons-Regular.eot -------------------------------------------------------------------------------- /src/assets/fonts/iconfont/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/iconfont/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /src/assets/fonts/iconfont/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/iconfont/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /src/assets/fonts/iconfont/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/iconfont/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /src/assets/fonts/iconfont/README.md: -------------------------------------------------------------------------------- 1 | The recommended way to use the Material Icons font is by linking to the web font hosted on Google Fonts: 2 | 3 | ```html 4 | 8 | ``` 9 | 10 | Read more in our full usage guide: 11 | http://google.github.io/material-design-icons/#icon-font-for-the-web 12 | -------------------------------------------------------------------------------- /src/assets/fonts/open-sans-v15-latin_latin-ext-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/open-sans-v15-latin_latin-ext-regular.eot -------------------------------------------------------------------------------- /src/assets/fonts/open-sans-v15-latin_latin-ext-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/open-sans-v15-latin_latin-ext-regular.ttf -------------------------------------------------------------------------------- /src/assets/fonts/open-sans-v15-latin_latin-ext-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/open-sans-v15-latin_latin-ext-regular.woff -------------------------------------------------------------------------------- /src/assets/fonts/open-sans-v15-latin_latin-ext-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/open-sans-v15-latin_latin-ext-regular.woff2 -------------------------------------------------------------------------------- /src/assets/fonts/raleway-v12-latin_latin-ext-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/raleway-v12-latin_latin-ext-regular.eot -------------------------------------------------------------------------------- /src/assets/fonts/raleway-v12-latin_latin-ext-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/raleway-v12-latin_latin-ext-regular.ttf -------------------------------------------------------------------------------- /src/assets/fonts/raleway-v12-latin_latin-ext-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/raleway-v12-latin_latin-ext-regular.woff -------------------------------------------------------------------------------- /src/assets/fonts/raleway-v12-latin_latin-ext-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/raleway-v12-latin_latin-ext-regular.woff2 -------------------------------------------------------------------------------- /src/assets/fonts/roboto-v18-latin_latin-ext-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/roboto-v18-latin_latin-ext-regular.eot -------------------------------------------------------------------------------- /src/assets/fonts/roboto-v18-latin_latin-ext-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/roboto-v18-latin_latin-ext-regular.ttf -------------------------------------------------------------------------------- /src/assets/fonts/roboto-v18-latin_latin-ext-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/roboto-v18-latin_latin-ext-regular.woff -------------------------------------------------------------------------------- /src/assets/fonts/roboto-v18-latin_latin-ext-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/fonts/roboto-v18-latin_latin-ext-regular.woff2 -------------------------------------------------------------------------------- /src/assets/img/country-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/img/country-icon.png -------------------------------------------------------------------------------- /src/assets/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/img/favicon.ico -------------------------------------------------------------------------------- /src/assets/img/heigit-and-hd-uni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/img/heigit-and-hd-uni.png -------------------------------------------------------------------------------- /src/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/img/logo.png -------------------------------------------------------------------------------- /src/assets/img/map-pin-600x400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/img/map-pin-600x400.jpg -------------------------------------------------------------------------------- /src/assets/img/ors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/assets/img/ors.png -------------------------------------------------------------------------------- /src/common/event-bus.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | // Create a global event bus, so all the components 4 | // can access it to emit and capture events using EventBus 5 | export const EventBus = new Vue() 6 | -------------------------------------------------------------------------------- /src/common/show-toaster-mixin.js: -------------------------------------------------------------------------------- 1 | import {EventBus} from '@/common/event-bus' 2 | 3 | 4 | const showMessage = (msg, theme, options) => { 5 | options = options || {} 6 | EventBus.$emit('showSnack', { message: msg, theme: theme, options: options }) 7 | } 8 | 9 | const hideMessages = () => { 10 | EventBus.$emit('hideSnack') 11 | } 12 | 13 | const showError = (msg, options) => { 14 | showMessage(msg, 'error', options) 15 | } 16 | 17 | const showWarning = (msg, options) => { 18 | showMessage(msg, 'warning', options) 19 | } 20 | 21 | const showInfo = (msg, options) => { 22 | showMessage(msg, 'info', options) 23 | } 24 | 25 | const showSuccess = (msg, options) => { 26 | showMessage(msg, 'success', options) 27 | } 28 | 29 | export { showMessage } 30 | export { showError } 31 | export { showWarning } 32 | export { showInfo } 33 | export { showSuccess } 34 | export { hideMessages } 35 | -------------------------------------------------------------------------------- /src/config-examples/hooks-example.js: -------------------------------------------------------------------------------- 1 | // This is an example file and is expected to be cloned 2 | // without the -example on the same folder that it resides. 3 | 4 | 5 | // THE CODE BELOW IS COMMENTED OUT BECAUSE THEY ARE JUST EXAMPLES 6 | 7 | /* 8 | import AppLoader from '@/app-loader' 9 | import PluginExample from '@/plugins/plugin-example/plugin-example.js' 10 | 11 | const appHooks = AppLoader.getInstance().appHooks 12 | 13 | // When adding a hook, three parameters can be passed: 14 | // the name of the hook (string) to be listened, the 15 | // function to be run and the priority (number). 16 | 17 | // Below are examples of hook event that happen in the app. 18 | // Some behaviors of the app can be modified by changing the 19 | // parameter value that is passed when the hook is run. 20 | 21 | appHooks.add('appLoaded', (vueInstance) => { 22 | const pluginExample = new PluginExample(vueInstance) 23 | appHooks.attachPlugin(pluginExample, vueInstance) 24 | // Do something when the app is loaded 25 | }) 26 | */ 27 | -------------------------------------------------------------------------------- /src/config-examples/layer-zoom-mapping-example.js: -------------------------------------------------------------------------------- 1 | // This is an example file and is expected to be cloned 2 | // without the -example on the same folder that it resides. 3 | 4 | // Defines the default zoom that must be applied when a certain 5 | // object with a given layer is focused 6 | 7 | const layerZoomMapping = { 8 | macrocounty: 3, 9 | country: 4, 10 | region: 7, 11 | county: 8, 12 | macroregion: 8, 13 | locality: 9, 14 | neighbourhood: 10, 15 | borough: 10, 16 | localadmin: 13, 17 | street: 14, 18 | postalcode: 15, 19 | address: 16, 20 | venue: 16 21 | } 22 | 23 | export default layerZoomMapping 24 | -------------------------------------------------------------------------------- /src/config-examples/theme-example.js: -------------------------------------------------------------------------------- 1 | // This is an example file and is expected to be cloned 2 | // without the -example on the same folder that it resides. 3 | 4 | const theme = { 5 | primary: '#C62828', 6 | secondary: '#8e0000', 7 | accent: '#ff5f52', 8 | error: '#f44336', // color used to show error toaster 9 | warning: '#FFD54F', // color used to show warning toaster 10 | info: '#2196f3', // color used to show info toaster 11 | success: '#4caf50', // color used to show success toaster 12 | dark: '#424242', 13 | neutral: '#f0f1f4' 14 | } 15 | export default theme 16 | -------------------------------------------------------------------------------- /src/config/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/config/.gitkeep -------------------------------------------------------------------------------- /src/directives/bg.js: -------------------------------------------------------------------------------- 1 | import theme from '@/config/theme' 2 | const bg = { 3 | bind (el, binding) { 4 | render(el, binding) 5 | }, 6 | update (el, binding) { 7 | render(el, binding) 8 | }, 9 | componentUpdated (el, binding) { 10 | render(el, binding) 11 | } 12 | } 13 | 14 | const render = (el, binding) => { 15 | // If the background must be colored based in a html color string 16 | if (binding.arg === 'color') { 17 | el.style.backgroundColor = binding.color 18 | // If the background must be colored based in a palette color 19 | // we use the value to get one of the colors in the theme object 20 | } else if (binding.arg === 'palette') { 21 | el.style.backgroundColor = theme[binding.value] 22 | // if the background is dark, so we need to convert the content/text content color to white 23 | if (binding.value === 'dark') { 24 | el.style.color = '#fff' 25 | } 26 | } else { 27 | el.style.backgroundColor = 'transparent' 28 | } 29 | } 30 | 31 | export default bg 32 | -------------------------------------------------------------------------------- /src/directives/focus.js: -------------------------------------------------------------------------------- 1 | import PreparedVue from '@/common/prepared-vue.js' 2 | const focus = { 3 | inserted: (el, binding) => { 4 | focus.processFocus(el, binding) 5 | }, 6 | update: (el, binding) => { 7 | focus.processFocus(el, binding) 8 | }, 9 | processFocus: (el, binding) => { 10 | if (binding.value) { 11 | let VueRoot = PreparedVue 12 | VueRoot.nextTick(() => { 13 | setTimeout(() => { 14 | let inputs = el.getElementsByTagName('input') 15 | if (inputs.length === 1) { 16 | let targetInput = inputs[0] 17 | if (!targetInput.value || targetInput.value.length == 0) { 18 | targetInput.focus({autofocus: true}) 19 | } 20 | } 21 | }, 500) 22 | }) 23 | } 24 | } 25 | } 26 | export default focus 27 | -------------------------------------------------------------------------------- /src/directives/title.js: -------------------------------------------------------------------------------- 1 | 2 | const title = { 3 | inserted: (el, binding) => { 4 | document.title = binding.value 5 | }, 6 | update: (el, binding) => { 7 | document.title = binding.value 8 | } 9 | } 10 | export default title 11 | -------------------------------------------------------------------------------- /src/filters/capitalize.js: -------------------------------------------------------------------------------- 1 | const capitalize = function (value) { 2 | if (!value) return '' 3 | value = value.toString() 4 | return value.charAt(0).toUpperCase() + value.slice(1) 5 | } 6 | 7 | export default capitalize 8 | -------------------------------------------------------------------------------- /src/filters/uppercase.js: -------------------------------------------------------------------------------- 1 | const uppercase = function (value) { 2 | return value.toUpperCase() 3 | } 4 | 5 | export default uppercase 6 | -------------------------------------------------------------------------------- /src/fragments/about/About.cy.js: -------------------------------------------------------------------------------- 1 | import About from './About.vue' 2 | import I18nBuilder from '@/i18n/i18n-builder' 3 | import store from '@/store/store' 4 | 5 | describe('', () => { 6 | const i18n = I18nBuilder.build() 7 | 8 | 9 | it('renders', () => { 10 | // see: https://test-utils.vuejs.org/guide/ 11 | cy.mount(About, {store: store, i18n: i18n}) 12 | 13 | cy.get('.about-container') 14 | }) 15 | }) 16 | -------------------------------------------------------------------------------- /src/fragments/about/about.css: -------------------------------------------------------------------------------- 1 | .logo { 2 | display: block; 3 | width: 200px; 4 | height: auto; 5 | margin: auto auto 10px; 6 | } 7 | 8 | section { 9 | padding: 5px; 10 | } 11 | 12 | .sectionHeader { 13 | text-align: center; 14 | margin-top: 10px; 15 | margin-bottom: 10px; 16 | } 17 | 18 | .text-justify { 19 | text-align: justify; 20 | } 21 | 22 | .brand { 23 | float: left; 24 | margin: 0 20px 40px 0; 25 | } 26 | -------------------------------------------------------------------------------- /src/fragments/about/about.js: -------------------------------------------------------------------------------- 1 | import appConfig from '@/config/app-config' 2 | import utils from '@/support/utils' 3 | 4 | export default { 5 | computed: { 6 | showDefaultAboutContent () { 7 | return appConfig.showDefaultAboutContent 8 | } 9 | }, 10 | mounted() { 11 | this.callHook() 12 | }, 13 | created() { 14 | this.getImgSrc = utils.getImgSrc 15 | }, 16 | methods: { 17 | callHook () { 18 | let hookData = {customAbout: this.$refs.customAbout, aboutContainer: this.$refs.aboutContainer, aboutLogo: this.$refs.aboutLogo} 19 | this.$root.appHooks.run('aboutContentDefined', hookData) 20 | } 21 | }, 22 | } 23 | -------------------------------------------------------------------------------- /src/fragments/box/box.store.js: -------------------------------------------------------------------------------- 1 | import {EventBus} from '@/common/event-bus' 2 | 3 | const state = { 4 | boxMaximizedStack: null 5 | } 6 | 7 | const getters = { 8 | boxMaximizedStack: state => { 9 | return state.boxMaximizedStack 10 | } 11 | } 12 | 13 | const mutations = { 14 | boxMaximizedStack: (state, value) => { 15 | state.boxMaximizedStack = value 16 | EventBus.$emit('boxMaximizedStackChanged', value) 17 | } 18 | } 19 | 20 | const actions = { 21 | } 22 | 23 | export default { 24 | state, 25 | getters, 26 | mutations, 27 | actions 28 | } 29 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | maximize: 'Maximalizovat', 4 | minimize: 'Minimalizovat' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | maximize: 'Maximieren', 4 | minimize: 'Verkleinern' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | maximize: 'Maximize', 4 | minimize: 'Minimize' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | 'maximize': 'Maximizar', 4 | 'minimize': 'Minimizar' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'box': { 3 | 'maximize': 'Maximiser', 4 | 'minimize': 'Minimiser' 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | 'maximize': 'Teljes méret', 4 | 'minimize': 'Kis méret' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | 'maximize': 'Ingrandisci', 4 | 'minimize': 'Rimpicciolisci' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | maximize: 'Maximizar', 4 | minimize: 'Minimizar' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/box/i18n/box.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | box: { 3 | maximize: 'Maximizați', 4 | minimize: 'Minimizați', 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/charts/altitude/Altitude.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | -------------------------------------------------------------------------------- /src/fragments/dialogs/info/Info.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 | 22 | 30 | -------------------------------------------------------------------------------- /src/fragments/footer/footer.css: -------------------------------------------------------------------------------- 1 | 2 | footer { 3 | text-align: center; 4 | padding: 5px; 5 | } 6 | 7 | footer p{ 8 | color: #cbcbcb; 9 | margin: auto; 10 | } 11 | footer a { 12 | color: #cbcbcb; 13 | text-decoration: none; 14 | } 15 | -------------------------------------------------------------------------------- /src/fragments/footer/footer.js: -------------------------------------------------------------------------------- 1 | import appConfig from '@/config/app-config' 2 | import theme from '@/config/theme' 3 | 4 | export default { 5 | data () { 6 | return { 7 | footerMainSiteName: appConfig.footerAppName, 8 | footerLink: appConfig.footerDevelopedByLink 9 | } 10 | }, 11 | computed: { 12 | currentYear () { 13 | return (new Date()).getFullYear() 14 | }, 15 | linkColor () { 16 | return 'color: ' + theme.primary + ';' 17 | }, 18 | appVersion () { 19 | let env = process.env 20 | let version = env.PACKAGE_JSON.version 21 | return version 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/FieldsContainer.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/form-fields-autocomplete.css: -------------------------------------------------------------------------------- 1 | 2 | .form-fields-autocomplete-menu .v-list__tile__title { 3 | text-transform: capitalize; 4 | } 5 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | fieldHelp: 'Kliknutím otevřete popis', 4 | defaultAbbreviation: 'df.: ', 5 | paramJSONContent: 'JSON obsah', 6 | wrongInputValue: 'Špatná vstupní hodnota tohoto parametru.', 7 | notValidJsonString: 'Žádný platný Json pro :fieldName' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | fieldHelp: 'Klicken Sie, um die Beschreibung zu öffnen', 4 | defaultAbbreviation: 'df.: ', 5 | paramJSONContent: 'JSON-Inhalt', 6 | wrongInputValue: 'Fehlerhafter Wert für diesen Parameter.', 7 | notValidJsonString: 'Ungültiges JSON Objekt in :fieldName', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | fieldHelp: 'Click to open the description', 4 | defaultAbbreviation: 'df.: ', 5 | paramJSONContent: 'JSON content', 6 | wrongInputValue: 'Wrong input value for this parameter.', 7 | notValidJsonString: 'No valid Json for :fieldName', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | 'fieldHelp': 'Haga clic para abrir la descripción del campo', 4 | 'defaultAbbreviation': 'Est.: ', 5 | 'paramJSONContent': 'contenido JSON', 6 | 'wrongInputValue': 'Valor de entrada incorrecto para este parámetro.', 7 | 'notValidJsonString': 'JSON no es válido para :fieldName' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'formFields': { 3 | 'fieldHelp': 'Cliquez pour ouvrir la description', 4 | 'defaultAbbreviation': 'df.: ', 5 | 'paramJSONContent': 'Contenu JSON', 6 | 'wrongInputValue': 'Mauvaise valeur d\'entrée pour ce paramètre.', 7 | 'notValidJsonString': 'JSON non-valide pour: fieldName' 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | 'fieldHelp': 'Kattintson a leírás megnyitásához', 4 | 'defaultAbbreviation': 'alapért.: ', 5 | 'paramJSONContent': 'JSON-tartalom', 6 | 'wrongInputValue': 'Helytelen bemeneti érték ehhez a paraméterhez.', 7 | 'notValidJsonString': 'Nincs érvényes Json ehhez: :fieldName' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | 'fieldHelp': 'Clicca per aprire la descrizione', 4 | 'defaultAbbreviation': 'df.: ', 5 | 'paramJSONContent': 'Contenuto JSON', 6 | 'wrongInputValue': 'Falso valore per questo parametro.', 7 | 'notValidJsonString': 'Oggetto JSON non valido per :fieldName' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | fieldHelp: 'Clique para abir o descrição do campo', 4 | defaultAbbreviation: 'padr.: ', 5 | paramJSONContent: 'conteúdo JSON', 6 | wrongInputValue: 'Valor de entrada errado para este parâmetro.', 7 | notValidJsonString: 'JSON não válido para :fieldName', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/form-fields/i18n/form-fields.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formFields: { 3 | fieldHelp: 'Faceți clic pentru a deschide descrierea', 4 | defaultAbbreviation: 'df.: ', 5 | paramJSONContent: 'Conținutul JSON', 6 | wrongInputValue: 'Valoare de intrare greșită pentru acest parametru.', 7 | notValidJsonString: 'Nu există Json valid pentru :fieldName', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/slider-combo/custom-slider.js: -------------------------------------------------------------------------------- 1 | 2 | import { VSlider } from 'vuetify' 3 | 4 | export default { 5 | name:'custom-slider', 6 | extends: VSlider, 7 | computed: { 8 | internalValue: { 9 | get: function get() { 10 | return this.lazyValue 11 | }, 12 | set: function set(val) { 13 | const min = this.min, max = this.max 14 | 15 | // Only trigger the change if the value is not 16 | // null or undefined. Otherwise, the min value 17 | // is set in replacement of the null 18 | if (val !== null && val !== undefined) { 19 | // Round value to ensure the 20 | // entire slider range can 21 | // be selected with step 22 | const value = this.roundValue(Math.min(Math.max(val, min), max)) 23 | if (value === this.lazyValue) return 24 | this.lazyValue = value 25 | this.$emit('input', value) 26 | this.validate() 27 | } 28 | } 29 | }, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/components/slider-combo/slider-combo.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .form-fields-slider-text-input { 4 | float: left; 5 | width: 50px; 6 | padding-right: 5px; 7 | margin-right: 5px; 8 | height: 40px; 9 | } 10 | 11 | .form-fields-slider-text-input >>> input { 12 | -webkit-appearance: none; 13 | margin: 0; 14 | -moz-appearance: textfield; 15 | } 16 | 17 | 18 | 19 | .form-fields-slider-text-input >>> .v-input__slot { 20 | padding: 2px !important; 21 | min-height: 40px !important; 22 | } 23 | 24 | .form-fields-slider-text-input >>> input::-webkit-inner-spin-button, .form-fields-slider-text-input >>> 25 | input::-webkit-outer-spin-button { 26 | -webkit-appearance: none; 27 | -moz-appearance: textfield; 28 | margin: 0; 29 | } 30 | 31 | 32 | .form-fields-slider-text-input >>> input { 33 | margin-top: 5px; 34 | } 35 | 36 | 37 | .form-fields-slider { 38 | float: left; 39 | width: 100% 40 | } 41 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/fields-container.css: -------------------------------------------------------------------------------- 1 | .fields-container { 2 | background:white 3 | } 4 | 5 | .props-modal { 6 | z-index: 3 7 | } 8 | 9 | .label-txt { 10 | color:rgb(103, 121, 141) 11 | } 12 | 13 | .content-text { 14 | color: black; 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/fields-container.js: -------------------------------------------------------------------------------- 1 | import FormFields from './components/form-fields/FormFields' 2 | 3 | export default { 4 | props: { 5 | parameters: { 6 | required: true 7 | } 8 | }, 9 | created () { 10 | this.build = true 11 | }, 12 | data () { 13 | return { 14 | tokens: null, 15 | build: false 16 | } 17 | }, 18 | watch: { 19 | 'actionData' () { 20 | this.build = false 21 | setTimeout(() => { 22 | this.build = true 23 | }, 100) 24 | } 25 | }, 26 | methods: { 27 | fieldUpdated (data) { 28 | this.$emit('fieldUpdated', data) 29 | } 30 | }, 31 | components: { 32 | FormFields 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/fragments/forms/fields-container/fields-container.store.js: -------------------------------------------------------------------------------- 1 | const state = { 2 | parameters: [] 3 | } 4 | 5 | const getters = { 6 | parameters: state => { 7 | return state.parameters 8 | } 9 | } 10 | 11 | const mutations = { 12 | parameters: (state, parameters) => { 13 | state.parameters = parameters 14 | } 15 | } 16 | 17 | const actions = { 18 | } 19 | 20 | export default { 21 | state, 22 | getters, 23 | mutations, 24 | actions 25 | } 26 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form-btn/MapFormBtn.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form-btn/map-form-btn.css: -------------------------------------------------------------------------------- 1 | .map-form-btn { 2 | float: left; 3 | width: 54px; 4 | } 5 | 6 | .btn-legend { 7 | font-size: 9px; 8 | text-align: center; 9 | word-break: break-word; 10 | max-width: 58px; 11 | margin-left: -4px; 12 | } 13 | 14 | .map-form-btn .v-btn { 15 | padding: 0; 16 | margin: 5px; 17 | } 18 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form-btn/map-form-btn.js: -------------------------------------------------------------------------------- 1 | export default { 2 | props: { 3 | title: { 4 | type: String, 5 | required: true 6 | }, 7 | text: { 8 | type: String, 9 | required: false 10 | }, 11 | icon: { 12 | type: String, 13 | required: true 14 | }, 15 | color: { 16 | type: String, 17 | default: 'default' 18 | } 19 | }, 20 | data: () => ({ 21 | btnText: '' 22 | }), 23 | created () { 24 | this.btnText = this.text || this.title 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | download: { 3 | documentTitle: 'ORS trasa', 4 | download: 'Stažení', 5 | downloadFileName: 'Název souboru ke stažení', 6 | downloadFormat: 'Formát ke stažení', 7 | downloadRoute: 'Trasa stažení', 8 | preparingDownload: 'Příprava ke stažení ...', 9 | fileReady: 'Soubor je připraven', 10 | errorPreparingFile: 'Chyba přípravy souboru', 11 | fileTooBigToBeDownloaded: 'Soubor je příliš velký na to, aby mohl být stažen', 12 | standard: 'Standard' 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | download: { 4 | documentTitle: 'ORS Route', 5 | download: 'Download', 6 | downloadFileName: 'Dateiname', 7 | downloadFormat: 'Dateiformat', 8 | downloadRoute: 'Route herunterladen', 9 | preparingDownload: 'Download wird vorbereitet…', 10 | fileReady: 'Datei bereit', 11 | errorPreparingFile: 'Fehler bei der Vorbereitung der Datei', 12 | fileTooBigToBeDownloaded: 'Datei ist zu groß zum Herunterladen', 13 | standard: 'Standard' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | download: { 4 | documentTitle: 'ORS route', 5 | download: 'Download', 6 | downloadFileName: 'Download file name', 7 | downloadFormat: 'Download format', 8 | downloadRoute: 'Download route', 9 | preparingDownload: 'Preparing download ...', 10 | fileReady: 'File ready', 11 | errorPreparingFile: 'Error preparing file', 12 | fileTooBigToBeDownloaded: 'File too big to be downloaded', 13 | standard: 'Standard' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | download: { 4 | 'documentTitle': 'Ruta ORS', 5 | 'download': 'Descargar', 6 | 'downloadFileName': 'Nombre del archivo a exportar', 7 | 'downloadFormat': 'Formato para la exportación', 8 | 'downloadRoute': 'Exportar ruta', 9 | 'preparingDownload': 'Preparando el archivo ...', 10 | 'fileReady': 'Archivo listo', 11 | 'errorPreparingFile': 'Error al preparar el archivo', 12 | 'fileTooBigToBeDownloaded': 'Archivo demasiado grande para descargar', 13 | 'standard': 'Estándar' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'download': { 4 | 'documentTitle': 'Itinéraire ORS', 5 | 'download': 'Télécharger', 6 | 'downloadFileName': 'Nom du fichier a télécharger', 7 | 'downloadFormat': 'Format du téléchargement', 8 | 'downloadRoute': 'Télécharger l\'itinéraire', 9 | 'preparingDownload': 'En train de préparer le téléchargement ...', 10 | 'fileReady': 'Fichier prêt', 11 | 'errorPreparingFile': 'Erreur lors de la préparation du fichier', 12 | 'fileTooBigToBeDownloaded': 'Fichier trop gros pour être téléchargé', 13 | 'standard': 'Standard' 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | download: { 4 | 'documentTitle': 'ORS útvonal', 5 | 'download': 'Letöltés', 6 | 'downloadFileName': 'Letöltendő fájl neve', 7 | 'downloadFormat': 'Letöltendő fájl formátuma', 8 | 'downloadRoute': 'Útvonal letöltése', 9 | 'preparingDownload': 'Letöltés előkészítése…', 10 | 'fileReady': 'Fájl kész', 11 | 'errorPreparingFile': 'Hiba történt a fájl előkészítésekor', 12 | 'fileTooBigToBeDownloaded': 'A fájl túl nagy a letöltéshez', 13 | 'standard': 'Standard' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | download: { 3 | 'documentTitle': 'ORS route', 4 | 'download': 'Download', 5 | 'downloadFileName': 'Scarica il nome del file', 6 | 'downloadFormat': 'Scarica il formato', 7 | 'downloadRoute': 'Scarica il percorso', 8 | 'preparingDownload': 'Preparando il download ...', 9 | 'fileReady': 'Il file è pronto', 10 | 'errorPreparingFile': 'Errore nel preparare il file', 11 | 'fileTooBigToBeDownloaded': 'Il file è troppo grande per essere scaricato', 12 | 'standard': 'Standard' 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | download: { 4 | documentTitle: 'Rota ORS', 5 | download: 'Baixar', 6 | downloadFileName: 'Nome do arquivo a ser exportado', 7 | downloadFormat: 'Formato para exportação', 8 | downloadRoute: 'Exportar rota', 9 | preparingDownload: 'Preparando arquivo ...', 10 | fileReady: 'Arquivo pronto', 11 | errorPreparingFile: 'Erro ao preparar arquivo', 12 | fileTooBigToBeDownloaded: 'Arquivo muito grande para ser baixado', 13 | standard: 'Padrão' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/download/i18n/download.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | download: { 3 | documentTitle: 'Ruta ORS', 4 | download: 'Descărcați', 5 | downloadFileName: 'Numele fișierului de descărcare', 6 | downloadFormat: 'Format de descărcare', 7 | downloadRoute: 'Ruta de descărcare', 8 | preparingDownload: 'Pregătirea pentru descărcare ...', 9 | fileReady: 'Fișier pregătit', 10 | errorPreparingFile: 'Eroare la pregătirea fișierului', 11 | standard: 'Standard', 12 | fileTooBigToBeDownloaded: 'Fișier prea mare pentru a fi descărcat', 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/form-actions.css: -------------------------------------------------------------------------------- 1 | .action-options-wrapper { 2 | max-width: 275px; 3 | float: left; 4 | height: 100px; 5 | } 6 | 7 | .high-resolution { 8 | padding-right: 12px; 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formActions: { 3 | addPlaceInput: 'Přidat vstupní místo', 4 | clearRoute: 'Vymazat trasu', 5 | reverseRoute: 'Obrátit trasu', 6 | roundTrip: 'Cesta tam a zpět', 7 | toggleRoundTrip: 'Přepnout zpáteční cestu' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formActions: { 3 | addPlaceInput: 'Punkt hinzufügen', 4 | clearRoute: 'Route löschen', 5 | reverseRoute: 'Route umkehren', 6 | roundTrip: 'Rundweg', 7 | toggleRoundTrip: 'Rundweg an/aus' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | formActions: { 4 | addPlaceInput: 'Add place input', 5 | clearRoute: 'Clear route', 6 | reverseRoute: 'Reverse route', 7 | roundTrip: 'Round trip', 8 | toggleRoundTrip: 'Toggle round trip' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | formActions: { 4 | 'addPlaceInput': 'Añadir campo', 5 | 'clearRoute': 'Limpiar ruta', 6 | 'reverseRoute': 'Invertir ruta', 7 | 'roundTrip': 'Ruta circular', 8 | 'toggleRoundTrip': 'Cambiar ruta circular' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'formActions': { 4 | 'addPlaceInput': 'Ajouter un champ de lieu', 5 | 'clearRoute': 'Effacer l\'itinéraire', 6 | 'reverseRoute': 'Inverser la route', 7 | 'roundTrip': 'Route circulaire', 8 | 'toggleRoundTrip': 'Basculer route circulaire' 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | formActions: { 4 | 'addPlaceInput': 'Hely megadása', 5 | 'clearRoute': 'Útvonal törlése', 6 | 'reverseRoute': 'Útvonal megfordítása', 7 | 'roundTrip': 'Körutazás', 8 | 'toggleRoundTrip': 'Körutazás be-/kikapcsolása' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formActions: { 3 | 'addPlaceInput': 'Aggiungi luogo', 4 | 'clearRoute': 'Cancella itinerario', 5 | 'reverseRoute': 'Inverti itinerario', 6 | 'roundTrip': 'Andata e ritorno', 7 | 'toggleRoundTrip': 'Attiva/Disattiva funzione andata e ritorno' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | formActions: { 4 | addPlaceInput: 'Adicionar campo', 5 | clearRoute: 'Limpar rota', 6 | reverseRoute: 'Reverter rota', 7 | roundTrip: 'Rota circular', 8 | toggleRoundTrip: 'Alternar rota circular' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/form-actions/i18n/form-actions.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formActions: { 3 | addPlaceInput: 'Adăugați intrarea locului', 4 | clearRoute: 'Traseu liber', 5 | reverseRoute: 'Rută inversă', 6 | roundTrip: 'Călătorie dus-întors', 7 | toggleRoundTrip: 'Comutați călătoria dus-întors', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | isochronesDetails: { 3 | polygons: 'Polygony', 4 | center: 'Střed', 5 | reachCenters: 'Centra dosahu', 6 | toggleVisibility: 'Přepnout viditelnost', 7 | opacity: 'Průhlednost' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | isochronesDetails: { 3 | polygons: 'Polygone', 4 | center: 'Zentrum', 5 | reachCenters: 'Erreichbarkeits-Zentren', 6 | toggleVisibility: 'Sichtbarkeit umschalten', 7 | opacity: 'Deckkraft' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | isochronesDetails: { 4 | polygons: 'Polygons', 5 | center: 'Center', 6 | reachCenters: 'Reach centers', 7 | toggleVisibility: 'Toggle visibility', 8 | opacity: 'Opacity' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | isochronesDetails: { 4 | 'polygons': 'Polígonos', 5 | 'center': 'Centro', 6 | 'reachCenters': 'Centros de alcance', 7 | 'toggleVisibility': 'Alternar visibilidad', 8 | 'opacity': 'Opacidad' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'isochronesDetails': { 4 | 'polygons': 'Polygones', 5 | 'center': 'Centre', 6 | 'reachCenters': 'Centres de atteindre', 7 | 'toggleVisibility': 'Basculer la visibilité', 8 | 'opacity': 'Opacité' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | isochronesDetails: { 4 | 'polygons': 'Sokszögek', 5 | 'center': 'Középpont', 6 | 'reachCenters': 'Elérési központok', 7 | 'toggleVisibility': 'Kapcsolja be a láthatóságot', 8 | 'opacity': 'Átlátszatlanság' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | isochronesDetails: { 3 | 'polygons': 'Poligoni', 4 | 'center': 'Centro', 5 | 'reachCenters': 'Centri di sensibilizzazione', 6 | 'toggleVisibility': 'Attiva/disattiva visibilità', 7 | 'opacity': 'Opacità' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | isochronesDetails: { 4 | polygons: 'Polígonos', 5 | center: 'Centro', 6 | reachCenters: 'Centros de alcance', 7 | toggleVisibility: 'Alternar visibilidade', 8 | opacity: 'Opacidade' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/i18n/isochrones-details.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | isochronesDetails: { 3 | polygons: 'Poligoane', 4 | center: 'Centru', 5 | reachCenters: 'Centrele Reach', 6 | toggleVisibility: 'Comutați vizibilitatea', 7 | opacity: 'Opacitate', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/components/isochrones-details/isochrones-details.css: -------------------------------------------------------------------------------- 1 | .polygon-area { 2 | padding-left: 5px; 3 | padding-right: 5px; 4 | } 5 | 6 | .polygons-header>>>.v-expansion-panel__header { 7 | padding-top: 0 !important; 8 | padding-bottom: 0 !important; 9 | padding-left: 5px; 10 | min-height: 35px; 11 | background: transparent; 12 | } 13 | 14 | .action-options-wrapper { 15 | height: 45px; 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/isochrones/isochrones.css: -------------------------------------------------------------------------------- 1 | .isochrones-input { 2 | padding-top: 10px; 3 | } 4 | .reorder-handle:hover{ 5 | cursor:move; 6 | } 7 | 8 | .reorder-handle{ 9 | padding-top:18px; 10 | } 11 | 12 | ul.place-inputs li { 13 | list-style: none; 14 | } 15 | 16 | ul.place-inputs { 17 | padding: 10px 0; 18 | } 19 | 20 | .extra-btn { 21 | padding-left: 0; 22 | } 23 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/AltitudePreview.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/altitude-preview.js: -------------------------------------------------------------------------------- 1 | import Altitude from '@/fragments/charts/altitude/Altitude' 2 | import MapViewData from '@/models/map-view-data' 3 | import {EventBus} from '@/common/event-bus' 4 | 5 | export default { 6 | props: { 7 | height: { 8 | type: Number, 9 | default: 100 10 | }, 11 | mapViewData: { 12 | required: true, 13 | type: MapViewData 14 | } 15 | }, 16 | components: { 17 | Altitude 18 | }, 19 | methods: { 20 | openAltitudeBox () { 21 | // if in low resolution, close the sidebar 22 | // before displaying the altitude modal 23 | if (this.$lowResolution) { 24 | this.$store.commit('setLeftSideBarIsOpen', false) 25 | } 26 | EventBus.$emit('showAltitudeModal') 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | altitudePreview: { 3 | expandAltitudeChart: 'Rozbalit tabulku', 4 | altitude: 'Nadmořská výška' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | altitudePreview: { 3 | expandAltitudeChart: 'Höhenprofil vergrößern', 4 | altitude: 'Höhe' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | altitudePreview: { 4 | expandAltitudeChart: 'Expand chart', 5 | altitude: 'Altitude' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | altitudePreview: { 4 | 'expandAltitudeChart': 'Ampliar el gráfico', 5 | 'altitude': 'Altitud' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'altitudePreview': { 4 | 'expandAltitudeChart': 'Agrandir le graphique', 5 | 'altitude': 'Altitude' 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | altitudePreview: { 4 | 'expandAltitudeChart': 'Diagram kibontása', 5 | 'altitude': 'Magasság' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | altitudePreview: { 4 | 'expandAltitudeChart': 'Ingrandisci grafico', 5 | 'altitude': 'Altitudine' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | altitudePreview: { 4 | expandAltitudeChart: 'Expandir gráfico', 5 | altitude: 'Altitude' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/altitude-preview/i18n/altitude-preview.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | altitudePreview: { 3 | expandAltitudeChart: 'Extindeți graficul', 4 | altitude: 'Altitudine', 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placeDetails: { 3 | layer: 'Vrstva', 4 | lat: 'Lat.', 5 | lon: 'Lon.', 6 | notAvailable: 'Není k dispozici', 7 | placeDetails: 'Podrobnosti o místu', 8 | placeName: 'Název', 9 | latlngCopied: 'Zeměpisná šířka a délka zkopírována', 10 | lnglatCopied: 'Zeměpisná délka a šířka zkopírována', 11 | copyLatlng: 'Kopírovat ve formátu zeměpisná šířka,délka', 12 | copyLnglat: 'Kopírovat ve formátu zeměpisná délka,šířka', 13 | satelliteView: 'Satelitní pohled' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placeDetails: { 3 | layer: 'Ebene', 4 | lat: 'Breite', 5 | lon: 'Länge', 6 | notAvailable: 'Nicht verfügbar', 7 | placeDetails: 'Details zum Ort', 8 | placeName: 'Name', 9 | latlngCopied: 'Breiten- und Längengrad kopiert', 10 | lnglatCopied: 'Längen und Breitengrad kopiert', 11 | copyLatlng: 'Im Format "Breitengrad, Längengrad" kopieren', 12 | copyLnglat: 'Im Format "Längengrad, Breitengrad" kopieren', 13 | satelliteView: 'Satellitenbild' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placeDetails: { 4 | layer: 'Layer', 5 | lat: 'Lat.', 6 | lon: 'Lon.', 7 | notAvailable: 'Not available', 8 | placeDetails: 'Place details', 9 | placeName: 'Name', 10 | latlngCopied: 'Latitude and longitude copied', 11 | lnglatCopied: 'Longitude and latitude copied', 12 | copyLatlng: 'Copy in latitude,longitude format', 13 | copyLnglat: 'Copy in longitude,latitude format', 14 | satelliteView: 'satellite view' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placeDetails: { 4 | 'layer': 'Capa', 5 | 'lat': 'Lat.', 6 | 'lon': 'Lon.', 7 | 'notAvailable': 'No disponible', 8 | 'placeDetails': 'Detalles de la ubicación', 9 | 'placeName': 'Nombre', 10 | 'latlngCopied': 'Latitud y longitud copiadas', 11 | 'lnglatCopied': 'Longitud y latitud copiadas', 12 | 'copyLatlng': 'Copia en formato de latitud y longitud', 13 | 'copyLnglat': 'Copia en formato de longitud y latitud', 14 | 'satelliteView': 'Vista del satélite' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'placeDetails': { 4 | 'layer': 'Couche', 5 | 'lat': 'Lat.', 6 | 'lon': 'Lon.', 7 | 'notAvailable': 'Pas disponible', 8 | 'placeDetails': 'Détails du lieu', 9 | 'placeName': 'Nom', 10 | 'latlngCopied': 'Latitude et longitude copiées', 11 | 'lnglatCopied': 'Longitude et latitude copiées', 12 | 'copyLatlng': 'Copier au format latitude,longitude', 13 | 'copyLnglat': 'Copier au format longitude,latitude', 14 | 'satelliteView': 'vue satellite' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placeDetails: { 4 | 'layer': 'Réteg', 5 | 'lat': 'Szél.', 6 | 'lon': 'Hossz.', 7 | 'notAvailable': 'Nem elérhető', 8 | 'placeDetails': 'Hely adatai', 9 | 'placeName': 'Név', 10 | 'latlngCopied': 'Szélesség és hosszúság másolva', 11 | 'lnglatCopied': 'Hosszúság és szélesség másolva', 12 | 'copyLatlng': 'Másolás szélesség-hosszúság formátumban', 13 | 'copyLnglat': 'Másolás hosszúság-szélesség formátumban', 14 | 'satelliteView': 'műholdas nézet' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placeDetails: { 3 | 'layer': 'Layer', 4 | 'lat': 'Lat.', 5 | 'lon': 'Lon.', 6 | 'notAvailable': 'Non avviabile', 7 | 'placeDetails': 'Dettagli del luogo', 8 | 'placeName': 'Nome', 9 | 'latlngCopied': 'Latitudine e longitudine copiate', 10 | 'lnglatCopied': 'Longitudine e latitudine copiate', 11 | 'copyLatlng': 'Copia in formato latitudine,longitudine', 12 | 'copyLnglat': 'Copia in formato longitudine,latitudine', 13 | 'satelliteView': 'Visione da satellite' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placeDetails: { 4 | layer: 'Camada', 5 | lat: 'Lat.', 6 | lon: 'Lon.', 7 | notAvailable: 'Não disponível', 8 | placeDetails: 'Detalhes do local', 9 | placeName: 'Nome', 10 | latlngCopied: 'Latitude e longitude copiadas', 11 | lnglatCopied: 'Longitude e latitude copiadas', 12 | copyLatlng: 'Copiar no formato latitude,longitude', 13 | copyLnglat: 'Copiar no formato longitude,latitude', 14 | satelliteView: 'Vista de satélite' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/i18n/place-details.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placeDetails: { 3 | layer: 'Stratul', 4 | lat: 'Lat.', 5 | lon: 'Lon.', 6 | notAvailable: 'Nu este disponibil', 7 | placeDetails: 'Detalii privind locul', 8 | placeName: 'Nume', 9 | latlngCopied: 'Latitudine și longitudine copiate', 10 | lnglatCopied: 'Longitudine și latitudine copiate', 11 | copyLatlng: 'Copiați în format latitudine, longitudine', 12 | copyLnglat: 'Copiați în format longitudine, latitudine', 13 | satelliteView: 'vedere din satelit', 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/place-details/place-details.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GIScience/ors-map-client/1e028c6af778e5bbe66b970c14135d03ac88058b/src/fragments/forms/map-form/components/place-and-directions/components/place-details/place-details.css -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/RoundTrip.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | roundtripOptions: 'Možnosti zpáteční cesty' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | roundtripOptions: 'Rundreise-Optionen' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | roundtripOptions: 'Round trip options' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | 'roundtripOptions': 'Opciones de rutas circulares' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'roundtrip': { 3 | 'roundtripOptions': 'Options de route circulaire' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | 'roundtripOptions': 'Körutazás beállításai' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | 'roundtripOptions': 'Opzioni di andata e ritorno' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | roundtripOptions: 'Opções de rota circular' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/i18n/round-trip.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | roundtrip: { 3 | roundtripOptions: 'Opțiuni de călătorie dus-întors', 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/round-trip.css: -------------------------------------------------------------------------------- 1 | .round-trip-panel { 2 | box-shadow:none; 3 | width: calc(100% - 10px); 4 | } 5 | 6 | .round-trip-panel >>> li > div { 7 | padding: 0; 8 | } 9 | 10 | .round-trip-panel-content { 11 | background: transparent; 12 | padding-left: 10px;; 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/round-trip/round-trip.js: -------------------------------------------------------------------------------- 1 | import OrsMapFilters from '@/config/ors-map-filters' 2 | import OrsFilterUtil from '@/support/map-data-services/ors-filter-util' 3 | import FieldsContainer from '@/fragments/forms/fields-container/FieldsContainer' 4 | 5 | export default { 6 | data: () => ({ 7 | orsFilters: OrsMapFilters 8 | }), 9 | props: { 10 | }, 11 | components: { 12 | FieldsContainer 13 | }, 14 | computed: { 15 | roundTripFilterAccessor () { 16 | const filterRef = OrsFilterUtil.getFilterRefByName('round_trip') 17 | return filterRef 18 | } 19 | }, 20 | methods: { 21 | filterUpdated () { 22 | this.$emit('changed') 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeExtras: { 3 | extras: 'Doplňky k trase', 4 | extraInfo: 'Další informace', 5 | value: 'Hodnota', 6 | clickToHighlightOnMap: 'Kliknutím ji zvýrazníte na mapě', 7 | showAllOnMap: 'Zobrazit vše na mapě' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeExtras: { 3 | extras: 'Routen-Extras', 4 | extraInfo: 'Zusatzinformationen', 5 | value: 'Wert', 6 | clickToHighlightOnMap: 'Klicken, um die Streckenabschnitte auf der Karte anzuzeigen', 7 | showAllOnMap: 'Alle auf der Karte anzeigen' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeExtras: { 4 | extras: 'Route extras', 5 | extraInfo: 'Extra info', 6 | value: 'Value', 7 | clickToHighlightOnMap: 'Click to highlight it on map', 8 | showAllOnMap: 'Show all on map' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeExtras: { 3 | 'extras': 'Extras de la ruta', 4 | 'extraInfo': 'Información adicional', 5 | 'value': 'Valor', 6 | 'clickToHighlightOnMap': 'Haga clic para resaltar en el mapa', 7 | 'showAllOnMap': 'Mostrar todo en el mapa' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'routeExtras': { 4 | 'extras': 'Extras d\'itinéraire', 5 | 'extraInfo': 'Inform. supplémentaires', 6 | 'value': 'Valeur', 7 | 'clickToHighlightOnMap': 'Cliquez pour le mettre en évidence sur la carte', 8 | 'showAllOnMap': 'Tout afficher sur la carte' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeExtras: { 4 | 'extras': 'További információk az útvonalról', 5 | 'extraInfo': 'További információk', 6 | 'value': 'Érték', 7 | 'clickToHighlightOnMap': 'Kattintson a térképen való megjelenítéshez', 8 | 'showAllOnMap': 'Az összes megjelenítése az térképen' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeExtras: { 3 | 'extras': 'Opzioni extra per il percorso', 4 | 'extraInfo': 'Informazioni extra', 5 | 'value': 'Valore', 6 | 'clickToHighlightOnMap': 'Clicca per evidenziare sulla mappa', 7 | 'showAllOnMap': 'Mostra tutto sulla mappa' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeExtras: { 4 | extras: 'Extras da rota', 5 | extraInfo: 'Informações extra', 6 | value: 'Valor', 7 | clickToHighlightOnMap: 'Clique para destacar no mapa', 8 | showAllOnMap: 'Mostrar tudo no mapa' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/i18n/route-extras.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeExtras: { 3 | extras: 'Extras de traseu', 4 | extraInfo: 'Informații suplimentare', 5 | value: 'Valoare', 6 | showAllOnMap: 'Arată totul pe hartă', 7 | clickToHighlightOnMap: 'Faceți clic pentru a-l evidenția pe hartă', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/extras/route-extras.store.js: -------------------------------------------------------------------------------- 1 | const state = { 2 | extraHighlight: {} 3 | } 4 | 5 | const getters = { 6 | extraHighlight: state => { 7 | return state.extraHighlight 8 | } 9 | } 10 | 11 | const mutations = { 12 | extraHighlight: (state, extraHighlight) => { 13 | state.extraHighlight = extraHighlight 14 | } 15 | } 16 | 17 | const actions = { 18 | } 19 | 20 | export default { 21 | state, 22 | getters, 23 | mutations, 24 | actions 25 | } 26 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | steps: { 3 | instruction: 'Instrukce', 4 | on: 'Na', 5 | step: 'kroku', 6 | gotoStep: 'Přejít na krok' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | steps: { 3 | instruction: 'Anweisung', 4 | on: 'Auf', 5 | step: 'Schritt', 6 | gotoStep: 'Schritt auf Karte anzeigen' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | steps: { 4 | instruction: 'Instruction', 5 | on: 'On', 6 | step: 'step', 7 | gotoStep: 'Go to step' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | steps: { 4 | 'instruction': 'Instrucción', 5 | 'on': 'en', 6 | 'step': 'paso', 7 | 'gotoStep': 'Ir al paso' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'steps': { 4 | 'instruction': 'Instruction', 5 | 'on': 'Sur', 6 | 'step': 'étape', 7 | 'gotoStep': 'Aller à cette étape' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | steps: { 4 | 'instruction': 'Utasítás', 5 | 'on': 'Ezen', 6 | 'step': 'lépés', 7 | 'gotoStep': 'Ugrás erre a lépésre:' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | steps: { 3 | 'instruction': 'Istruzioni', 4 | 'on': 'Su', 5 | 'step': 'passo', 6 | 'gotoStep': 'Visualizza questo passo' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | steps: { 4 | instruction: 'Instrução', 5 | on: 'em', 6 | step: 'passo', 7 | gotoStep: 'Ir para passo' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/i18n/steps.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | steps: { 3 | on: 'Pe', 4 | step: 'pasul', 5 | gotoStep: 'Mergeți la pas', 6 | instruction: 'Instrucțiuni', 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/components/steps/steps.css: -------------------------------------------------------------------------------- 1 | .step { 2 | border-bottom: 1px solid #f0f1f4; 3 | margin-bottom: 15px; 4 | padding-bottom: 5px; 5 | padding-left: 10px; 6 | } 7 | 8 | .instruction { 9 | font-size: 16px; 10 | margin-bottom: 8px; 11 | } 12 | 13 | .on { 14 | margin-bottom: 8px; 15 | } 16 | .arrived { 17 | font-size: 16px; 18 | font-weight: 600; 19 | } 20 | 21 | .turn-left { 22 | transform: scaleY(-1) rotate(-45deg) 23 | } 24 | 25 | .turn-right { 26 | transform: scaleY(-1) scaleX(-1) rotate(-45deg); 27 | } 28 | 29 | .slight-left { 30 | transform: scaleX(-1) rotate(-15deg) 31 | } 32 | 33 | .slight-right { 34 | transform: scaleX(1) rotate(-15deg) 35 | } 36 | 37 | .u-turn { 38 | transform: rotate(-90deg) 39 | } 40 | 41 | .keep-left { 42 | transform: rotate(-90deg) 43 | } 44 | 45 | .keep-right { 46 | transform: rotate(90deg) 47 | } 48 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeDetails: { 3 | routeDetails: 'Podrobnosti o trase', 4 | warnings: 'Výstrahy', 5 | routes: 'Trasy', 6 | route: 'Trasa', 7 | segments: 'Segmenty', 8 | segment: 'Segment', 9 | instructions: 'Instrukce', 10 | instruction: 'Instrukce', 11 | name: 'Name', 12 | selectRoute: 'Vybrat tuto trasu', 13 | selectedRoute: 'Vybraná trasa', 14 | gotoSegment: 'Přejít na segment', 15 | warningCodes: { 16 | 1: 'Na některých silnicích mohou platit omezení', 17 | 2: 'Na trase jsou zpoplatněné silnice', 18 | 3: 'Na trase jsou vynechané úseky. Délka a dostupnost nemusí být správné', 19 | 4: 'Minimálně jedna požadovaná informace navíc, ale není k dispozici' 20 | }, 21 | routeOpacity: 'Neprůhlednost trasy' 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeDetails: { 3 | routeDetails: 'Routendetails', 4 | warnings: 'Warnungen', 5 | routes: 'Routen', 6 | route: 'Route', 7 | segments: 'Abschnitte', 8 | segment: 'Abschnitt', 9 | instructions: 'Wegbeschreibungen', 10 | instruction: 'Wegbeschreibung', 11 | name: 'Name', 12 | selectRoute: 'Diese Route wählen', 13 | selectedRoute: 'Gewählte Route', 14 | gotoSegment: 'Gehe zu Abschnitt', 15 | warningCodes: { 16 | 1: 'Auf einigen Straßen können Zufahrts- oder Zugangsbeschränkungen gelten', 17 | 2: 'Diese Route nutzt Mautstraßen', 18 | 3: 'Auf der Route gibt es übersprungene Abschnitte. Dauer und Zugangsbeschränkungen sind möglicherweise nicht korrekt.', 19 | 4: 'Mindestens eine angefragte Zusatzinformation ist nicht verfügbar.' 20 | }, 21 | routeOpacity: 'Routendeckkraft' 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeDetails: { 4 | routeDetails: 'Route details', 5 | warnings: 'Warnings', 6 | routes: 'Routes', 7 | route: 'Route', 8 | segments: 'Segments', 9 | segment: 'Segment', 10 | instructions: 'Instructions', 11 | instruction: 'Instruction', 12 | name: 'Name', 13 | selectRoute: 'Select this route', 14 | selectedRoute: 'Selected route', 15 | gotoSegment: 'Go to segment', 16 | warningCodes: { 17 | 1: 'There may be restrictions on some roads', 18 | 2: 'There are tollways along the route', 19 | 3: 'There are skipped segments along the route. Durations and accessibility may not be correct', 20 | 4: 'At least one extra info requested but it is not available', 21 | }, 22 | routeOpacity: 'Route opacity' 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeDetails: { 4 | 'routeDetails': 'Útvonal részletei', 5 | 'warnings': 'Figyelmeztetések', 6 | 'routes': 'Útvonalak', 7 | 'route': 'Útvonal', 8 | 'segments': 'Szakaszok', 9 | 'segment': 'Szakasz', 10 | 'instructions': 'Utasítások', 11 | 'instruction': 'Utasítás', 12 | 'name': 'Név', 13 | 'selectRoute': 'Útvonal kiválasztása', 14 | 'selectedRoute': 'Kiválasztott útvonal', 15 | 'gotoSegment': 'Ugrás erre a szakaszra:', 16 | 'warningCodes': { 17 | '1': 'Egyes utakon korlátozások lehetnek', 18 | '2': 'Az útvonalon fizetős szakasz is van', 19 | '3': 'Az útvonalon kihagyott szakaszok is vannak. Előfordulhat, hogy az időtartamok és a behajtási korlátozások pontatlanok', 20 | '4': 'Legalább egy kiegészítő adat le lett kérve, de nem áll rendelkezésre' 21 | }, 22 | 'routeOpacity': 'Útvonal átlátszatlansága' 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeDetails: { 3 | 'routeDetails': 'Dettagli percorso', 4 | 'warnings': 'Allerta', 5 | 'routes': 'Itinerari', 6 | 'route': 'Itinerario', 7 | 'segments': 'Segmenti', 8 | 'segment': 'Segmento', 9 | 'instructions': 'Indicazioni', 10 | 'instruction': 'Indicazione', 11 | 'name': 'Nome', 12 | 'selectRoute': 'Seleziona l\'itinerario', 13 | 'selectedRoute': 'Itinerario selezionato', 14 | 'gotoSegment': 'Vai al segmento', 15 | 'warningCodes': { 16 | '1': 'Potrebbero esserci restrizioni su alcune strade', 17 | '2': 'Ci sono delle strade a pedaggio lungo il percorso', 18 | '3': 'Questo itinerario si basa su vie dirette. Durata e restrizioni sulle strade potrebbero non essere corrette.', 19 | '4': 'Almeno un\'opzione extra richiesta non è disponibile.' 20 | }, 21 | 'routeOpacity': 'Opacità del percorso' 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeDetails: { 4 | routeDetails: 'Detalhes da rota', 5 | warnings: 'Avisos', 6 | routes: 'Rotas', 7 | route: 'Rota', 8 | segments: 'Segmentos', 9 | segment: 'Segmento', 10 | instructions: 'Instruções', 11 | instruction: 'Instrução', 12 | name: 'Nome', 13 | selectRoute: 'Selecionar esta rota', 14 | selectedRoute: 'Rota selecionada', 15 | gotoSegment: 'Ir para segmento', 16 | warningCodes: { 17 | 1: 'Talve haja algumas restrições nas vias que são parte da rota', 18 | 2: 'Há pedágios ao longo da rota', 19 | 3: 'Há um ou mais segmentos que foram traçados como uma linha reta ao longo do percurso. Durações e acessibilidade podem não estar corretas', 20 | 4: 'Pelo menos uma informação extra solicitada não está disponível', 21 | }, 22 | routeOpacity: 'Route opacity' 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/i18n/route-details.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeDetails: { 3 | routeDetails: 'Detalii despre traseu', 4 | warnings: 'Avertismente', 5 | routes: 'Rute', 6 | route: 'Rută', 7 | segments: 'Segmente', 8 | segment: 'Segmentul', 9 | instructions: 'Instrucțiuni', 10 | instruction: 'Instrucțiune', 11 | name: 'Nume', 12 | selectRoute: 'Selectați această rută', 13 | selectedRoute: 'Traseu selectat', 14 | gotoSegment: 'Mergeți la segment', 15 | warningCodes: { 16 | 1: 'Este posibil să existe restricții pe unele drumuri', 17 | 2: 'Există autostrăzi cu taxă de-a lungul traseului', 18 | 3: 'Există segmente sărite de-a lungul traseului. Este posibil ca duratele și accesibilitatea să nu fie corecte', 19 | 4: 'Cel puțin o informație suplimentară solicitată, dar care nu este disponibilă', 20 | }, 21 | routeOpacity: 'Opacitatea rutei', 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/components/route-details/route-details.css: -------------------------------------------------------------------------------- 1 | .instructions-scroll { 2 | max-height: 500px; 3 | overflow-x:auto 4 | } 5 | 6 | 7 | .no-shadow { 8 | box-shadow: none; 9 | } 10 | 11 | .route-panel { 12 | background: transparent; 13 | } 14 | 15 | .routes-header >>> .v-expansion-panel__header { 16 | padding-top: 0 !important; 17 | padding-bottom: 0 !important; 18 | padding-left: 5px; 19 | min-height: 35px; 20 | } 21 | 22 | .routes-header >>> .v-expansion-panel__body .v-list { 23 | padding-top: 5px !important; 24 | } 25 | 26 | .expansion-box >>> .box-content { 27 | padding-top: 0 !important; 28 | } 29 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/form-actions.css: -------------------------------------------------------------------------------- 1 | .form-actions { 2 | width: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/place-and-directions/places-and-directions.css: -------------------------------------------------------------------------------- 1 | .map-search-tab { 2 | padding: 5px !important; 3 | } 4 | 5 | .opt-btn { 6 | margin-left: 0; 7 | margin-top: 15px 8 | } 9 | .extra-btn { 10 | padding-left: 0; 11 | } 12 | 13 | ul.place-inputs { 14 | padding: 10px 0; 15 | } 16 | 17 | ul.place-inputs li { 18 | list-style: none; 19 | } 20 | 21 | .reorder-handle:hover{ 22 | cursor:move; 23 | } 24 | 25 | .reorder-handle{ 26 | padding-top:18px; 27 | padding-bottom: 10px; 28 | margin-left: 0; 29 | } 30 | 31 | .ghost { 32 | opacity: 0.4; 33 | } 34 | 35 | .route-importer { 36 | margin-left: -10px; 37 | margin-top: 9px; 38 | float: left; 39 | } 40 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/Print.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/components/place-template/PrintPlace.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/components/place-template/print-place.js: -------------------------------------------------------------------------------- 1 | import MapViewData from '@/models/map-view-data' 2 | 3 | export default { 4 | props: { 5 | mapViewData: { 6 | type: MapViewData 7 | }, 8 | mapViewImage: { 9 | type: String 10 | } 11 | }, 12 | created () { 13 | this.localMapViewData = this.mapViewData 14 | }, 15 | data: () => ({ 16 | localMapViewData: null, 17 | mapImageDataUrl: null 18 | }), 19 | computed: { 20 | place () { 21 | return this.localMapViewData.places[0] 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | print: { 3 | print: 'Tisk', 4 | segment: 'Segment', 5 | preparingPrinting: 'Příprava tisku', 6 | readyToPrint: 'Připraveno k tisku' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | print: { 3 | print: 'Drucken', 4 | segment: 'Abschnitt', 5 | preparingPrinting: 'Druck vorbereiten…', 6 | readyToPrint: 'Bereit zum Drucken' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | print: { 4 | print: 'Print', 5 | segment: 'Segment', 6 | preparingPrinting: 'Preparing printing', 7 | readyToPrint: 'Ready to print' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | print: { 4 | print: 'Imprimir', 5 | segment: 'Segmento', 6 | preparingPrinting: 'Preparando la impresión', 7 | readyToPrint: 'Listo para imprimir' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | print: { 4 | print: 'Imprimer', 5 | segment: 'Segment', 6 | preparingPrinting: 'Préparation de l\'impression', 7 | readyToPrint: 'Prêt à imprimer' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | print: { 4 | print: 'Nyomtatás', 5 | segment: 'Szakasz', 6 | preparingPrinting: 'A nyomtatás előkészítése', 7 | readyToPrint: 'Nyomtatásra kész' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | print: { 4 | print: 'Stampare', 5 | segment: 'Segmento', 6 | preparingPrinting: 'Preparazione della stampa', 7 | readyToPrint: 'Pronta per stampare' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | print: { 4 | print: 'Imprimir', 5 | segment: 'Segmento', 6 | preparingPrinting: 'Preparando impressão', 7 | readyToPrint: 'Pronta para imprimir' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/print/i18n/print.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | print: { 3 | print: 'Imprimare', 4 | segment: 'Segmentul', 5 | preparingPrinting: 'Pregătirea imprimării', 6 | readyToPrint: 'Gata de imprimare', 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | share: { 3 | fullUrl: 'Celé', 4 | shortUrl: 'Krátké', 5 | urlCopied: 'URL zkopírovaná do schránky.', 6 | clickToCopy: 'Kliknutím zkopírovat URL adresu', 7 | share: 'Sdílet (kliknutím zkopírovat)', 8 | shareLink: 'Sdílet odkaz', 9 | short: 'Krátké URL', 10 | copyUrlInfo: 'Odkaz můžete také zkopírovat z adresního řádku prohlížeče.', 11 | urlShortened: 'Zkrácené URL', 12 | shorteningNotPossible: 'Nebylo možné vygenerovat krátkou adresu URL. Použijte prosím úplnou adresu URL', 13 | embedCodeCopied: 'Kód pro vložení zkopírován', 14 | embed: 'Vkládání (kliknutím zkopírujete)', 15 | embedInstructions: 'Tento kód použijte k vložení mapy ORS na svůj web' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | share: { 3 | fullUrl: 'Komplett', 4 | shortUrl: 'Kurz', 5 | urlCopied: 'URL kopiert', 6 | clickToCopy: 'Klicken Sie, um die URL zu kopieren', 7 | share: 'Teilen (zum Kopieren klicken)', 8 | shareLink: 'Link teilen', 9 | short: 'Kurz-URL', 10 | copyUrlInfo: 'Sie können den Link auch aus der Adressleiste Ihres Browsers kopieren.', 11 | urlShortened: 'URL gekürzt', 12 | shorteningNotPossible: 'Keine gekürzte URL verfügbar. Bitte verwenden Sie die vollständige URL.', 13 | embedCodeCopied: 'Code zur Einbettung kopiert', 14 | embed: 'Einbindung auf anderer Website (zum Kopieren anklicken)', 15 | embedInstructions: 'Dieses Code-Fragment zur Einbindung der Karte auf Ihrer Website benutzen' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | share: { 4 | fullUrl: 'Full', 5 | shortUrl: 'Short', 6 | urlCopied: 'URL copied to clipboard.', 7 | clickToCopy: 'Click to copy the URL', 8 | share: 'Share (click to copy)', 9 | shareLink: 'Share link', 10 | short: 'Short URL', 11 | copyUrlInfo: 'You can also copy the link from your browser`s address bar.', 12 | urlShortened: 'Shortened URL', 13 | shorteningNotPossible: 'It was not possible to generate a short URL. Please use the full URL', 14 | embedCodeCopied: 'Embedding code copied', 15 | embed: 'Embedding (click to copy)', 16 | embedInstructions: 'Use this code to embed ORS map in your website' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | share: { 4 | 'fullUrl': 'Completa', 5 | 'shortUrl': 'acortar', 6 | 'urlCopied': 'URL copiada en el portapapeles.', 7 | 'clickToCopy': 'Haga clic para copiar la URL', 8 | 'share': 'Compartir (haga clic para copiar)', 9 | 'shareLink': 'Compartir enlace', 10 | 'short': 'Acortar URL', 11 | 'copyUrlInfo': 'También puede copiar el enlace desde la barra de direcciones de su navegador.', 12 | 'urlShortened': 'URL acortada', 13 | 'shorteningNotPossible': 'No se puede generar una URL corta. Por favor, utilice la URL completa.', 14 | 'embedCodeCopied': 'Código para incrustar el mapa copiado', 15 | 'embed': 'Código para incrustar (haga clic para copiar)', 16 | 'embedInstructions': 'Utilice este código para incrustar el mapa de ORS en un sitio web' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'share': { 4 | 'fullUrl': 'Complète', 5 | 'shortUrl': 'Courte', 6 | 'urlCopied': 'URL copiée dans le presse-papiers.', 7 | 'clickToCopy': 'Cliquez pour copier l\'URL', 8 | 'share': 'Partager (cliquez pour copier)', 9 | 'shareLink': 'Partager le lien', 10 | 'short': 'Raccourcir l\'URL', 11 | 'copyUrlInfo': 'Vous pouvez également copier le lien depuis la barre d\'adresse de votre navigateur.', 12 | 'urlShortened': 'URL courte', 13 | 'shorteningNotPossible': 'Il n\'a pas été possible de générer une URL courte. Veuillez utiliser l\'URL complète', 14 | 'embedCodeCopied': 'Code d\'incorporation copié', 15 | 'embed': 'Incorporation (cliquez pour copier)', 16 | 'embedInstructions': 'Utilisez ce code pour intégrer la carte ORS dans votre site web' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | share: { 4 | 'fullUrl': 'Teljes', 5 | 'shortUrl': 'Rövid', 6 | 'urlCopied': 'URL a vágólapra másolva.', 7 | 'clickToCopy': 'Kattintson az URL másolásához', 8 | 'share': 'Megosztás (kattintson a másoláshoz)', 9 | 'shareLink': 'Link megosztása', 10 | 'short': 'Rövid URL', 11 | 'copyUrlInfo': 'A linket a böngésző címsorából is kimásolhatja.', 12 | 'urlShortened': 'Rövidített URL', 13 | 'shorteningNotPossible': 'Nem lehetett rövid URL-t generálni. Kérjük, használja a teljes URL-t', 14 | 'embedCodeCopied': 'Beágyazási kód kimásolva', 15 | 'embed': 'Beágyazás (kattintson a másoláshoz)', 16 | 'embedInstructions': 'Ezzel a kóddal beágyazhatja az ORS-térképet a saját webhelyére' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | share: { 3 | 'fullUrl': 'Completa', 4 | 'shortUrl': 'Breve', 5 | 'urlCopied': 'URL copiata.', 6 | 'clickToCopy': 'Clicca per copiare la URL', 7 | 'share': 'Condividi (clicca per copiare)', 8 | 'shareLink': 'Condividi link', 9 | 'short': 'Accorcia URL', 10 | 'copyUrlInfo': 'Puoi anche copiare il link dalla barra degli indirizzi del tuo browser.', 11 | 'urlShortened': 'URL accorciata', 12 | 'shorteningNotPossible': 'Non è stato possibile accorciare la URL. Usa la URL completa', 13 | 'embedCodeCopied': 'Codice per l\'integrazione copiato', 14 | 'embed': 'Integrazione in altri siti internet (clicca per copiare)', 15 | 'embedInstructions': 'Usa questo codice per integrare ORS map nel tuo sito internet' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | share: { 4 | fullUrl: 'Completa', 5 | shortUrl: 'encurtar', 6 | urlCopied: 'URL copiada para a área de transferência.', 7 | clickToCopy: 'Clique para copiar a URL', 8 | share: 'Compartilhar (clique para copiar)', 9 | shareLink: 'Compartilhar link', 10 | short: 'Encurtar URL', 11 | copyUrlInfo: 'Você também pode copiar o link a partir da barra de endereços do seu navegador.', 12 | urlShortened: 'URL encurtada', 13 | shorteningNotPossible: 'Não foi possível gerar uma URL curta. Por favor, use a URL completa.', 14 | embedCodeCopied: 'Código para incorporação de mapa copiado', 15 | embed: 'Código para incorporar (clique para copiar)', 16 | embedInstructions: 'Use este código para incorporar o mapa ORS em um website' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/components/share/i18n/share.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | share: { 3 | fullUrl: 'Complet', 4 | clickToCopy: 'Faceți clic pentru a copia URL-ul', 5 | share: 'Partajați (click pentru a copia)', 6 | shareLink: 'Partajați link-ul', 7 | short: 'URL scurt', 8 | embedCodeCopied: 'Cod de încorporare copiat', 9 | embed: 'Integrare (click pentru a copia)', 10 | embedInstructions: 'Utilizați acest cod pentru a încorpora harta ORS în site-ul dumneavoastră', 11 | shortUrl: 'Scurt', 12 | urlCopied: 'URL copiat în clipboard.', 13 | copyUrlInfo: 'De asemenea, puteți copia linkul din bara de adrese a browserului dumneavoastră.', 14 | urlShortened: 'URL scurtat', 15 | shorteningNotPossible: 'Nu a fost posibilă generarea unui URL scurt. Vă rugăm să utilizați URL-ul complet', 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapForm: { 3 | placesAndDirections: 'Vyhledat a přejít', 4 | isochrones: 'Dosah', 5 | uploadedContentRendered: 'Nahraný obsah zobrazen', 6 | errorRenderingContentUploaded: 'Chyba při vykreslování nahraného obsahu. Zkontrolujte formát a obsah souboru' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | mapForm: { 4 | placesAndDirections: 'Suche & Los', 5 | isochrones: 'Erreichbarkeit', 6 | uploadedContentRendered: 'Hochgeladene Inhalte gerendert', 7 | errorRenderingContentUploaded: 'Fehler beim Hochladen der Inhalte. Bitte überprüfen Sie das Dateiformat und den Inhalt.' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | mapForm: { 4 | placesAndDirections: 'Find & go', 5 | isochrones: 'Reach', 6 | uploadedContentRendered: 'Uploaded content rendered', 7 | errorRenderingContentUploaded: 'Error while rendering the content uploaded. Check the file format and content' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | mapForm: { 4 | 'placesAndDirections': 'Buscar e ir', 5 | 'isochrones': 'Alcanzar', 6 | 'uploadedContentRendered': 'El contenido cargado está listo', 7 | 'errorRenderingContentUploaded': 'Error al procesar el contenido cargado. Compruebe el formato y el contenido del archivo' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'mapForm': { 4 | 'placesAndDirections': 'Trouver et partir', 5 | 'isochrones': 'Atteindre', 6 | 'uploadedContentRendered': 'Contenu téléchargé rendu', 7 | 'errorRenderingContentUploaded': 'Erreur lors du rendu du contenu téléchargé. Vérifiez le format et le contenu du fichier' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | mapForm: { 4 | 'placesAndDirections': 'Hely & útvonal', 5 | 'isochrones': 'Elérhetőség', 6 | 'uploadedContentRendered': 'Feltöltött tartalom megjelenítve', 7 | 'errorRenderingContentUploaded': 'Hiba történt a feltöltött tartalom megjelenítésekor. Ellenőrizze a fájl formátumát és tartalmát' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapForm: { 3 | 'placesAndDirections': 'Cerca e vai', 4 | 'isochrones': 'Raggiungibilità', 5 | 'uploadedContentRendered': 'Contenuto importato pronto', 6 | 'errorRenderingContentUploaded': 'Errore durante la visualizzazione del contenuto importato. Controlla formato e contenuto del file' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | mapForm: { 4 | placesAndDirections: 'Encontrar & ir', 5 | isochrones: 'Alcançar', 6 | uploadedContentRendered: 'O conteúdo carregado está pronto', 7 | errorRenderingContentUploaded: 'Erro ao processar o conteúdo carregado. Verificar o formato e o conteúdo do arquivo' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/i18n/map-form.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapForm: { 3 | placesAndDirections: 'Găsiți & plecați', 4 | isochrones: 'Ajungeți la', 5 | uploadedContentRendered: 'Conținutul încărcat a fost redat', 6 | errorRenderingContentUploaded: 'Eroare la redarea conținutului încărcat. Verificați formatul și conținutul fișierului', 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/map-form/map-form.css: -------------------------------------------------------------------------------- 1 | .map-search-tab { 2 | padding: 5px !important; 3 | } 4 | 5 | .opt-btn { 6 | margin-left: 0; 7 | margin-top: 15px 8 | } 9 | .extra-btn { 10 | padding-left: 0; 11 | } 12 | 13 | ul.place-inputs { 14 | padding: 10px 0 0; 15 | } 16 | 17 | ul.place-inputs li { 18 | list-style: none; 19 | } 20 | 21 | .reorder-handle:hover{ 22 | cursor:move; 23 | } 24 | 25 | .reorder-handle{ 26 | padding-top:18px; 27 | } 28 | 29 | .ghost { 30 | opacity: 0.4; 31 | } 32 | 33 | .route-importer { 34 | margin-left: -10px; 35 | margin-top: 9px; 36 | float: left; 37 | } 38 | 39 | .tab-title { 40 | font-size: 11px; 41 | } 42 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/components/profile-selector-option/profile-selector-option.css: -------------------------------------------------------------------------------- 1 | .option-container { 2 | width: 40px; 3 | } 4 | 5 | .profile-option-btn { 6 | min-width: 35px; 7 | margin-bottom: 5px; 8 | padding-left: 8px; 9 | padding-right: 5px; 10 | } 11 | 12 | .profile-option-btn::before { 13 | background-color: white !important; 14 | } 15 | 16 | .profile-menu-activator { 17 | min-width: 36px; 18 | height: 13px; 19 | margin-top: 0; 20 | margin-bottom: 5px; 21 | padding-left: 5px; 22 | padding-right: 5px; 23 | } 24 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | profileSelector: { 3 | activeProfile: 'Aktivní' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | profileSelector: { 3 | activeProfile: 'Aktiv' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | profileSelector: { 4 | activeProfile: 'Active' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | profileSelector: { 4 | 'activeProfile': 'Activo' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'profileSelector': { 4 | 'activeProfile': 'Active' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | profileSelector: { 4 | 'activeProfile': 'Aktív' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | profileSelector: { 4 | activeProfile: 'Attiva' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | profileSelector: { 4 | activeProfile: 'Ativo' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/i18n/profile-selector.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | profileSelector: { 3 | activeProfile: 'Activă', 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/fragments/forms/profile-selector/profile-selector.css: -------------------------------------------------------------------------------- 1 | .profile-btn { 2 | opacity: 0.4 !important; 3 | } 4 | .profile-btn::before { 5 | background-color: white !important; 6 | } 7 | 8 | .profile-btn.active { 9 | opacity: 1 !important; 10 | } 11 | 12 | .profile-options-wrapper { 13 | margin-left: 2px; 14 | max-width: 275px; 15 | padding-top: 5px; 16 | padding-right: 10px; 17 | border-radius: 4px; 18 | border: 1px solid #cbced1; 19 | background-color: #f5f5f5; 20 | float: left; 21 | } 22 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeImporter: { 3 | loadRouteFile: 'Import souboru', 4 | failedToLoadFile: 'Nepodařilo se načíst vybraný soubor. Ujistěte se, že soubor není poškozený a je v jednom z přijatelných formátů.', 5 | acceptedImportTypes: 'Přijatelné typy importu', 6 | dictDefaultMessage: 'Vložte soubor s trasou, který chcete importovat, nebo klikněte sem', 7 | dictFallbackMessage: 'Prohlížeč není podporovaný', 8 | dictFileTooBig: 'Soubor je příliš velký', 9 | dictInvalidFileType: 'Nesprávný typ souboru', 10 | dictCancelUpload: 'Zrušit nahrávání', 11 | dictUploadCanceled: 'Nahrávání zrušeno', 12 | dictRemoveFile: 'Odebrat soubor' 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeImporter: { 4 | loadRouteFile: 'Datei importieren', 5 | failedToLoadFile: 'Die gewählte Datei konnte nicht geladen werden. Stellen Sie sicher, dass die Datei nicht beschädigt ist und in einem der akzeptierten Formate vorliegt.', 6 | acceptedImportTypes: 'Akzeptierte Formate', 7 | dictDefaultMessage: 'Datei mit Route hier ablegen oder hier klicken', 8 | dictFallbackMessage: 'Browser nicht unterstützt', 9 | dictFileTooBig: 'Datei zu groß', 10 | dictInvalidFileType: 'Ungültiges Dateiformat', 11 | dictCancelUpload: 'Upload abbrechen', 12 | dictUploadCanceled: 'Upload abgebrochen', 13 | dictRemoveFile: 'Datei löschen' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeImporter: { 4 | loadRouteFile: 'Import file', 5 | failedToLoadFile: 'Failed to load file selected. Make sure the file is not corrupted and in one of the accepted formats', 6 | acceptedImportTypes: 'Accepted import types', 7 | dictDefaultMessage: 'Drop a route file to import or click here', 8 | dictFallbackMessage: 'Browser not supported', 9 | dictFileTooBig: 'File too big', 10 | dictInvalidFileType: 'Invalid file type', 11 | dictCancelUpload: 'Cancel upload', 12 | dictUploadCanceled: 'Upload Canceled', 13 | dictRemoveFile: 'Remove file' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeImporter: { 4 | 'loadRouteFile': 'Importar archivo', 5 | 'failedToLoadFile': 'No se ha podido cargar el archivo seleccionado. Asegúrese de que el archivo no está dañado y está en uno de los formatos aceptados', 6 | 'acceptedImportTypes': 'Tipos de importaciones aceptadas', 7 | 'dictDefaultMessage': 'Suelte el archivo a importar aquí o haga clic para seleccionar', 8 | 'dictFallbackMessage': 'Navegador no compatible', 9 | 'dictFileTooBig': 'Archivo muy grande', 10 | 'dictInvalidFileType': 'Tipo de archivo no válido', 11 | 'dictCancelUpload': 'Anular el envío', 12 | 'dictUploadCanceled': 'envío anulado', 13 | 'dictRemoveFile': 'Eliminar el archivo' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'routeImporter': { 4 | 'loadRouteFile': 'Importer un fichier', 5 | 'failedToLoadFile': 'Échec du chargement du fichier sélectionné. Assurez-vous que le fichier n\'est pas corrompu et dans l\'un des formats acceptés', 6 | 'acceptedImportTypes': 'Types d\'importation acceptés', 7 | 'dictDefaultMessage': 'Déposez un fichier d\'itinéraire à importer ou cliquez ici', 8 | 'dictFallbackMessage': 'Navigateur non pris en charge', 9 | 'dictFileTooBig': 'Fichier trop gros', 10 | 'dictInvalidFileType': 'Type de fichier invalide', 11 | 'dictCancelUpload': 'Annuler le téléchargement', 12 | 'dictUploadCanceled': 'Téléchargement annulé', 13 | 'dictRemoveFile': 'Effacer le fichier' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeImporter: { 4 | 'loadRouteFile': 'Fájl importálása', 5 | 'failedToLoadFile': 'Nem sikerült betölteni a kiválasztott fájlt. Győződjék meg arról, hogy a fájl nem sérült és az elfogadott formátumok egyikében van', 6 | 'acceptedImportTypes': 'Elfogadott importálható fájltípusok', 7 | 'dictDefaultMessage': 'Az importáláshoz húzzon ide egy útvonalfájlt, vagy kattintson ide', 8 | 'dictFallbackMessage': 'A böngésző nem támogatott', 9 | 'dictFileTooBig': 'Túl nagy a fájl', 10 | 'dictInvalidFileType': 'Érvénytelen fájltípus', 11 | 'dictCancelUpload': 'Feltöltés megszakítása', 12 | 'dictUploadCanceled': 'Feltöltés megszakítva', 13 | 'dictRemoveFile': 'Fájl eltávolítása' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeImporter: { 4 | 'loadRouteFile': 'Importa file', 5 | 'failedToLoadFile': 'Impossibile caricare il file selezionato. Assicurati che il file non sia corrotto e sia in uno dei formati accettati', 6 | 'acceptedImportTypes': 'Formati accettati', 7 | 'dictDefaultMessage': 'Trascina un file con itinerario da importare o clicca qui', 8 | 'dictFallbackMessage': 'Browser non supportato', 9 | 'dictFileTooBig': 'File troppo grande', 10 | 'dictInvalidFileType': 'Tipo di file non valido', 11 | 'dictCancelUpload': 'Cancella upload', 12 | 'dictUploadCanceled': 'Upload Cancellato', 13 | 'dictRemoveFile': 'Rimuovi file' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | routeImporter: { 4 | loadRouteFile: 'Importar arquivo', 5 | failedToLoadFile: 'Falha ao carregar o arquivo selecionado. Certifique-se de que o arquivo não esteja corrompido e que esteja em um dos formatos aceitos', 6 | acceptedImportTypes: 'Tipos de importação aceitos', 7 | dictDefaultMessage: 'Solte o arquivo a ser importado aqui ou click para selecionar', 8 | dictFallbackMessage: 'Navegador não suportado', 9 | dictFileTooBig: 'Arquivo muito grande', 10 | dictInvalidFileType: 'Tipo de arquivo inválido', 11 | dictCancelUpload: 'Cancelar envio', 12 | dictUploadCanceled: 'envio cancelado', 13 | dictRemoveFile: 'Remover arquivo' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/forms/route-importer/i18n/route-importer.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | routeImporter: { 3 | loadRouteFile: 'Importați fișierul', 4 | acceptedImportTypes: 'Tipuri de importuri acceptate', 5 | dictDefaultMessage: 'Trimiteți un fișier de traseu pentru a importa sau faceți clic aici', 6 | dictFallbackMessage: 'Browser neacceptat', 7 | dictFileTooBig: 'Fișier prea mare', 8 | dictInvalidFileType: 'Tip de fișier invalid', 9 | dictCancelUpload: 'Anulați încărcarea', 10 | dictUploadCanceled: 'Încărcare anulată', 11 | failedToLoadFile: 'Nu s-a reușit încărcarea fișierului selectat. Asigurați-vă că fișierul nu este corupt și că este într-unul dintre formatele acceptate', 12 | dictRemoveFile: 'Eliminați fișierul', 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/fragments/forms/settings/settings.css: -------------------------------------------------------------------------------- 1 | .panel-content { 2 | padding-right: 5px; 3 | } 4 | 5 | .panel-content >>> .v-expansion-panel__header { 6 | padding-top: 0 !important; 7 | padding-bottom: 0 !important; 8 | padding-left: 5px; 9 | min-height: 35px; 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | simplePlaceSearch: { 3 | noPlaceFound: 'Nenalezeno žádné místo s přidaným obsahem', 4 | openSidebarToSeeRouteDetails: 'Otevřete postranní panel a zobrazte podrobnosti o trase', 5 | unknownSearchPlaceError: 'Chyba neznámého místa hledání' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | simplePlaceSearch: { 3 | noPlaceFound: 'Kein Ort mit diesen Angaben gefunden', 4 | openSidebarToSeeRouteDetails: 'Öffnen Sie die Seitenleiste, um Routendetails zu sehen.', 5 | unknownSearchPlaceError: 'Unbekannter Fehler beim Suchen von Orten' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | simplePlaceSearch: { 4 | noPlaceFound: 'No place found with the imputed content', 5 | openSidebarToSeeRouteDetails: 'Open the sidebar to see route details', 6 | unknownSearchPlaceError: 'Unknown search place error' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | simplePlaceSearch: { 4 | 'noPlaceFound': 'No se ha encontrado nigun lugar para el contenido insertado', 5 | 'openSidebarToSeeRouteDetails': 'Abra la barra lateral para ver los detalles', 6 | 'unknownSearchPlaceError': 'Error desconocido en la búsqueda de lugar' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'simplePlaceSearch': { 4 | 'noPlaceFound': 'Aucun lieu trouvé avec le contenu imputé', 5 | 'openSidebarToSeeRouteDetails': 'Ouvrez la barre latérale pour voir les détails de l\'itinéraire', 6 | 'unknownSearchPlaceError': 'Erreur de lieu de recherche inconnue' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | simplePlaceSearch: { 4 | 'noPlaceFound': 'A megadott tartalomhoz nem található hely', 5 | 'openSidebarToSeeRouteDetails': 'Nyissa meg az oldalsávot az útvonal részleteinek megtekintéséhez', 6 | 'unknownSearchPlaceError': 'Ismeretlen helykeresési hiba' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | simplePlaceSearch: { 3 | 'noPlaceFound': 'Nessun luogo trovato con queste indicazioni', 4 | 'openSidebarToSeeRouteDetails': 'Apri la barra laterale per vedere i dettagli del percorso', 5 | 'unknownSearchPlaceError': 'Errore sconosciuto durante la ricerca del luogo' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | simplePlaceSearch: { 4 | noPlaceFound: 'Nenhum local encontrado para o conteúdo inserido', 5 | openSidebarToSeeRouteDetails: 'Abrir a barra lateral para exibir os detalhes', 6 | unknownSearchPlaceError: 'Erro desconhecido ao buscar local' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/forms/simple-place-search/i18n/simple-place-search.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | simplePlaceSearch: { 3 | noPlaceFound: 'Nu s-a găsit niciun loc cu conținut imputat', 4 | unknownSearchPlaceError: 'Eroare de căutare loc necunoscut', 5 | openSidebarToSeeRouteDetails: 'Deschideți bara laterală pentru a vedea detaliile traseului', 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/h-menu/h-menu.js: -------------------------------------------------------------------------------- 1 | import * as menuMixin from '@/common/menu-mixin' 2 | 3 | export default { 4 | props: { 5 | item: 6 | { 7 | type: Object, 8 | required: true 9 | }, 10 | showIcon: { 11 | type: Boolean, 12 | required: false, 13 | default: false 14 | }, 15 | showMenuItemFn: { 16 | type: Function, 17 | required: false 18 | }, 19 | navigateFn: { 20 | type: Function, 21 | required: false 22 | } 23 | }, 24 | methods: { 25 | ...menuMixin, 26 | nav (to) { 27 | if (this.navigateFn) { 28 | this.navigateFn(to) 29 | } else { 30 | this.navigate(to) 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/fragments/header/header.css: -------------------------------------------------------------------------------- 1 | /* Customize the ORS toolbar */ 2 | 3 | .app-toolbar { 4 | background-color: #fff !important; 5 | border-bottom: 2px solid #e7e7e7; 6 | -webkit-box-shadow:none; 7 | box-shadow:none; 8 | z-index: 5; 9 | padding-left: 0 !important; 10 | position: absolute; 11 | top:0; 12 | transition:all 1s ease; 13 | } 14 | 15 | .app-toolbar.hidden { 16 | top:-100px; 17 | } 18 | 19 | @media (min-width: 1200px) { 20 | .app-toolbar .v-toolbar__content { 21 | max-width: 1170px; 22 | margin: auto; 23 | } 24 | } 25 | 26 | /* End customize the ORS toolbar */ 27 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | hideMenuBar: 'Skrýt panel nabídek', 4 | showMenuBar: 'Zobrazit panel nabídek' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | hideMenuBar: 'Menüleiste ausblenden', 4 | showMenuBar: 'Menüleiste anzeigen' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | hideMenuBar: 'Hide menu bar', 4 | showMenuBar: 'Show menu bar' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | hideMenuBar: 'Ocultar barra de menu', 4 | showMenuBar: 'Exibir barra de menu' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'header': { 3 | 'hideMenuBar': 'Masquer la barre de menu', 4 | 'showMenuBar': 'Afficher la barre de menu' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | 'hideMenuBar': 'Menüsor elrejtése', 4 | 'showMenuBar': 'Menüsor megjelenítése' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | 'hideMenuBar': 'Nascondi barra del menù', 4 | 'showMenuBar': 'Mostra barra del menù' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | hideMenuBar: 'Ocultar barra de menu', 4 | showMenuBar: 'Exibir barra de menu' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/header/i18n/header.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | header: { 3 | hideMenuBar: 'Ascundeți bara de meniu', 4 | showMenuBar: 'Afișați bara de meniu', 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/fragments/html-marker/HtmlMarker.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/fragments/html-marker/html-marker.js: -------------------------------------------------------------------------------- 1 | export default { 2 | props: { 3 | color: { 4 | Type: String, 5 | default: 'white' 6 | }, 7 | markerImg: { 8 | type: String, 9 | required: false 10 | }, 11 | markerNumber: { 12 | type: Number, 13 | required: false 14 | } 15 | }, 16 | computed: { 17 | doubleDigitText () { 18 | return this.markerNumber && this.markerNumber > 9 19 | }, 20 | tripleDigitText () { 21 | return this.markerNumber && this.markerNumber > 99 22 | }, 23 | fourDigitText () { 24 | return this.markerNumber && this.markerNumber > 999 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | placeInfo: 'Informace o místě', 4 | placeInsidePolygon: 'Místo uvnitř polygonu', 5 | polygonArea: 'Plocha polygonu', 6 | copyLnglat: 'Kopírovat lng, lat', 7 | copyLatlng: 'Kopírovat lat, lng', 8 | directionsToClickedPoint: 'Instrukce k místu kliknutí', 9 | lnglatCopied: 'Zeměpisná délka a šířka zkopírována', 10 | latlngCopied: 'Zeměpisná šířka a délka zkopírována' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | placeInfo: 'Details zum Ort', 4 | polygonArea: 'Polygonfläche', 5 | placeInsidePolygon: 'Details zum Ort (im Polygon)', 6 | copyLatlng: 'Im Format "Breitengrad, Längengrad" kopieren', 7 | copyLnglat: 'Im format "Längengrad, Breitengrad" kopieren', 8 | directionsToClickedPoint: 'Route zum angeklickten Ort', 9 | latlngCopied: 'Breiten- und Längengrad kopiert', 10 | lnglatCopied: 'Längen- und Breitengrad kopiert' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | placeInfo: 'Place info', 4 | placeInsidePolygon: 'Place inside polygon', 5 | polygonArea: 'Polygon area', 6 | copyLnglat: 'Copy lng, lat', 7 | copyLatlng: 'Copy lat, lng', 8 | directionsToClickedPoint: 'Directions to clicked place', 9 | lnglatCopied: 'Longitude and latitude copied', 10 | latlngCopied: 'Latitude and longitude copied' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | 'placeInfo': 'Detalles del local', 4 | 'placeInsidePolygon': 'Local dentro del polígono', 5 | 'polygonArea': 'Área del polígono', 6 | 'copyLnglat': 'Copiar lng, lat', 7 | 'copyLatlng': 'Copiar lat, lng', 8 | 'directionsToClickedPoint': 'Haga clic en el botón de la ruta para iniciar una ruta hasta el punto pulsado en el mapa', 9 | 'lnglatCopied': 'Longitud y latitud copiadas', 10 | 'latlngCopied': 'Latitud y longitud copiadas' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'mapLeftClick': { 3 | 'placeInfo': 'Informations sur le lieu', 4 | 'placeInsidePolygon': 'Placer à l\'intérieur du polygone', 5 | 'polygonArea': 'Surface du polygone', 6 | 'copyLnglat': 'Copier lng, lat', 7 | 'copyLatlng': 'Copier lat, lng', 8 | 'directionsToClickedPoint': 'Cliquez sur ce bouton d\'itinéraire pour démarrer un itinéraire vers le point cliqué sur la carte', 9 | 'lnglatCopied': 'Longitude et latitude copiées', 10 | 'latlngCopied': 'Latitude et longitude copiées' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | 'placeInfo': 'Hely adatai', 4 | 'placeInsidePolygon': 'Sokszögön belüli hely', 5 | 'polygonArea': 'Sokszög területe', 6 | 'copyLnglat': 'Hossz., szél. másolás', 7 | 'copyLatlng': 'Szél., hossz. másolás', 8 | 'directionsToClickedPoint': 'Kattintson az irányok gombra, hogy a ponthoz útvonalat tervezzen', 9 | 'lnglatCopied': 'Hosszúság és szélesség kimásolva', 10 | 'latlngCopied': 'Szélesség és hosszúság kimásolva' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | 'placeInfo': 'Informazioni sul luogo', 4 | 'placeInsidePolygon': 'Luogo nel poligono', 5 | 'polygonArea': 'Area poligono', 6 | 'copyLnglat': 'Copia long., lat.', 7 | 'copyLatlng': 'Copia lat., long.', 8 | 'directionsToClickedPoint': 'Clicca per arrivare al punto scelto', 9 | 'lnglatCopied': 'Longitudine e latitudine copiate', 10 | 'latlngCopied': 'Latitudine e longitudine copiate' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | placeInfo: 'Detalhes do local', 4 | placeInsidePolygon: 'Local dentro do polígono', 5 | polygonArea: 'Área do polígono', 6 | copyLnglat: 'Copiar lng, lat', 7 | copyLatlng: 'Copiar lat, lng', 8 | directionsToClickedPoint: 'Rota para o local clicado', 9 | lnglatCopied: 'Longitude e latitude copiadas', 10 | latlngCopied: 'Latitude e longitude copiadas' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/i18n/map-left-click.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapLeftClick: { 3 | placeInfo: 'Informații despre locație', 4 | polygonArea: 'Suprafața poligonului', 5 | copyLnglat: 'Copiați lng, lat', 6 | copyLatlng: 'Copiați lat, lng', 7 | directionsToClickedPoint: 'Direcții de acces la locul indicat', 8 | latlngCopied: 'Longitudine și latitudine copiate', 9 | placeInsidePolygon: 'Așezați în interiorul poligonului', 10 | lnglatCopied: 'Longitudine și latitudine copiate', 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-left-click/map-left-click.css: -------------------------------------------------------------------------------- 1 | .right-context-menu { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | z-index: 4 !important; 6 | } 7 | .right-click-btn { 8 | text-transform: none !important; 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | options: 'Možnosti', 4 | addDestinationToRoute: 'Přidat jako cíl', 5 | directionsFromHere: 'Instrukce odtud', 6 | directionsToHere: 'Instrukce sem', 7 | nonStopDirectionsToHere: 'Přímo sem', 8 | addRouteStop: 'Sem přidat zastávku', 9 | centerHere: 'Vystředit zde', 10 | addAsIsochroneCenter: 'Přidat jako střed dosahu', 11 | inspectDataOnOSM: 'Prohlédnout data na OSM' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | options: 'Aktionen', 4 | addDestinationToRoute: 'Als Ziel hinzufügen', 5 | directionsFromHere: 'Route von hier', 6 | directionsToHere: 'Route hierher', 7 | nonStopDirectionsToHere: 'Route verwerfen und hierher', 8 | addRouteStop: 'Als Wegpunkt hinzufügen', 9 | centerHere: 'Als Kartenmittelpunkt verwenden', 10 | addAsIsochroneCenter: 'Als Reichweitenzentrum verwenden', 11 | inspectDataOnOSM: 'Daten in OSM anzeigen' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | options: 'Options', 4 | addDestinationToRoute: 'Append as destination', 5 | directionsFromHere: 'Directions from here', 6 | directionsToHere: 'Directions to here', 7 | nonStopDirectionsToHere: 'Direct to here', 8 | addRouteStop: 'Add stop here', 9 | centerHere: 'Center here', 10 | addAsIsochroneCenter: 'Add as reach center', 11 | inspectDataOnOSM: 'Inspect data on OSM' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | 'options': 'Opciones', 4 | 'addDestinationToRoute': 'Añadir como destino', 5 | 'directionsFromHere': 'Direcciones desde aquí', 6 | 'directionsToHere': 'Direcciones hasta aquí', 7 | 'nonStopDirectionsToHere': 'Direto para aquí', 8 | 'addRouteStop': 'Añadir parada aquí', 9 | 'centerHere': 'Centralizar aquí', 10 | 'addAsIsochroneCenter': 'Añadir como el centro de la isócrona', 11 | 'inspectDataOnOSM': 'Ver datos en OSM' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'mapRightClick': { 3 | 'options': 'Options', 4 | 'addDestinationToRoute': 'Ajouter comme destination', 5 | 'directionsFromHere': 'Itinéraire d\'ici', 6 | 'directionsToHere': 'Itinéraire vers ici', 7 | 'nonStopDirectionsToHere': 'Direct vers ici', 8 | 'addRouteStop': 'Ajouter un arrêt ici', 9 | 'centerHere': 'Centrez ici', 10 | 'addAsIsochroneCenter': 'Ajouter centre de portée', 11 | 'inspectDataOnOSM': 'Voir les données sur OSM' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | 'options': 'Beállítások', 4 | 'addDestinationToRoute': 'Hozzáadás további úticélként', 5 | 'directionsFromHere': 'Hozzáadás kiindulási pontként', 6 | 'directionsToHere': 'Hozzáadás úticélként', 7 | 'nonStopDirectionsToHere': 'Hozzáadás közvetlen úticélként', 8 | 'addRouteStop': 'Hozzáadás megállóként', 9 | 'centerHere': 'Legyen itt a középpont', 10 | 'addAsIsochroneCenter': 'Hozzáadás elérhetőségi középpontként', 11 | 'inspectDataOnOSM': 'Adatok megtekintése az OSM-en' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | 'options': 'Opzioni', 4 | 'addDestinationToRoute': 'Aggiungi come destinazione', 5 | 'directionsFromHere': 'Direzioni da qui', 6 | 'directionsToHere': 'Direzioni fino a qui', 7 | 'nonStopDirectionsToHere': 'Navigazione diretta fino a qui', 8 | 'addRouteStop': 'Aggiungi uno stop qui', 9 | 'centerHere': 'Centra qui', 10 | 'addAsIsochroneCenter': 'Aggiungi come centro dell\'isocrona', 11 | 'inspectDataOnOSM': 'Visualizza i dati in OSM' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | options: 'Opções', 4 | addDestinationToRoute: 'Adicionar como destino', 5 | directionsFromHere: 'Direções daqui', 6 | directionsToHere: 'Direções para aqui', 7 | nonStopDirectionsToHere: 'Direto para aqui', 8 | addRouteStop: 'Adicionar parada aqui', 9 | centerHere: 'Centralizar aqui', 10 | addAsIsochroneCenter: 'Adic. como centro de isócrono', 11 | inspectDataOnOSM: 'Ver dados no OSM' 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/i18n/map-right-click.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mapRightClick: { 3 | options: 'Opțiuni', 4 | addDestinationToRoute: 'Adăugați ca destinație', 5 | directionsToHere: 'Direcții spre aici', 6 | nonStopDirectionsToHere: 'Direct aici', 7 | addRouteStop: 'Adăugați stop aici', 8 | centerHere: 'Centrul aici', 9 | addAsIsochroneCenter: 'Adăugați ca centru de acces', 10 | inspectDataOnOSM: 'Inspectați datele pe OSM', 11 | directionsFromHere: 'Direcții de aici', 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/map-right-click/map-right-click.css: -------------------------------------------------------------------------------- 1 | .right-context-menu { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | z-index: 4 !important; 6 | } 7 | .right-click-btn { 8 | text-transform: none !important; 9 | padding-right: 0; 10 | text-align:left; 11 | } 12 | 13 | .right-click-btn >>> .v-btn__content { 14 | padding-left:0; 15 | display:block; 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | stopShowingCurrentLocation: 'Kliknutím zastavíte zobrazování aktuální polohy', 4 | showCurrentLocation: 'Kliknutím zobrazíte svou aktuální polohu', 5 | yourCurrentLocation: 'Vaše aktuální poloha', 6 | continuously: 'Nepřetržitě', 7 | onlyOnce: 'Pouze jednou', 8 | continuouslyLocation: 'Obnovení pozice každé 2 sekundy', 9 | onlyOnceLocation: 'Získat pozici pouze jednou', 10 | myPositionToolTip: 'Aktivace polohy pro zobrazení vaší polohy a snadnější vyhledávání míst v okolí' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | stopShowingCurrentLocation: 'Klicken Sie, um die Anzeige Ihres Standorts zu beenden.', 4 | showCurrentLocation: 'Klicken Sie, um Ihren aktuellen Standort anzuzeigen', 5 | yourCurrentLocation: 'Ihr aktueller Standort', 6 | continuously: 'Dauerhaft', 7 | onlyOnce: 'Nur einmal', 8 | continuouslyLocation: 'Standort alle 2 Sekunden abfragen', 9 | onlyOnceLocation: 'Standort nur jetzt bestimmen', 10 | myPositionToolTip: 'Aktivieren Sie Ihren Standort, um Ihre Position anzuzeigen und Orte in der Nähe leichter zu finden' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | stopShowingCurrentLocation: 'Click to stop showing your current location', 4 | showCurrentLocation: 'Click to show your current location', 5 | yourCurrentLocation: 'Your current location', 6 | continuously: 'Continuously', 7 | onlyOnce: 'Only once', 8 | continuouslyLocation: 'Refresh your position every 2 seconds', 9 | onlyOnceLocation: 'Acquire your position only once', 10 | myPositionToolTip: 'Activate location to show your position and find nearby places more easily' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | 'stopShowingCurrentLocation': 'Haz clic para dejar de mostrar tu ubicación actual', 4 | 'showCurrentLocation': 'Haga clic para mostrar su ubicación actual', 5 | 'yourCurrentLocation': 'Su ubicación actual', 6 | 'continuously': 'Continuamente', 7 | 'onlyOnce': 'Sólo una vez', 8 | 'continuouslyLocation': 'Actualiza su posición cada 2 segundos', 9 | 'onlyOnceLocation': 'Acceda a su posición sólo una vez', 10 | 'myPositionToolTip': 'Activa la localización para mostrar su posición y encontrar lugares cercanos más fácilmente' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'myLocation': { 3 | 'stopShowingCurrentLocation': 'Cliquez pour arrêter d\'afficher votre position actuelle', 4 | 'showCurrentLocation': 'Cliquez pour afficher votre position actuelle', 5 | 'yourCurrentLocation': 'Votre location actuelle', 6 | 'continuously': 'En continu', 7 | 'onlyOnce': 'Une fois', 8 | 'continuouslyLocation': 'Actualisez votre position toutes les 2 secondes', 9 | 'onlyOnceLocation': 'Acquérez votre position une seule fois', 10 | 'myPositionToolTip': 'Activez la localisation pour afficher votre position et trouver plus facilement des lieux à proximité' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | 'stopShowingCurrentLocation': 'Kattintson az aktuális tartózkodási hely megjelenítésének leállításához', 4 | 'showCurrentLocation': 'Kattintson az aktuális tartózkodási helyének megjelenítéséhez', 5 | 'yourCurrentLocation': 'Az ön jelenlegi tartózkodási helye', 6 | 'continuously': 'Folyamatosan', 7 | 'onlyOnce': 'Csak egyszer', 8 | 'continuouslyLocation': 'Tartózkodási helyének frissítése 2 másodpercenként', 9 | 'onlyOnceLocation': 'Csak egyszer szerezze be a tartózkodási helyének pozícióját', 10 | 'myPositionToolTip': 'Aktiválja a tartózkodási helyét, hogy a térképen megjelenjék pozíciója, és könnyebben megtaláljon közeli helyeket' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | 'stopShowingCurrentLocation': 'Clicca per non mostrare più la mia posizione attuale', 4 | 'showCurrentLocation': 'Clicca per mostrare la mia posizione attuale', 5 | 'yourCurrentLocation': 'La mia posizione attuale', 6 | 'continuously': 'Continuamente', 7 | 'onlyOnce': 'Solo una volta', 8 | 'continuouslyLocation': 'Aggiorna la mia posizione ogni 2 secondi', 9 | 'onlyOnceLocation': 'Acquisisci la mia posizione solo una volta', 10 | 'myPositionToolTip': 'Attiva la geolocalizzazione per mostrare la tua posizione e trovare più facilmente luoghi vicini' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | stopShowingCurrentLocation: 'Clique para parar de mostrar sua localização atual', 4 | showCurrentLocation: 'Clique para mostrar sua localização atual', 5 | yourCurrentLocation: 'Sua localização atual', 6 | continuously: 'Continuamente', 7 | onlyOnce: 'Somente uma vez', 8 | continuouslyLocation: 'Atualiza a sua posição a cada 2 segundos', 9 | onlyOnceLocation: 'Acessar sua posição apenas uma vez', 10 | myPositionToolTip: 'Ative a localização para mostrar sua posição e encontrar lugares próximos mais facilmente' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/i18n/my-location.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | myLocation: { 3 | myPositionToolTip: 'Activați locația pentru a vă afișa poziția și pentru a găsi mai ușor locurile din apropiere', 4 | onlyOnce: 'O singură dată', 5 | continuouslyLocation: 'Actualizați-vă poziția la fiecare 2 secunde', 6 | showCurrentLocation: 'Faceți clic pentru a afișa locația dumneavoastră curentă', 7 | yourCurrentLocation: 'Locația dumneavoastră actuală', 8 | continuously: 'Continuu', 9 | onlyOnceLocation: 'Dobândește-ți poziția o singură dată', 10 | stopShowingCurrentLocation: 'Faceți clic pentru a nu mai afișa locația dumneavoastră curentă', 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/my-location/my-location.css: -------------------------------------------------------------------------------- 1 | .my-location-title { 2 | height: 40px; 3 | } 4 | 5 | .v-menu__content { 6 | box-shadow: none; 7 | margin-top: -10px; 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/OrsLPolyline.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | orsLPolyline: { 3 | type: 'Typ', 4 | surface: 'Povrch', 5 | unknownSurfaceType: 'Neznámý' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | orsLPolyline: { 3 | type: 'Typ', 4 | surface: 'Oberfläche', 5 | unknownSurfaceType: 'Unbekannt' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | orsLPolyline: { 4 | type: 'Type', 5 | surface: 'Surface', 6 | unknownSurfaceType: 'Unknown' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | orsLPolyline: { 4 | 'type': 'Tipo', 5 | 'surface': 'Superficie', 6 | 'unknownSurfaceType': 'Desconocido' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'orsLPolyline': { 4 | 'type': 'Type', 5 | 'surface': 'Surface', 6 | 'unknownSurfaceType': 'Inconnue' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | orsLPolyline: { 4 | 'type': 'Típus', 5 | 'surface': 'Felszín', 6 | 'unknownSurfaceType': 'Ismeretlen' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | orsLPolyline: { 3 | 'type': 'Tipo', 4 | 'surface': 'Superficie', 5 | 'unknownSurfaceType': 'Sconosciuto' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | orsLPolyline: { 4 | type: 'Tipo', 5 | surface: 'Superfície', 6 | unknownSurfaceType: 'Desconhecido' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/i18n/ors-l-polyline.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | orsLPolyline: { 3 | type: 'Tip', 4 | surface: 'Suprafața', 5 | unknownSurfaceType: 'Necunoscut', 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/map-view/components/ors-l-polyline/ors-l-polyline.css: -------------------------------------------------------------------------------- 1 | 2 | .ors-l-polyline-info-wrapper { 3 | background: transparent; 4 | height: 130px; 5 | width: 220px; 6 | margin-top: -100px; 7 | margin-left: 12px; 8 | } 9 | 10 | .ors-l-polyline-vertical-bar { 11 | background-color: black; 12 | width: 2px; 13 | height: 130px; 14 | float: left; 15 | } 16 | .ors-l-polyline-content-block { 17 | width: 178px; float: left; 18 | background:transparent; 19 | opacity: 0.8; 20 | } 21 | 22 | .ors-l-polyline-top-block-info { 23 | width: 178px; height: 85px; background:white; padding-left: 5px; 24 | -webkit-box-shadow: 0 4px 5px 0 rgba(130,117,130,1); 25 | -moz-box-shadow: 0 4px 5px 0 rgba(130,117,130,1); 26 | box-shadow: 0 4px 5px 0 rgba(130,117,130,1); 27 | font-size: 12px; 28 | word-break: break-all; 29 | opacity: 1; 30 | } 31 | 32 | .ors-l-polyline-bottom-block-info { 33 | width: 148px; 34 | height: 45px; 35 | background:transparent 36 | } 37 | -------------------------------------------------------------------------------- /src/fragments/map-view/map-view-draw.css: -------------------------------------------------------------------------------- 1 | 2 | .leaflet-draw-actions li a { 3 | background: gray !important; 4 | color: white; 5 | } 6 | 7 | .leaflet-draw-custom-actions { 8 | margin-right: 10px; 9 | color: black !important 10 | } 11 | -------------------------------------------------------------------------------- /src/fragments/map-view/map-view-measurer.css: -------------------------------------------------------------------------------- 1 | 2 | .leaflet-control-measure-interaction a:hover { 3 | display: inline !important; 4 | } 5 | -------------------------------------------------------------------------------- /src/fragments/map-view/map-view-polyline-measurer.css: -------------------------------------------------------------------------------- 1 | 2 | a.polyline-measure-controlOnBgColor, a.polyline-measure-controlOnBgColor:hover { 3 | background: gray !important; 4 | } 5 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/PlacesCarousel.cy.js: -------------------------------------------------------------------------------- 1 | import PlacesCarousel from './PlacesCarousel.vue' 2 | import mockPlaces from 'fixtures/mockPlaces.json' 3 | import store from '@/store/store' 4 | import I18nBuilder from '@/i18n/i18n-builder' 5 | import constants from '@/resources/constants' 6 | import MapViewData from '@/models/map-view-data' 7 | 8 | const i18n = I18nBuilder.build() 9 | 10 | 11 | describe('', () => { 12 | it('renders', () => { 13 | cy.viewport(700, 300) 14 | cy.intercept('GET', `${constants.worldImageryTileProviderBaseUrl}/*/*/*`, {fixture: 'map-pin.jpg'}) 15 | cy.mount(PlacesCarousel, { 16 | propsData: { 17 | mapViewData: new MapViewData({places: mockPlaces}), activeIndex: 0 18 | }, i18n: i18n, store: store 19 | }) 20 | cy.get('.carousel .vue-horizontal-list') 21 | cy.get('.vhl-list .vhl-item').should('have.length', 3) 22 | cy.get('.item.active') 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placesCarousel: { 3 | layer: 'Vrstva', 4 | lat: 'Lat.', 5 | lon: 'Lon.', 6 | notAvailable: 'Nedostupné', 7 | placeDetails: 'Detaily místa', 8 | next: 'Další blok', 9 | prev: 'Předchozí blok', 10 | directionsTo: 'Instrukce k', 11 | distance: 'Vzdálenost', 12 | distanceFromLocationMarkedOnTheMap: 'Přibližná vzdálenost od místa vyznačeného na mapě', 13 | selectPlace: 'Vybrat' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placesCarousel: { 3 | layer: 'Ebene', 4 | lat: 'Breitengrad', 5 | lon: 'Längengrad', 6 | notAvailable: 'Nicht verfügbar', 7 | placeDetails: 'Details zum Ort', 8 | next: 'Nächste Seite', 9 | prev: 'Vorherige Seite', 10 | directionsTo: 'Route hierher', 11 | distance: 'Entfernung', 12 | distanceFromLocationMarkedOnTheMap: 'Ungefähre Entfernung vom auf der Karte markierten Ort', 13 | selectPlace: 'Auswählen' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placesCarousel: { 4 | layer: 'Layer', 5 | lat: 'Lat.', 6 | lon: 'Lon.', 7 | notAvailable: 'Not available', 8 | placeDetails: 'Place details', 9 | next: 'Next block', 10 | prev: 'Previous block', 11 | directionsTo: 'Directions to', 12 | distance: 'Distance', 13 | distanceFromLocationMarkedOnTheMap: 'Approximate distance from location marked on the map', 14 | selectPlace: 'Select' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placesCarousel: { 4 | 'layer': 'Capa', 5 | 'lat': 'Lat.', 6 | 'lon': 'Lon.', 7 | 'notAvailable': 'No disponible', 8 | 'placeDetails': 'Detalles del lugar', 9 | 'next': 'Próximo bloque', 10 | 'prev': 'Bloque anterior', 11 | 'directionsTo': 'Direcciones', 12 | 'distance': 'Distancia', 13 | 'distanceFromLocationMarkedOnTheMap': 'Distancia aproximada desde el lugar marcado en el mapa', 14 | 'selectPlace': 'Seleccionar' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'placesCarousel': { 4 | 'layer': 'Couche', 5 | 'lat': 'Lat.', 6 | 'lon': 'Long.', 7 | 'notAvailable': 'Pas disponible', 8 | 'placeDetails': 'Détails du lieu', 9 | 'next': 'Bloc suivant', 10 | 'prev': 'Bloc précédent', 11 | 'directionsTo': 'Itinéraire vers', 12 | 'distance': 'Distance', 13 | 'distanceFromLocationMarkedOnTheMap': 'Distance approximative de l\'emplacement indiqué sur la carte', 14 | 'selectPlace': 'Sélectionner' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placesCarousel: { 4 | 'layer': 'Réteg', 5 | 'lat': 'Szél.', 6 | 'lon': 'Hossz.', 7 | 'notAvailable': 'Nem elérhető', 8 | 'placeDetails': 'Hely adatai', 9 | 'next': 'Következő blokk', 10 | 'prev': 'Előző blokk', 11 | 'directionsTo': 'Útvonalak ide:', 12 | 'distance': 'Távolság', 13 | 'distanceFromLocationMarkedOnTheMap': 'Hozzávetőleges távolság a térképen jelölt helytől', 14 | 'selectPlace': 'Kiválasztás' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placesCarousel: { 3 | 'layer': 'Layer', 4 | 'lat': 'Lat.', 5 | 'lon': 'Long.', 6 | 'notAvailable': 'Non avviabile', 7 | 'placeDetails': 'Detagli del luogo', 8 | 'next': 'Prossima pagina', 9 | 'prev': 'Pagina precedente', 10 | 'directionsTo': 'Direzioni per', 11 | 'distance': 'Distanza', 12 | 'distanceFromLocationMarkedOnTheMap': 'Distanza approssimata dal luogo segnato', 13 | 'selectPlace': 'Seleziona' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | placesCarousel: { 4 | layer: 'Camada', 5 | lat: 'Lat.', 6 | lon: 'Lon.', 7 | notAvailable: 'Não disponível', 8 | placeDetails: 'Detalhes do local', 9 | next: 'Próximo bloco', 10 | prev: 'Bloco anterior', 11 | directionsTo: 'Direções', 12 | distance: 'Distância', 13 | distanceFromLocationMarkedOnTheMap: 'Distância aproximada do local marcado no mapa', 14 | selectPlace: 'Selecionar' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/fragments/places-carousel/i18n/places-carousel.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | placesCarousel: { 3 | layer: 'Stratul', 4 | lat: 'Lat.', 5 | lon: 'Lon.', 6 | placeDetails: 'Detalii privind locul', 7 | next: 'Următorul bloc', 8 | prev: 'Blocul anterior', 9 | directionsTo: 'Direcții către', 10 | distance: 'Distanță', 11 | notAvailable: 'Nu este disponibil', 12 | distanceFromLocationMarkedOnTheMap: 'Distanța aproximativă față de locația marcată pe hartă', 13 | selectPlace: 'Selectați', 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/floating-menu.css: -------------------------------------------------------------------------------- 1 | .info-menu.v-btn__content { 2 | padding: 0; 3 | } 4 | 5 | .info-menu .v-btn { 6 | min-width: 0; 7 | } 8 | 9 | .floating-item { 10 | text-transform: none; 11 | padding-left: 0 12 | } 13 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | openSettings: 'Nastavení', 4 | showAbout: 'Zobrazit obecné informace', 5 | about: 'O ORS', 6 | openrouteserviceAPI: 'Openrouteservice API', 7 | openrouteserviceForDisasters: 'Openrouteservice pro katastrofy', 8 | askOpenrouteservice: 'Ptejte se openrouteservice', 9 | settingsTooltip: 'Pokud chcete upravit nastavení aplikace a zobrazit další možnosti, klikněte zde.' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | openSettings: 'Einstellungen', 4 | showAbout: 'Allgemeine Informationen', 5 | about: 'Über ORS', 6 | openrouteserviceAPI: 'Openrouteservice API', 7 | openrouteserviceForDisasters: 'ORS für Katastrophenmanagement', 8 | askOpenrouteservice: 'Openrouteservice fragen', 9 | settingsTooltip: 'Klicken Sie hier, um Einstellungen und weitere Optionen anzupassen' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | openSettings: 'Settings', 4 | showAbout: 'Show general information', 5 | about: 'About ORS', 6 | openrouteserviceAPI: 'Openrouteservice API', 7 | openrouteserviceForDisasters: 'Openrouteservice for disasters', 8 | askOpenrouteservice: 'Ask openrouteservice', 9 | settingsTooltip: 'Click here if you want to adjust app settings and see other options' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | 'openSettings': 'Ajustes', 4 | 'showAbout': 'Mostrar información general', 5 | 'about': 'Acerca de ORS', 6 | 'openrouteserviceAPI': 'Openrouteservice API', 7 | 'openrouteserviceForDisasters': 'Openrouteservice para desastres', 8 | 'askOpenrouteservice': 'Ask openrouteservice', 9 | 'settingsTooltip': 'Haga clic aquí si desea ajustar la configuración de la aplicación y ver otras opciones' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | 'openSettings': 'Réglages', 4 | 'showAbout': 'Afficher les informations générales', 5 | 'about': 'À propos d\'ORS', 6 | 'openrouteserviceAPI': 'Openrouteservice API', 7 | 'openrouteserviceForDisasters': 'Openrouteservice pour les catastrophes', 8 | 'askOpenrouteservice': 'Ask openrouteservice', 9 | 'settingsTooltip': 'Cliquez ici si vous souhaitez ajuster les paramètres de l\'application et voir d\'autres options' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | 'openSettings': 'Beállítások', 4 | 'showAbout': 'Általános információk megjelenítése', 5 | 'about': 'Az ORS névjegye', 6 | 'openrouteserviceAPI': 'Az Openrouteservice API', 7 | 'openrouteserviceForDisasters': 'Az Openrouteservice katasztrófahelyzetekben', 8 | 'askOpenrouteservice': 'Kérdezzen az Openrouteservice-től', 9 | 'settingsTooltip': 'Kattintson ide, ha szeretne módosítani az alkalmazás beállításain és megtekinteni más opciókat is' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | 'openSettings': 'Impostazioni', 4 | 'showAbout': 'Mostra informazioni generali', 5 | 'about': 'Chi siamo', 6 | 'openrouteserviceAPI': 'Openrouteservice API', 7 | 'openrouteserviceForDisasters': 'Openrouteservice per catastrofi', 8 | 'askOpenrouteservice': 'Chiedi a openrouteservice', 9 | 'settingsTooltip': 'Clicca qui se vuoi cambiare le impostazioni dell\'applicazione o vedere altre opzioni' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | openSettings: 'Configurações', 4 | showAbout: 'Mostrar informações gerais', 5 | about: 'Sobre o ORS', 6 | openrouteserviceAPI: 'Openrouteservice API', 7 | openrouteserviceForDisasters: 'Openrouteservice para disastres', 8 | askOpenrouteservice: 'Ask openrouteservice', 9 | settingsTooltip: 'Clique aqui se quiser ajustar configurações da aplicação e ver outras opções' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/components/floating-menu/i18n/floating-menu.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | floatingTopMenu: { 3 | openSettings: 'Setări', 4 | about: 'Despre ORS', 5 | openrouteserviceAPI: 'Openrouteservice API', 6 | openrouteserviceForDisasters: 'Openrouteservice pentru dezastre', 7 | askOpenrouteservice: 'Întrebați Openrouteservice', 8 | showAbout: 'Afișați informații generale', 9 | settingsTooltip: 'Faceți clic aici dacă doriți să ajustați setările aplicației și să vedeți alte opțiuni', 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | openSettings: 'Otevřít nastavení', 4 | showAbout: 'Zobrazit obecné informace', 5 | about: 'O ORS', 6 | pinSidebar: 'Připnout boční panel', 7 | settingsTooltip: 'Pokud chcete upravit nastavení aplikace, klikněte sem' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | openSettings: 'Einstellungen öffnen', 4 | showAbout: 'Allgemeine Informationen', 5 | about: 'Über ORS', 6 | pinSidebar: 'Seitenleiste dauerhaft anzeigen', 7 | settingsTooltip: 'Klicken Sie hier, um Einstellungen anzzupassen' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | openSettings: 'Open settings', 4 | showAbout: 'Show general information', 5 | about: 'About ORS', 6 | pinSidebar: 'Pin sidebar', 7 | settingsTooltip: 'Click here if you want to adjust app settings' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | 'openSettings': 'Abrir la configuración', 4 | 'showAbout': 'Mostrar información general', 5 | 'about': 'Acerca de ORS', 6 | 'pinSidebar': 'Fijar la barra lateral', 7 | 'settingsTooltip': 'Haga clic aquí si desea ajustar la configuración de la aplicación' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'topMenu': { 3 | 'openSettings': 'Ouvrir les paramètres', 4 | 'showAbout': 'Afficher les informations générales', 5 | 'about': 'À propos d\'ORS', 6 | 'pinSidebar': 'Épingler barre latérale', 7 | 'settingsTooltip': 'Cliquez ici si vous souhaitez ajuster les paramètres de l\'application' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | 'openSettings': 'Beállítások megnyitása', 4 | 'showAbout': 'Általános információk', 5 | 'about': 'Az ORS névjegye', 6 | 'pinSidebar': 'Oldalsáv rögzítése', 7 | 'settingsTooltip': 'Kattintson ide, ha szeretné módosítani az alkalmazás beállításait' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | 'openSettings': 'Apri impostazioni', 4 | 'showAbout': 'Mostra informazioni generali', 5 | 'about': 'Chi siamo', 6 | 'pinSidebar': 'Barra laterale di default', 7 | 'settingsTooltip': 'Clicca qui se vuoi cambiare le impostazioni dell\'applicazione' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | openSettings: 'Abrir configurações', 4 | showAbout: 'Exibir informações gerais', 5 | about: 'Sobre o ORS', 6 | pinSidebar: 'Fixar barra lateral', 7 | settingsTooltip: 'Clique aqui se quiser ajustar configurações da aplicação' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/i18n/top-menu.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | topMenu: { 3 | openSettings: 'Deschideți setările', 4 | showAbout: 'Afișați informații generale', 5 | about: 'Despre ORS', 6 | pinSidebar: 'Bara laterală Pin', 7 | settingsTooltip: 'Faceți clic aici dacă doriți să ajustați setările aplicației', 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/fragments/sidebar/components/top-menu/top-menu.css: -------------------------------------------------------------------------------- 1 | .no-padding { 2 | padding: 0; 3 | } 4 | 5 | .top-menu.v-btn__content { 6 | padding: 0; 7 | } 8 | 9 | .top-menu .v-btn { 10 | min-width: 0; 11 | } 12 | 13 | .low-res-menu.v-btn__content { 14 | padding: 0; 15 | } 16 | 17 | .low-res-menu .v-btn { 18 | min-width: 0; 19 | } 20 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | switchSide: 'Přepnout strany', 4 | showSidebar: 'Zobrazit boční panel', 5 | hideSidebar: 'Skrýt boční panel' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | switchSide: 'Seite wechseln', 4 | showSidebar: 'Seitenleiste anzeigen', 5 | hideSidebar: 'Seitenleiste ausblenden' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | switchSide: 'Switch side', 4 | showSidebar: 'Show sidebar', 5 | hideSidebar: 'Hide sidebar' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | 'switchSide': 'Cambiar lado', 4 | 'showSidebar': 'Mostrar la barra lateral', 5 | 'hideSidebar': 'Ocultar la barra lateral' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'sidebar': { 3 | 'switchSide': 'Changer de côté', 4 | 'showSidebar': 'Afficher la barre latérale', 5 | 'hideSidebar': 'Masquer la barre latérale' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | 'switchSide': 'Oldal váltása', 4 | 'showSidebar': 'Oldalsáv megjelenítése', 5 | 'hideSidebar': 'Oldalsáv elrejtése' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | 'switchSide': 'Cambia lato', 4 | 'showSidebar': 'Mostra barra laterale', 5 | 'hideSidebar': 'Nascondi barra laterale' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | switchSide: 'Alternar lado', 4 | showSidebar: 'Exibir barra lateral', 5 | hideSidebar: 'Ocultar barra lateral' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/sidebar/i18n/sidebar.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sidebar: { 3 | showSidebar: 'Afișați bara laterală', 4 | hideSidebar: 'Ascundeți bara laterală', 5 | switchSide: 'Partea de comutare', 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/fragments/toaster/Toaster.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/fragments/v-menu/v-menu.js: -------------------------------------------------------------------------------- 1 | import * as menuMixin from '@/common/menu-mixin' 2 | 3 | export default { 4 | props: { 5 | item: 6 | { 7 | type: Object, 8 | required: true 9 | }, 10 | showIcon: { 11 | type: Boolean, 12 | required: false, 13 | default: false 14 | }, 15 | showMenuItemFn: { 16 | type: Function, 17 | required: false 18 | }, 19 | navigateFn: { 20 | type: Function, 21 | required: false 22 | }, 23 | itemClass: { 24 | type: String, 25 | required: false 26 | } 27 | }, 28 | methods: { 29 | ...menuMixin, 30 | nav (to) { 31 | if (this.navigateFn) { 32 | this.navigateFn(to) 33 | } else { 34 | this.navigate(to) 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/fragments/wrapper/wrapper-tag.js: -------------------------------------------------------------------------------- 1 | const wrapperTag = { 2 | render (createElement) { 3 | return createElement( 4 | this.tag, // tag name 5 | this.$slots.default // array of children 6 | ) 7 | }, 8 | props: { 9 | tag: { 10 | type: String, 11 | required: true 12 | } 13 | } 14 | } 15 | export default wrapperTag 16 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import AppLoader from '@/app-loader' 2 | import AppRootComponent from '@/App' 3 | import {EventBus} from '@/common/event-bus' 4 | 5 | 6 | const main = { 7 | // Store the vue instance singleton 8 | vueInstance: null 9 | } 10 | 11 | let appLoader = new AppLoader() 12 | 13 | appLoader.loadApp(AppRootComponent, '#app', '').then(vueInstance => { 14 | main.vueInstance = vueInstance 15 | main.vueInstance.appHooks.loadRegisteredHooks() 16 | EventBus.$emit('appLoaded') 17 | main.vueInstance.appHooks.run('appLoaded', main.vueInstance) 18 | }) 19 | 20 | 21 | export default main 22 | -------------------------------------------------------------------------------- /src/models/app-route-data.js: -------------------------------------------------------------------------------- 1 | import utils from '@/support/utils' 2 | /** 3 | * AppRouteData class 4 | */ 5 | class AppRouteData { 6 | /** 7 | * Constructor 8 | * @param {*} places 9 | * @param {*} options 10 | */ 11 | constructor (places = [], options = { fitBounds: true, search: false }) { 12 | this.places = places 13 | this.options = options 14 | } 15 | 16 | /** 17 | * Create a clone object 18 | * @returns {MapViewData} 19 | */ 20 | clone () { 21 | const clone = new AppRouteData() 22 | 23 | clone.options = utils.clone(this.options) 24 | 25 | for (const key in this.places) { 26 | clone.places.push(this.places[key].clone()) 27 | } 28 | return clone 29 | } 30 | } 31 | // export the AppRouteData class 32 | export default AppRouteData 33 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | maps: { 3 | pageTitle: 'ORS Mapy', 4 | Places: 'Místa', 5 | isochrones: 'Isochrony', 6 | placeNameRequired: 'Název místa vyžadován', 7 | altitude: 'Změny nadmořské výšky', 8 | settings: 'Nastavení', 9 | toggleAccessibleMode: 'Přepínání režimu přístupnosti', 10 | aboutTitle: 'O ORS', 11 | updateSearch: 'Prohledat tuto oblast', 12 | updateSearchAfterZoomOrCenterChange: 'Aktualizace vyhledávání po změně zvětšení nebo středu', 13 | pageNotFound: 'Stránka nebyla nalezena. Zkontrolujte, zda adresa URL není chybně vytvořena' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | maps: { 4 | pageTitle: 'ORS-Karten', 5 | Places: 'Orte', 6 | isochrones: 'Isochronen', 7 | placeNameRequired: 'Ortsangabe benötigt', 8 | altitude: 'Höhenänderung', 9 | settings: 'Einstellungen', 10 | toggleAccessibleMode: 'Barrierefreien Modus aktivieren/deaktivieren', 11 | aboutTitle: 'Über ORS', 12 | updateSearch: 'In diesem Bereich suchen', 13 | updateSearchAfterZoomOrCenterChange: 'Orts-Suche nach Kartenbewegung aktualisieren', 14 | pageNotFound: 'Seite nicht gefunden. Überprüfen Sie, ob die URL unvollständig oder falsch ist' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | maps: { 4 | pageTitle: 'ORS Maps', 5 | Places: 'Places', 6 | isochrones: 'Isochrones', 7 | placeNameRequired: 'Place name required', 8 | altitude: 'Altitude variation', 9 | settings: 'Settings', 10 | toggleAccessibleMode: 'Toggle accessible mode', 11 | aboutTitle: 'About ORS', 12 | updateSearch: 'Search this area', 13 | updateSearchAfterZoomOrCenterChange: 'Update search after zoom or center change', 14 | pageNotFound: 'Page not not found. Check if the URL is not malformed' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | maps: { 4 | 'pageTitle': 'ORS Maps', 5 | 'Places': 'Lugares', 6 | 'isochrones': 'Isócronas', 7 | 'placeNameRequired': 'Nombre del lugar solicitado', 8 | 'altitude': 'Variación de la altitud', 9 | 'settings': 'Opciones', 10 | 'toggleAccessibleMode': 'Activar/desactivar el modo de accesibilidad', 11 | 'about': 'Acerca de ORS', 12 | 'updateSearch': 'Buscar en esta zona', 13 | 'updateSearchAfterZoomOrCenterChange': 'Refrescar la búsqueda después de cambiar el centro', 14 | 'pageNotFound': 'Página no encontrada. Verifique que la URL no esté incompleta o sea incorrecta' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | 'maps': { 4 | 'pageTitle': 'ORS Maps', 5 | 'Places': 'Lieux', 6 | 'isochrones': 'Isochrones', 7 | 'placeNameRequired': 'Nom de lieu requis', 8 | 'altitude': 'Variation d\'altitude', 9 | 'settings': 'Réglages', 10 | 'toggleAccessibleMode': 'Basculer en mode accessible', 11 | 'aboutTitle': 'À propos d\'ORS', 12 | 'updateSearch': 'Rechercher dans cette zone', 13 | 'updateSearchAfterZoomOrCenterChange': 'Mettre à jour la recherche après un changement de zoom ou de centre', 14 | 'pageNotFound': 'Page non trouvée. Vérifiez que l\'URL n\'est pas incomplète ou incorrecte' 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | maps: { 4 | 'pageTitle': 'OpenRouteService térképek', 5 | 'Places': 'Helyek', 6 | 'isochrones': 'Izokron vonalak', 7 | 'placeNameRequired': 'Meg kell adni egy helynevet', 8 | 'altitude': 'Magasságváltozás', 9 | 'settings': 'Beállítások', 10 | 'toggleAccessibleMode': 'Kisegítő lehetőségek bekapcsolása', 11 | 'aboutTitle': 'Az OpenRouteService (ORS) névjegye', 12 | 'updateSearch': 'Keresés ezen a területen', 13 | 'updateSearchAfterZoomOrCenterChange': 'Keresés frissítése nagyítás vagy a középpont módosítása után', 14 | 'pageNotFound': 'Az oldal nem található. Ellenőrizze, hogy az URL nem hiányos vagy helytelen' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | maps: { 3 | 'pageTitle': 'ORS Maps', 4 | 'Places': 'Luoghi', 5 | 'isochrones': 'Isocrone', 6 | 'placeNameRequired': 'Nome del luogo richiesto', 7 | 'altitude': 'Variazioni dell\'altitudine', 8 | 'settings': 'Impostazioni', 9 | 'toggleAccessibleMode': 'Attiva/disattiva opzione d\'accessibilità', 10 | 'aboutTitle': 'Chi siamo', 11 | 'updateSearch': 'Cerca nelle vicinanze', 12 | 'updateSearchAfterZoomOrCenterChange': 'Aggiorna ricerca dopo zoom o cambio centro', 13 | 'pageNotFound': 'Pagina non trovata. Verifica che l\'URL non sia incompleto o errato' 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | maps: { 4 | pageTitle: 'ORS Maps', 5 | Places: 'Locais', 6 | isochrones: 'Isócronos', 7 | placeNameRequired: 'Nome do local requerido', 8 | altitude: 'Variação de altitude', 9 | settings: 'Opções', 10 | toggleAccessibleMode: 'Ativar/desativar o modo de acessibilidade', 11 | about: 'Sobre o ORS', 12 | updateSearch: 'Buscar nessa área', 13 | updateSearchAfterZoomOrCenterChange: 'Atualizar busca depois que o centro é alterado', 14 | pageNotFound: 'Página não encontrada. Verifique se a URL não está incompleta ou incorreta' 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/maps/i18n/maps.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | maps: { 3 | pageTitle: 'Hărți ORS', 4 | Places: 'Locuri', 5 | isochrones: 'Izocronii', 6 | placeNameRequired: 'Numele locului este necesar', 7 | altitude: 'Variația altitudinii', 8 | settings: 'Setări', 9 | toggleAccessibleMode: 'Comutați modul accesibil', 10 | aboutTitle: 'Despre ORS', 11 | updateSearch: 'Căutați în această zonă', 12 | updateSearchAfterZoomOrCenterChange: 'Actualizarea căutării după modificarea zoom-ului sau a centrului', 13 | pageNotFound: 'Pagina nu a fost găsită. Verificați dacă URL-ul nu este deformat', 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/pages/maps/maps.css: -------------------------------------------------------------------------------- 1 | 2 | .maps .places-nav { 3 | z-index: 5; 4 | padding-bottom: 5px !important; 5 | position: absolute !important; 6 | } 7 | 8 | .maps .refresh-search-btn { 9 | position: absolute; 10 | min-width: 170px; 11 | z-index: 5; 12 | } 13 | -------------------------------------------------------------------------------- /src/plugins/readme.md: -------------------------------------------------------------------------------- 1 | # Plugins folder 2 | 3 | Each plug-in must be contained in a folder created under the `src/plugins` folder. 4 | For example: src/plugin/my-awesome-plugin. No file should be directly put in the root of the `plugins` folder. 5 | 6 | Each plug-in must have a class and methods/functions that can be called on hooks defined in the hooks.js. 7 | Check the ExamplePlugin in `plugin-example/plugin-example.js` and `/src/config/hook-example.js` for more details. 8 | 9 | See the full plugins' documentation in [docs/plugins.md](../../docs/plugins.md) 10 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.cs-cz.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | units: { 4 | kilometers: 'kilometry', 5 | meters: 'metry', 6 | miles: 'míle' 7 | }, 8 | areUnits: { 9 | sqKms: 'km²', 10 | hectare: 'hektar', 11 | sqMeters: 'm²' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.de-de.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | units: { 4 | kilometers: 'Kilometer', 5 | meters: 'Meter', 6 | miles: 'Meilen' 7 | }, 8 | areUnits: { 9 | sqKms: 'km²', 10 | hectare: 'Hektar', 11 | sqMeters: 'm²' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.en-us.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | units: { 4 | kilometers: 'kilometers', 5 | meters: 'Meters', 6 | miles: 'Miles' 7 | }, 8 | areUnits: { 9 | sqKms: 'km²', 10 | hectare: 'Hectare', 11 | sqMeters: 'm²' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.es-es.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'units': { 3 | 'kilometers': 'Kilómetros', 4 | 'meters': 'Metros', 5 | 'miles': 'Millas' 6 | }, 7 | 'areUnits': { 8 | 'sqKms': 'km²', 9 | 'hectare': 'Hectárea', 10 | 'sqMeters': 'm²' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.fr-fr.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'options': { 3 | 'units': { 4 | 'kilometers': 'kilomètres', 5 | 'meters': 'mètres', 6 | 'miles': 'milles', 7 | }, 8 | 'areUnits': { 9 | 'sqKms': 'kilomètres carrés', 10 | 'hectare': 'hectares', 11 | 'sqMeters': 'mètres carrés' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.hu-hu.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | 'units': { 4 | 'kilometers': 'kilométer', 5 | 'meters': 'méter', 6 | 'miles': 'mérföld' 7 | }, 8 | 'areUnits': { 9 | 'sqKms': 'km²', 10 | 'hectare': 'hektár', 11 | 'sqMeters': 'm²' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.it-it.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | units: { 4 | kilometers: 'Chilometri', 5 | meters: 'Metri', 6 | miles: 'Miglia' 7 | }, 8 | areUnits: { 9 | sqKms: 'Chilometri quadrati', 10 | hectare: 'Ettaro', 11 | sqMeters: 'Metri quadrati' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.pt-br.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | units: { 4 | kilometers: 'Kilômetros', 5 | meters: 'Metros', 6 | miles: 'Milhas' 7 | }, 8 | areUnits: { 9 | sqKms: 'km²', 10 | hectare: 'Hectare', 11 | sqMeters: 'm²' 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/i18n/options.i18n.ro-ro.js: -------------------------------------------------------------------------------- 1 | export default { 2 | options: { 3 | units: { 4 | kilometers: 'kilometri', 5 | meters: 'metri', 6 | miles: 'mile', 7 | }, 8 | areUnits: { 9 | sqKms: 'km²', 10 | hectare: 'hectare', 11 | sqMeters: 'm²', 12 | }, 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/resources/lists/grades.js: -------------------------------------------------------------------------------- 1 | // List of route grades 2 | 3 | const grades = [ 4 | 'grade1', 5 | 'grade2', 6 | 'grade3', 7 | 'grade4', 8 | 'grade5' 9 | ] 10 | 11 | export default grades 12 | -------------------------------------------------------------------------------- /src/resources/lists/instruction-code-to-symbol.js: -------------------------------------------------------------------------------- 1 | // List of instruction code to html symbol based on characters listed on https://dev.w3.org/html5/html-author/charref 2 | const instructionCodeToSymbol = [ 3 | '↰', // Turn left [0] 4 | '↱', // Turn right [1] 5 | '↶', // Sharp left [2] 6 | '↷', // Sharp right [3] 7 | '↖', // Slight left [4] 8 | '↗', // Slight right [5] 9 | '↑', // Straight [6] 10 | '↻', // Enter roundabout [7] 11 | '↻', // Exit roundabout [8] 12 | '↶', // U-turn [9] 13 | '⇖', // Goal [10] 14 | '⇑', // Depart [11] 15 | '⇤', // Keep left [12] 16 | '⇥', // Keep right [13] 17 | ] 18 | 19 | export default instructionCodeToSymbol 20 | -------------------------------------------------------------------------------- /src/resources/lists/route-smoothness.js: -------------------------------------------------------------------------------- 1 | // List of route smoothness 2 | const routeSmoothness = [ 3 | 'impassable', 4 | 'very_horrible', 5 | 'horrible', 6 | 'very_bad', 7 | 'bad', 8 | 'intermediate', 9 | 'good', 10 | 'excellent' 11 | ] 12 | 13 | export default routeSmoothness 14 | -------------------------------------------------------------------------------- /src/resources/lists/surface-types.js: -------------------------------------------------------------------------------- 1 | // noinspection SpellCheckingInspection 2 | // List of surface types 3 | 4 | const surfaceTypes = [ 5 | 'paved', 6 | 'asphalt', 7 | 'concrete', 8 | 'concrete:lanes', 9 | 'paving_stones', 10 | 'sett', 11 | 'unhewn_cobblestone', 12 | 'cobblestone', 13 | 'metal', 14 | 'wood', 15 | 'unpaved', 16 | 'compacted', 17 | 'fine_gravel', 18 | 'gravel', 19 | 'pebblestone', 20 | 'ground', 21 | 'grass' 22 | ] 23 | 24 | export default surfaceTypes 25 | -------------------------------------------------------------------------------- /src/support/__tests__/utils.cy.js: -------------------------------------------------------------------------------- 1 | import Utils from '../utils' 2 | 3 | describe('Utils rgbDecimalToHex', () => { 4 | it('should return normal hex colors', (done) => { 5 | let res_black = Utils.rgbDecimalToHex(0,0,0) 6 | expect(res_black).to.equal('#000000') 7 | let res_white = Utils.rgbDecimalToHex(255,255,255) 8 | expect(res_white).to.equal('#ffffff') 9 | done() 10 | }) 11 | }) 12 | 13 | describe('Utils decimalToHex', () => { 14 | it('should convert decimals to 2 digit hex values', (done) => { 15 | expect( Utils.decimalToHex(15)).to.equal('0f') 16 | expect( Utils.decimalToHex(0)).to.equal('00') 17 | expect( Utils.decimalToHex(16)).to.equal('10') 18 | expect( Utils.decimalToHex(255)).to.equal('ff') 19 | done() 20 | }) 21 | }) 22 | -------------------------------------------------------------------------------- /src/support/menu-service.js: -------------------------------------------------------------------------------- 1 | import {ModelService} from 'vue-rest-client' 2 | import appConfig from '@/config/app-config' 3 | import AppLoader from '@/app-loader' 4 | 5 | const options = { 6 | httpClientOptions: { 7 | baseURL: appConfig.dataServiceBaseUrl, // String, an empty string is the default, 8 | getVueInstance: () => { 9 | return AppLoader.getInstance() 10 | } 11 | }, 12 | pk: appConfig.appMenu.menuPrimaryKeyField, 13 | raw: true // we don't need each menu resource to be converted to a Model (@/core/model), because it is a read-only resource 14 | } 15 | const menuService = new ModelService(appConfig.appMenu.menuServiceEndpoint, 'menu', options) 16 | 17 | export default menuService 18 | -------------------------------------------------------------------------------- /src/support/nominatim-service.js: -------------------------------------------------------------------------------- 1 | import {ModelService} from 'vue-rest-client' 2 | import AppLoader from '@/app-loader' 3 | 4 | const options = { 5 | httpClientOptions: { 6 | baseURL: 'https://nominatim.openstreetmap.org', 7 | getVueInstance: () => { 8 | return AppLoader.getInstance() 9 | } 10 | }, 11 | pk: 'id', 12 | raw: true, 13 | transformResponse: (response) => { 14 | response.data = response.data || [] 15 | } 16 | } 17 | const adminPolygonService = new ModelService('search.php', 'menu', options) 18 | 19 | export default adminPolygonService 20 | -------------------------------------------------------------------------------- /src/support/pattern.js: -------------------------------------------------------------------------------- 1 | const pattern = { 2 | email: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, 3 | websiteUrl: /https?:\/\/(www\.)?[-a-zA-Z0-9@:%.+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/ 4 | } 5 | export default pattern 6 | -------------------------------------------------------------------------------- /src/support/routes-resolver.js: -------------------------------------------------------------------------------- 1 | import appConfig from '@/config/app-config' 2 | 3 | const resolver = { 4 | 5 | homeUrl: () => { 6 | const currentPath = location.pathname 7 | const baseUrl = appConfig.baseAppUrl 8 | 9 | // This solution covers the build of the home url 10 | // for local development url 11 | // and production sub folder url 12 | if (currentPath.indexOf(baseUrl) > -1) { 13 | return baseUrl 14 | } else { 15 | return currentPath 16 | } 17 | }, 18 | place: () => { 19 | return '/place/' 20 | }, 21 | directions: () => { 22 | return '/directions/' 23 | }, 24 | search: () => { 25 | return '/search/' 26 | }, 27 | isochronesPath: () => { 28 | return '/reach/' 29 | } 30 | } 31 | 32 | export default resolver 33 | --------------------------------------------------------------------------------