Code Monkey home page Code Monkey logo

calcite-maps's Introduction

NOTE: This project is depreciated and is not recommended for future development. It will be replaced with a newer version. Coming soon!

Calcite Maps

A theme for Bootstrap for designing, styling and creating modern map apps.

This project contains CSS classes that can be used with Bootstrap to quickly build responsive map apps with a great UI and UX. You can create a variety of custom apps with different themes, layouts and colors simply by applying the calcite-maps-xxx classes to existing Bootstrap HTML elements. A number of Bootstrap components have been extended making it easy to add, remove and synchronize navbar items, dropdown menus and panels. The framework is also designed to work well with mapping components (zoom, home, attribution...) and provides additional features such as collapsible panels and "Full Map" to hide the UI for full map viewing. The Sass build creates a calcite-maps-xxx.css library as well as a custom calcite-maps-bootstrap.css build of Bootstrap - which is optional to use. The framework is designed to work with the ArcGIS JS 3.x, 4.x and Esri-Leaflet API.

To get started, typically you: 1) Build a Bootstrap HTML page, 2) Add references to Bootstrap and Calcite Maps, and 3) Apply Calcite Maps classes to the elements to style the app with the layout and colors desired.

To see what types of apps you can build check out the live samples here.

calcite-maps.png

What's included

  • 14 different top and bottom layouts
  • Small (40px), medium (50px) and large (65px) navbar sizes
  • Dark and light color themes
  • Calcite colors
  • Extended navbar, dropdown menu and collapsible panels
  • Dropdown menu drawer option
  • Full map view
  • Custom Sass build for Bootstrap and Calcite Maps
  • Support for ArcGIS JS 3.x, ArcGIS JS 4.x and Esri Leaflet
  • Dojo and jQuery support

NOTE: The framework is compatible with standard or custom builds of Bootstrap 3.x.

Getting started

Here's a few ways to get started:

  1. Explore the styles - Use the Style Explorer to explore the different colors, styles and layouts. When you find a design you like, inspect the HTML and apply the styles (CSS classes) to your app.

  2. Start with a sample - Create your own app from one of the samples. Typically you reference Bootstrap, Calcite Maps and the appropriate JS library. See example below.

  3. Create a local build - Fork and clone the repo to create a local build. The default build includes the Bootstrap components for the framework (scaffolding, navbar, panels...), but you can customize further by overriding variables, adding or removing style files, or adding/removing other Bootstrap components.

