Coder Social home page Coder Social logo

conterra / mapapps-vuetoc Goto Github PK

View Code? Open in Web Editor NEW
1.0 9.0 1.0 1.53 MB

The Vue TOC is a new widget that allows you to control the map content.

Home Page: https://demos.conterra.de/mapapps/resources/apps/downloads_vuetoc/index.html

License: Apache License 2.0

JavaScript 66.25% Vue 22.84% CSS 7.98% HTML 2.93%
4x mapapps deprecated

mapapps-vuetoc's Introduction

โš ๏ธ Beginning in version 4.7 map.apps contains a toc bundle in the core product. It is recommended to use the map.apps toc bundle instead of the VueTOC.

Vue TOC Bundle

The Vue TOC is a widget that allows you to control the map content.

Screenshot App

Sample App

https://demos.conterra.de/mapapps/resources/apps/downloads_vuetoc/index.html

Installation Guide

Requirement: map.apps 4.2.0

Simply add the bundle "dn_vuetoc" to your map.apps 4 app.

Configurable Components of dn_vuetoc:

Config:

"Config": {
    "showBasemaps": true,
    "showGroundOpacity": false,
    "showOperationalLayer": true,
    "showLoadingStatus": true,
    "showOperationalLayerHeaderMenu": true,
    "showLayerMenu": true,
    "showResetButton": true,
    "showCloseButton": true,
    "expandInitially": false,
    "visibleIconClass": "check_box",
    "invisibleIconClass": "check_box_outline_blank"
}

You need to configure the ground in you app to use the property showGroundOpacity. The ground opacity slider is only available in the 3D view.

"map": {
    "ground": {
        "url": "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer",
        "type": "ELEVATION"
        "opacity": 1
    },
    "layers": [...],
    ...
}
Properties
Property Type Possible Values Default Description
showBasemaps boolean true | false true Show basemaps
showGroundOpacity boolean true | false false Show ground opacity slider
showOperationalLayer boolean true | false true Show operational layers
showLoadingStatus boolean true | false true Show current loading status of layer
showOperationalLayerHeaderMenu boolean true | false true Show operational layer menu
showLayerMenu boolean true | false true Show layer menu
showResetButton boolean true | false true Show reset button
showCloseButton boolean true | false true Show close menu
expandInitially boolean true | false true Expands the tree
visibleIconClass String "check_box" Visible icon class
invisibleIconClass String "check_box_outline_blank" Invisible icon class
Icon class samples

Any material design icon class is possible: https://material.io/tools/icons/?icon=check_box_outline_blank&style=baseline

"Config": {
    "visibleIconClass": "visibility",
    "invisibleIconClass": "visibility_off"
}
"Config": {
    "visibleIconClass": "check",
    "invisibleIconClass": "close"
}
"Config": {
    "visibleIconClass": "check_box",
    "invisibleIconClass": "check_box_outline_blank"
}
"Config": {
    "visibleIconClass": "radio_button_checked",
    "invisibleIconClass": "radio_button_unchecked"
}
"Config": {
    "visibleIconClass": "thumb_up",
    "invisibleIconClass": "thumb_down"
}

Development Guide

Define the mapapps remote base

Before you can run the project you have to define the mapapps.remote.base property in the pom.xml-file: <mapapps.remote.base>http://%YOURSERVER%/ct-mapapps-webapp-%VERSION%</mapapps.remote.base>

Other methods to to define the mapapps.remote.base property.

  1. Goal parameters mvn install -Dmapapps.remote.base=http://%YOURSERVER%/ct-mapapps-webapp-%VERSION%

  2. Build properties Change the mapapps.remote.base in the build.properties file and run: mvn install -Denv=dev -Dlocal.configfile=%ABSOLUTEPATHTOPROJECTROOT%/build.properties

mapapps-vuetoc's People

Contributors

dpayk avatar julkuh avatar matthiasstein avatar mrmufflon avatar reneu avatar sarahlechler avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapapps-vuetoc's Issues

Scale dependent restriction are not shown initial

If I start an app and the layer is not visible in the initial scale, I get no feedback about that.
The user gets only a feedback about layers that are not shown in the current scale if the user move the map to a visible scale and move back to an invisible scale.

4 - VueTOC / clusterfeature-layer / appsoverview

Using a clusterfeature-layer ("ClusterFeatureLayer-bundle") in combination with VueTOC produces an issue with the appsoverview-bundle: Overview doesn't show any apps anymore
When another kind of toc (e.g. layerlist) is used the appsoverview isn't affected.

Zoom to Layer

would be a nice feature to be able to zoom to the extent of the layer (same as in scene viewer toc).

Actions are always visible

Each action is always visible for each layer and not only if the condition of the individual action is fulfilled.

GroupLayer hide-children

It would be nice if VueTOC would support the ArcGIS JS API property "listMode" for GroupLayers so you could hide a GroupLayer or its children in the toc.

sub-sublayer in VueTOC

It would be nice if the VueTOC could display more than two levels of layers so that you could use a "sub-sublayer" like:
grouplayer > sublayer > sub-sublayer

Error in config documentation

The readme file says to use

"dn_vuetoc": {
  "Config": {
    "showBasemaps": true,
    "showOperationalLayer": true,
    ....

but obviously another component name has to be used:

"dn_vuetoc": {
  "MapContentWidgetFactory": {
    "showBasemaps": true,
    ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.