Run the commands below:

  • Run npm install (node_modules/bootstrap)
  • Run bower install (bower_components/dojo-bootstrap - optional, it's local)
  • Run grunt (build out project to ./dist/**)

NOTE: To start customizing, check out the gruntfile.js, build.scss and _variables.scss files. You can also create a custom (smaller) build of bootstrap with build-calicte-maps-bootstrap.scss by adding/removing components.

Example

This example references Bootstrap, Calcite Maps, ArcGIS and the appropriate JS files. It has a top layout, with the default theme, a drop-down menu with a basemap panel. It also synchronizes the popup and Bootstrap panels. Here are the main calcite-maps classes used:

<body class="calcite-maps calcite-nav-top">

  <nav class="navbar calcite-navbar navbar-fixed-top calcite-text-light calcite-bg-dark">

    <div class="dropdown calcite-dropdown calcite-text-dark calcite-bg-light" role="presentation">
 

Try it live

calcite-maps-example.png

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
  <meta name="description" content="ArcGIS JS v4, Calcite Maps and Bootstrap Example">
 
  <title>ArcGIS JS v4, Calcite Maps and Bootstrap Example</title>

  <!-- Calcite Maps Bootstrap -->
  <link rel="stylesheet" href="https://esri.github.io/calcite-maps/dist/css/calcite-maps-bootstrap.min-v0.10.css">
  
  <!-- Calcite Maps -->
  <link rel="stylesheet" href="https://esri.github.io/calcite-maps/dist/css/calcite-maps-arcgis-4.x.min-v0.10.css">

  <!-- ArcGIS JS 4 -->
  <link rel="stylesheet" href="https://js.arcgis.com/4.10/esri/css/main.css">

  <style>
    html,
    body {
      margin: 0;
      padding: 0;
      height: 100%;
      width: 100%;
    }
  </style>

</head>

<body class="calcite-maps calcite-nav-top">
  <!-- Navbar -->

  <nav class="navbar calcite-navbar navbar-fixed-top calcite-text-light calcite-bg-dark">
    <!-- Menu -->
    <div class="dropdown calcite-dropdown calcite-text-dark calcite-bg-light" role="presentation">
      <a class="dropdown-toggle" role="menubutton" aria-haspopup="true" aria-expanded="false" tabindex="0">
        <div class="calcite-dropdown-toggle">
          <span class="sr-only">Toggle dropdown menu</span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </div>
      </a>
      <ul class="dropdown-menu" role="menu">
        <li><a role="menuitem" tabindex="0" data-target="#panelInfo" aria-haspopup="true"><span class="glyphicon glyphicon-info-sign"></span> About</a></li>
        <li><a role="menuitem" tabindex="0" href="#" data-target="#panelLegend" aria-haspopup="true"><span class="glyphicon glyphicon-list-alt"></span> Legend</a></li>
        <li><a role="menuitem" tabindex="0" href="#" id="calciteToggleNavbar" aria-haspopup="true"><span class="glyphicon glyphicon-fullscreen"></span> Full Map</a></li>
      </ul>
    </div>
    <!-- Title -->
    <div class="calcite-title calcite-overflow-hidden">
      <span class="calcite-title-main">Calcite Maps</span>
      <span class="calcite-title-divider hidden-xs"></span>
      <span class="calcite-title-sub hidden-xs">A Bootstrap theme for building modern map apps</span>
    </div>
    <!-- Nav -->
    <ul class="nav navbar-nav calcite-nav">
      <li>
        <div class="calcite-navbar-search calcite-search-expander">
          <div id="searchWidgetDiv"></div>
        </div>
      </li>
    </ul>
  </nav>

  <!--/.calcite-navbar -->

  <!-- Map  -->

  <div class="calcite-map calcite-map-absolute">
    <div id="mapViewDiv"></div>
  </div>

  <!-- /.calcite-map -->

  <!-- Panels -->

  <div class="calcite-panels calcite-panels-right calcite-text-light calcite-bg-dark panel-group">

    <!-- Panel - Basemaps -->

    <div id="panelInfo" class="panel collapse in">
      <div id="headingInfo" class="panel-heading" role="tab">
        <div class="panel-title">
          <a class="panel-toggle" role="button" data-toggle="collapse" href="#collapseInfo"  aria-expanded="true" aria-controls="collapseInfo"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span><span class="panel-label">About</span></a> 
          <a class="panel-close" role="button" data-toggle="collapse" tabindex="0" href="#panelInfo"><span class="esri-icon esri-icon-close" aria-hidden="true"></span></a>  
        </div>
      </div>
      <div id="collapseInfo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingInfo">
        <div class="panel-body">
          <p>This is my map app!</p>
        </div>
     </div>
    </div>

    <!-- Panel - Legend -->

    <div id="panelLegend" class="panel collapse">
      <div id="headingLegend" class="panel-heading" role="tab">
        <div class="panel-title">
          <a class="panel-toggle" role="button" data-toggle="collapse" href="#collapseLegend" aria-expanded="false" aria-controls="collapseLegend"><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span><span class="panel-label">Legend</span></a> 
          <a class="panel-close" role="button" data-toggle="collapse" tabindex="0" href="#panelLegend"><span class="esri-icon esri-icon-close" aria-hidden="true"></span></a> 
        </div>
      </div>
      <div id="collapseLegend" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingLegend">
        <div class="panel-body">            
          <div id="legendDiv"></div>
        </div>
      </div>
    </div>

  </div>

  <!-- /.calcite-panels -->

  <script type="text/javascript">
    var dojoConfig = {
      packages: [{
        name: "bootstrap",
        location: "https://esri.github.io/calcite-maps/dist/vendor/dojo-bootstrap"
      },
      {
        name: "calcite-maps",
        location: "https://esri.github.io/calcite-maps/dist/js/dojo"
      }]
    };
  </script>

  <!-- ArcGIS JS 4 -->
  <script src="https://js.arcgis.com/4.10/"></script>

  <script>
    
    require([
      // ArcGIS
      "esri/WebMap",
      "esri/views/MapView",

      // Widgets
      "esri/widgets/Home",
      "esri/widgets/Zoom",
      "esri/widgets/Compass",
      "esri/widgets/Search",
      "esri/widgets/Legend",
      "esri/widgets/BasemapToggle",
      "esri/widgets/ScaleBar",
      "esri/widgets/Attribution",

      // Bootstrap
      "bootstrap/Collapse",
      "bootstrap/Dropdown",

      // Calcite Maps
      "calcite-maps/calcitemaps-v0.10",
      // Calcite Maps ArcGIS Support
      "calcite-maps/calcitemaps-arcgis-support-v0.10",

      "dojo/domReady!"
    ], function(WebMap, MapView, Home, Zoom, Compass, Search, Legend, BasemapToggle, ScaleBar, Attribution,Collapse, Dropdown, CalciteMaps, CalciteMapArcGISSupport) {

      /******************************************************************
       *
       * Create the map, view and widgets
       * 
       ******************************************************************/

      // Map
      var map = new WebMap({
        portalItem: {
          id: "9f91f911f58540ceaac0300c55e18fbb"
        }
      });
      
      // View
      var mapView = new MapView({
        container: "mapViewDiv",
        map: map,
        padding: {
          top: 50,
          bottom: 0
        },
        ui: {components: []}
      });

      // Popup and panel sync
      mapView.when(function(){
        CalciteMapArcGISSupport.setPopupPanelSync(mapView);
      });

      // Search - add to navbar
      var searchWidget = new Search({
        container: "searchWidgetDiv",
        view: mapView
      });
      CalciteMapArcGISSupport.setSearchExpandEvents(searchWidget);

      // Map widgets
      var home = new Home({
        view: mapView
      });
      mapView.ui.add(home, "top-left");

      var zoom = new Zoom({
        view: mapView
      });
      mapView.ui.add(zoom, "top-left");

      var compass = new Compass({
        view: mapView
      });
      mapView.ui.add(compass, "top-left");
      
      var basemapToggle = new BasemapToggle({
        view: mapView,
        secondBasemap: "satellite"
      });
      mapView.ui.add(basemapToggle, "bottom-right");          
      
      var scaleBar = new ScaleBar({
        view: mapView
      });
      mapView.ui.add(scaleBar, "bottom-left");

      var attribution = new Attribution({
        view: mapView
      });
      mapView.ui.add(attribution, "manual");

      // Panel widgets - add legend
      var legendWidget = new Legend({
        container: "legendDiv",
        view: mapView
      });

    });
  </script>

</body>
</html>

More Examples

Layout 1: Navbar Top - Dark Text - Light Background (default - light theme)

<body class="calcite-nav-top">
  <nav class="calcite-navbar navbar navbar-fixed-top calcite-text-dark calcite-bg-light">

Layout 2: Navbar Top - Light Text - Dark Background (dark theme)

<body class="calcite-nav-top">
  <nav class="calcite-navbar navbar navbar-fixed-top calcite-text-light calcite-bg-dark">

Layout 3: Navbar Bottom - Margin - Light Text - Dark Blue 75% (custom theme)

<body class="calcite-nav-bottom calcite-nav-margin-bottom">
  <nav class="calcite-navbar navbar navbar-fixed-bottom calcite-text-light calcite-bg-custom calcite-bgcolor-blue-75">

Layout 4: Navbar Top - Inline Left Layout - Dark Text - White 75% (custom theme and layout)

<body class="calcite-nav-top calcite-layout-inline-left">
  <nav class="calcite-navbar navbar navbar-fixed-top calcite-text-dark calcite-white-75">

Documentation

Here's are the CSS classes you can apply to different elements to create your own custom map apps.

<body class="calcite-nav-top"/>

  • Layout
  • calcite-nav-top
  • calcite-nav-bottom
  • calcite-nav-margin-top
  • calcite-nav-margin-bottom
  • calcite-nav-margin-all
  • Custom Layouts
  • calcite-layout-medium-title
  • calcite-layout-large-title
  • calcite-layout-inline-right
  • calcite-layout-inline-left
  • Zoom (ArcGIS 3.x and Esri-Leaflet only)
  • calcite-zoom-top-left
  • calcite-zoom-top-right
  • calcite-zoom-bottom-left
  • calcite-zoom-bottom-right

<nav class="calcite-navbar"/>

  • Base
  • calcite-navbar
  • Theme
  • calcite-text-light
  • calcite-text-dark
  • calcite-bg-light
  • calcite-bg-dark
  • calcite-bg-custom
  • Background Color
  • calcite-bgcolor-xxx
  • Title
  • calcite-title
  • calcite-title-main
  • calcite-title-divider
  • calcite-title-sub
  • Search
  • calcite-navbar-search
  • calcite-search-expander

<div class="dropdown"/>

  • Base
  • calcite-dropdown
  • Theme
  • calcite-text-light
  • calcite-text-dark
  • calcite-bg-light
  • calcite-bg-dark
  • calcite-bg-custom

<div class="dropdown-menu"/>

  • Style
  • calcite-menu-drawer
  • Background Color
  • calcite-bgcolor-xxx

<div class="calcite-panels"/>

  • Base
  • calcite-panels
  • Position
  • calcite-panels-right
  • calcite-panels-left
  • Theme
  • calcite-text-light
  • calcite-text-dark
  • calcite-bg-light
  • calcite-bg-dark
  • calcite-bg-custom
  • Background Color
  • calcite-bgcolor-xxx

<div class="calcite-map"/>

  • Base
  • calcite-map
  • Position
  • calcite-map-absolute
  • calcite-map-fixed
  • Widget Themes (ArcGIS 4.x only)
  • calcite-widgets-dark

Utils

  • calcite-overflow-hidden
  • calcite-overflow-visible
  • calcite-btn-noborder
  • calcite-width-full
  • calcite-index-top

NOTE: See all colors here

Requirements

Resources

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue. Thank you!

Contributing

Anyone and everyone is welcome to contribute. Please see our guidelines for contributing.

Credits

Kevin Armstrong - dojo-bootstrap Bootstrap

Licensing

Copyright 2015 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's license.txt file.

[](Esri Tags: Web Mapping ArcGIS Leaflet CSS Sass Frameworks esri-leaflet Design Basemaps Bootstrap Calcite Calcite Maps JavaScript Grunt) [](Esri Language: CSS)

calcite-maps's People

Contributors

alaframboise avatar apatriz avatar bryant1410 avatar kant avatar kubaszostak avatar mgd722 avatar pmacmaps avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

calcite-maps's Issues

IE 10 Support

Navbar and collapsible panel display appear problematic for IE10.
Is IE10 support planned or even feasible? Suggestions would be greatly appreciated.
Thanks for this great project. It's been a real pleasure to work from the provided samples.

Measurement widget

Could you provide the code for the Measurement widget?
JS 4.x does not support this widget, but it should work in calcite-maps JS 3.x.
Thank you!

Street view toggle error

I am getting the following error when I try to load Street view widget.

StreetView.js:168 Uncaught TypeError: this.parentWidget.toggle is not a function
at Object.getStreetView (StreetView.js:168)
at Object. (init.js:63)
at Object. (init.js:645)
at Object.c [as onClick] (init.js:119)
at Object._fire (init.js:1279)
at Object._fireClickEvent (init.js:1285)
at init.js:63

Using with ol

Hi,
Is it possible to use these layouts for openlayers? Does it need any changes?and it it need can you please give me some hint about doing so?
thanks very much

Dropdown.js Fix

Sorry if this is wrong place to mention this but I ran into issue using Dojo Bootstrap (Dropdown.js) and noticed that the version in this repo has a fix:

Line 55
// Fix for not setting dropdown target
if (target.length < 1) {
target = [e.target.parentElement];
}

Should this not be submitted as a pull request to the Dojo Bootstrap project?

page load with Info Panel open?

I'm trying with jQuery but nothing I try will trigger it.

This is the best I can come up with.

$(document).ready(function() {
$('.dropdown-menu a[data-target="#panelInfo"]').trigger('click');
});

Leaflet sample search box needs tweaking for mobile

Issue 1: When using the Leaflet sample on mobile, if you select the Search option the search box ends up behind the pull-up menu in both portrait and landscape modes.

Expected Behavior 1: I expected the pull-up menu to close as soon as I chose the search option, and I expected the search box to be on top.

Issue 2: This is minor, but the 'esri' in the attribution text blurb is offset slightly negative in Safari. On Android + Chrome it seemed okay.

Expected Behavior 2: I expected all text of the attribution to be on the same line.

Screenshot below is iPhone 6s and Safari. Same behavior on Android 6 and Chrome.

image

Combine with ArcGIS Web AppBuilder

Hi Allan.
Great work. From my point of view it would make a lot of sense to combine/integrate Calcite with our Web AppBuilder. The builder has improved a lot but still lacks behind when it comes to advanced UI work.

Bootstrap-sass may be missing from package.json

Gruntfile.js in copy:bootstrapfonts references ./node_modules/bootstrap-sass, but there is no dependency for it in package.json, so if one installs dependencies using npm, copy:bootstrapfontstask will do nothing. That task works after adding
"bootstrap-sass": "^3.3.7",
to devDependencies in package.json.

I did not use Bower, so I don't know if bower would install it.

Application view stutter on resize event

I noticed when I drag a corner of the browser to resize the window, the entire app's content stutters. It's not a smooth larger => smaller or smaller => larger view size transition.

Reproduced in Chrome Desktop and Safari 10.

calcite-search-expander auto collapsing

When clicking to get focus or mousing over the calcite-search-expander with the esri search widget, I'm expecting the expansion to not shrink once the mouse leaves on mouseout. Looking at the source:

https://github.com/Esri/calcite-maps/blob/22aed6043cd7492c03a0271084d8f92e2c61e5cc/lib/sass/support/arcgis-4.x.scss#L290-L315

or
https://github.com/Esri/calcite-maps/blob/22aed6043cd7492c03a0271084d8f92e2c61e5cc/lib/sass/support/arcgis-4.x.scss#L366-L396

I'm not expecting this behavior to occur, but it still is.

Jquery Version throwing an error

After including the jquery version of the build for calcite maps, I am getting this error
panels.collapse is not a function

It is occurring on line 40
panels.collapse("hide");

Calcite Maps v.02 is here!

Please note that there are a number of breaking changes in this release mostly due to the requirements to support custom theming. Now you can theme the entire app with any color just by applying a few classes to nav, dropdown dropdown-menu and panel without having to recompile the Sass.

Please review the CHANGELOG for details.

Set location

Hi ,
First of all , Im new to this , so I might post this into the wrong place, feel free to delete/move or what ever there needs to be done (altrought I would apreciate if someone would tell me what I did wrong and how to fix it).
That aside, I find the Set location option limited, at least for my needs.
Im trying to use it as a way to find the location of an organisation.
Problem is that the start-up location cant be found with the search option.
(I dont know anything about the location data base so there might be a place where I can add the location I need, or a way to search coordonates).
Thank you for your time.

Loading template

Consider implementing a UI loading template or overlay pattern.

This will help manage user perception up to the point where map tiles finish loading. Most folks won't be able to implement top-of-the-line performance and caching measures.

During some rough performance testing at 3G speeds the esri-leaflet demo was taking ~4.5 seconds before all tiles finished loading. The dojo-starter was showing ~4.5 seconds before the first tile loads and in most cases over 10 seconds until the final tile loaded.

Widgets in 3.18

Hy @alaframboise ,

  1. I am trying to integrate the LayerList widget in the arcgis-3.x.html but it's not working as expected.
    Could you provide some support? My .html is available on JS Bin.

untitled-1

  1. Could you provide the Measurement widget in your arcgis-3.x.html?
    I am struggling with this one as well.

Thank you for your support,
Tim.

Bower

I would appreciate if calcite-maps would be available though bower.

Cheers!

I found issues with ArcGIS JS 3.17.

I used example 3.x, but I changed to ArcGIS JS 3.17 and I found issues with dojo-bootstrap [collapse.js, Support.js].

Console errors:

Support.js: 178 Uncaught TypeError: Cannot set property 'display' of undefined
Collapse.js: 148 Uncaught TypeError: Cannot read property 'call' of undefined

Any suggestion?

Thank you.

Able to use Calcite maps samples with JS 3.2 but lacking /esri/widgets for example

Hi! Big fan of the open source work to make it easier to theme modern maps. I'd love to use the Calcite theme but require ARCGIS JS 3.2 in order to load my own WMS layers. (I think that is the correct reading of the JS API documentation regarding WMS...) However I think I'm unable to use most of the widgets and other classes referenced by the Builder and in the Example in the README as 3.2 lacks those classes?

E.g. "esri/widgets/Search" doesn't exist at https://developers.arcgis.com/javascript/3/jsapi/. Any clarification and advice would be awesome and greatly appreciated!

How to set 2D vs 3D view nav and panes at startup

Seems like setting the default view should be easy.. but I cant figure it out.

setting app.activeView = app.mapView; or app.activeView = app.sceneView; doesn't work for me on any of the examples.

How do you change the default view between mapview and sceneview?

How to open app in Map View

Awesome app, thanks so much for creating and sharing this.

I'm struggling with how to open the app in Map View.

Taking the sandbox example, changing line 299 to app.activeView = app.mapView; has no effect - the app still opens in Scene View.

The code at line 392 (// Toggle map and scene) does correctly change the mode - is there an event which needs to fire before app.activeView = app.mapView will work?

Or is there another way to open the app in Map View?

Heads-up! Things are changing.

Hey folks, just a heads up that some serious changes are coming so that this framework is fully compatible with the final release of the ArcGIS JS API 4.x.

What's new?

  • Build System - fully customizable Sass build system integrated with Calcite-Bootstrap and Bootstrap
  • Install - npm and bower
  • Styler - interactively style apps

Export Styler settings

It would be super useful if:

  1. the Theme and Layout settings in the Settings widget could be exported as CSS for use in another app.

  2. all the settings could be saved locally and the read automatically on app restart.

ESRI Leaflet Demo Needs W3C Validation

Can the ESRI Leaflet demo HTML file be updated to pass W3C validation?

Whenever I paste the file into the validator, I get the following errors:

  1. Error: Element div is missing one or more of the following attributes: role.
    From line 75, column 4; to line 75, column 76
    se -->↩ <div id="mainNav" class="collapse navbar-collapse" aria-expanded="false">↩ <
    Attributes for element div:
    Global attributes
  2. Error: Attribute aria-lablledby not allowed on element ul at this point.
    From line 82, column 7; to line 82, column 63
    /a>↩ <ul class="dropdown-menu" aria-lablledby="optionsToggle">
    Attributes for element ul:
    Global attributes
  3. Error: No space between attributes.
    At line 90, column 32
    ="settingsMenu"class="" role="
  4. Error: The aria-controls attribute must point to an element in the same document.
    From line 58, column 5; to line 58, column 149
    der">↩ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mainNav" aria-expanded="false" aria-controls="navbar">
  5. Error: The aria-labelledby attribute must point to an element in the same document.
    From line 100, column 2; to line 100, column 101
    dow -->↩↩ <div class="modal fade" id="modalSplash" tabindex="-1" role="dialog" aria-labelledby="splashlModal">

Roll into AGOL?

Really great, modern approach. Are there any plans to roll this into AGOL/Portal, specifically the map viewer?

Styler Mixed Content Error

The styler app doesn't work (Chrome 52).

Mixed Content: The page at 'https://esri.github.io/calcite-maps/samples/styler/styler.html' was loaded over HTTPS, but requested an insecure stylesheet 'http://js.arcgis.com/4.0/esri/css/main.css'. This request has been blocked; the content must be served over HTTPS.

Mixed Content: The page at 'https://esri.github.io/calcite-maps/samples/styler/styler.html' was loaded over HTTPS, but requested an insecure script 'http://js.arcgis.com/4.0/'. This request has been blocked; the content must be served over HTTPS.

Should be a simple fix.

Switching to mobile behaviour at 768px

When using a calcite-maps app on my ipad, which device-width is 768px, the app behaves like on a mobile device (e.g. the panels are full screen). When i took a look on the calcite-maps.css-file, it seems, that switching to mobile behaviour happens, when the device-width is equal oder smaller than 768px

efor example:

@media ( min-width :769px) {
.visible-mobile-only {
display: none !important
}
}

In the calcite-maps.js on the other hand, there is a variable "isMobile", which is set to "true", if device-width is smaller than 768px.
It seems to me, that it is not exactly clear, what happens, when the device-with is exactly 768px. The treatment in css and javascript seems to be incosistent. In my opinion, in this case the app should use the non mobile behaviour, because i think it is for example not necessary that the panels open full screen on a tablet.

Can I add calcite-maps responsive to infoWindow(Pop-up)?

Hello,

Problem:
Map.infoWindow is not responsive.

I want to add responsive like calcite panels, I mean calcite panels are showing really good on different devices and orientation devices, Can I add the same functionality to map.infoWindow (Pop-up)?

Thank you.

Add CHANGELOG

Recommend using SEMVER and adding a CHANGELOG.md that formatted like http://keepachangelog.com/ (which is pretty standard).

This project would also be a great candidate for GitHub releases, which would make finding and downloading a particular version really easy.

Dock Popup

Hi Allan,

I am using popups and the Measurement widget in Calcite Maps 3.20.
This combination seems not to be working because every time you click to create a measurement the popup appears and covers your region of interest.

I guess the solution is to dock the popups but that is only available in Calcite Maps 4.x.
The Popup widget with dockEnabled:true is not available in JavaScript 3.x.

Still, your panels in Calcite Maps 3.20 are docked and also beautiful responsive.

Is there a way to make the popups behave like the panels in Calcite Maps 3.20 ?

Thank you,
Tim

Full Map change to Fullscreen

I know there is a true fullscreen plugin for leaflet. Would be great to have this as a built in option instead of just hiding the navbar.

Context PopupMenu freezes open when first clicked.

I originally opened an issue in the cmv-calcite repo regarding the popup menu in their layer control widget https://github.com/cmv/cmv-calcite-maps/issues/5 but have discovered that it is an issue with Calcite even on the Esri sample page.
To see, go to Esri sample https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=graphics_contextmenu , change the two stylesheet links:
<link rel="stylesheet" href= "https://js.arcgis.com/3.20/esri/themes/calcite/dijit/calcite.css"> <link rel="stylesheet" href="https://js.arcgis.com/3.20/esri/themes/calcite/esri/esri.css">

and the body class tag:
<body class="calcite" style="font-size: 0.75em;">

What happens is the first context menu that opens is not in focus, and thus clicking outside the popup menu does nothing. If you open a second menu by clicking a different graphic, then it gets focus and works as expected, or if you click in the first popup it will also get focus. In the cmv app, the behavior is similar when clicking on the menu icon in the layer control widget. It is worse in that app, in that the user could get frustrated since the popup menu will stay open until it gets focus, even if the widget is closed. Hopefully this is a relatively easy fix. Debugging it takes me into esri's menu.js, which is minified.

Dojox charting in popup

Hy @alaframboise ,

I applied the Calcite Maps theme on a ESRI tutorial for dojox charts.
The only structural change I did to the tutorial was to deactivate the infoWindow and use the popup:

        // Use the info window instead of the popup.
        // var infoWindow = new InfoWindow(null, domConstruct.create("div"));
        // infoWindow.startup();

        map = new Map("map", {
          basemap: "streets",
          center: [-113.405, 43.521],
         // infoWindow: infoWindow,
          zoom: 6
        });

       // map.infoWindow.resize(275, 275);

But the popup returns an error, it doesn't seem to be using it's full height:

c1

Is this a compatibility issue with Calcite Maps?
Can it be fixed?

My goal is to learn to integrate dojox charts in Calcite Maps.

Thank you,
Tim.

Attribute table?

Not an issue per se, but would love some guidance on how I might be able to incorporate an attribute table into this design framework. Using BorderContainers doesn't really seem to work - the map just takes up the entire page...

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.