Commit 63c0e6ba authored by Kevin Di Lallo's avatar Kevin Di Lallo
Browse files

new Map View in exec page

parent 220aa434
Loading
Loading
Loading
Loading
+212 −12
Original line number Diff line number Diff line
@@ -1136,6 +1136,76 @@
        "@types/yargs": "^13.0.0"
      }
    },
    "@mapbox/geojson-rewind": {
      "version": "0.5.0",
      "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.0.tgz",
      "integrity": "sha512-73l/qJQgj/T/zO1JXVfuVvvKDgikD/7D/rHAD28S9BG1OTstgmftrmqfCx4U+zQAmtsB6HcDA3a7ymdnJZAQgg==",
      "requires": {
        "concat-stream": "~2.0.0",
        "minimist": "^1.2.5"
      },
      "dependencies": {
        "concat-stream": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
          "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
          "requires": {
            "buffer-from": "^1.0.0",
            "inherits": "^2.0.3",
            "readable-stream": "^3.0.2",
            "typedarray": "^0.0.6"
          }
        },
        "minimist": {
          "version": "1.2.5",
          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
        }
      }
    },
    "@mapbox/geojson-types": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz",
      "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw=="
    },
    "@mapbox/jsonlint-lines-primitives": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
      "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ="
    },
    "@mapbox/mapbox-gl-supported": {
      "version": "1.5.0",
      "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz",
      "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg=="
    },
    "@mapbox/point-geometry": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz",
      "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI="
    },
    "@mapbox/tiny-sdf": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.1.1.tgz",
      "integrity": "sha512-Ihn1nZcGIswJ5XGbgFAvVumOgWpvIjBX9jiRlIl46uQG9vJOF51ViBYHF95rEZupuyQbEmhLaDPLQlU7fUTsBg=="
    },
    "@mapbox/unitbezier": {
      "version": "0.0.0",
      "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz",
      "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4="
    },
    "@mapbox/vector-tile": {
      "version": "1.3.1",
      "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz",
      "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==",
      "requires": {
        "@mapbox/point-geometry": "~0.1.0"
      }
    },
    "@mapbox/whoots-js": {
      "version": "3.1.0",
      "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz",
      "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q=="
    },
    "@material-ui/core": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.5.1.tgz",
@@ -4991,8 +5061,7 @@
    "buffer-from": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
      "dev": true
      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
    },
    "buffer-xor": {
      "version": "1.0.3",
@@ -5940,6 +6009,11 @@
      "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
      "dev": true
    },
    "csscolorparser": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz",
      "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs="
    },
    "cssesc": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
@@ -6663,6 +6737,11 @@
        }
      }
    },
    "earcut": {
      "version": "2.2.2",
      "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.2.tgz",
      "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ=="
    },
    "ecc-jsbn": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
@@ -8249,6 +8328,11 @@
        "globule": "^1.0.0"
      }
    },
    "geojson-vt": {
      "version": "3.2.1",
      "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz",
      "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg=="
    },
    "get-caller-file": {
      "version": "2.0.5",
      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -8291,6 +8375,11 @@
        "assert-plus": "^1.0.0"
      }
    },
    "gl-matrix": {
      "version": "3.3.0",
      "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz",
      "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA=="
    },
    "glob": {
      "version": "7.1.6",
      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -8419,6 +8508,11 @@
      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
      "dev": true
    },
    "grid-index": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz",
      "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA=="
    },
    "growly": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
@@ -8807,8 +8901,7 @@
    "ieee754": {
      "version": "1.1.13",
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
      "dev": true
      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
    },
    "iferr": {
      "version": "0.1.5",
@@ -10046,6 +10139,11 @@
        "css-vendor": "^0.3.8"
      }
    },
    "kdbush": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz",
      "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew=="
    },
    "keycharm": {
      "version": "0.2.0",
      "resolved": "https://registry.npmjs.org/keycharm/-/keycharm-0.2.0.tgz",
@@ -10173,6 +10271,11 @@
        "invert-kv": "^1.0.0"
      }
    },
    "leaflet": {
      "version": "1.6.0",
      "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.6.0.tgz",
      "integrity": "sha512-CPkhyqWUKZKFJ6K8umN5/D2wrJ2+/8UIpXppY7QDnUZW5bZL5+SEI2J7GBpwh4LIupOKqbNSQXgqmrEJopHVNQ=="
    },
    "left-pad": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
@@ -10420,6 +10523,48 @@
        "object-visit": "^1.0.0"
      }
    },
    "mapbox-gl": {
      "version": "1.10.1",
      "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.10.1.tgz",
      "integrity": "sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==",
      "requires": {
        "@mapbox/geojson-rewind": "^0.5.0",
        "@mapbox/geojson-types": "^1.0.2",
        "@mapbox/jsonlint-lines-primitives": "^2.0.2",
        "@mapbox/mapbox-gl-supported": "^1.5.0",
        "@mapbox/point-geometry": "^0.1.0",
        "@mapbox/tiny-sdf": "^1.1.1",
        "@mapbox/unitbezier": "^0.0.0",
        "@mapbox/vector-tile": "^1.3.1",
        "@mapbox/whoots-js": "^3.1.0",
        "csscolorparser": "~1.0.3",
        "earcut": "^2.2.2",
        "geojson-vt": "^3.2.1",
        "gl-matrix": "^3.2.1",
        "grid-index": "^1.1.0",
        "minimist": "^1.2.5",
        "murmurhash-js": "^1.0.0",
        "pbf": "^3.2.1",
        "potpack": "^1.0.1",
        "quickselect": "^2.0.0",
        "rw": "^1.3.3",
        "supercluster": "^7.0.0",
        "tinyqueue": "^2.0.3",
        "vt-pbf": "^3.1.1"
      },
      "dependencies": {
        "minimist": {
          "version": "1.2.5",
          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
        }
      }
    },
    "mapbox-gl-leaflet": {
      "version": "0.0.12",
      "resolved": "https://registry.npmjs.org/mapbox-gl-leaflet/-/mapbox-gl-leaflet-0.0.12.tgz",
      "integrity": "sha512-bfGl+CdAYc51ua8s9OOq5J0EcAnHuxS0OoQP5EWsVmSUGFvKkgOD+Od2sFmDOl+zBUjdBEvqLaf9t/tf2BtrWw=="
    },
    "material-components-web": {
      "version": "0.38.1",
      "resolved": "https://registry.npmjs.org/material-components-web/-/material-components-web-0.38.1.tgz",
@@ -10864,6 +11009,11 @@
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
    },
    "murmurhash-js": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz",
      "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E="
    },
    "mutation-observer": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz",
@@ -11765,6 +11915,15 @@
        "pify": "^3.0.0"
      }
    },
    "pbf": {
      "version": "3.2.1",
      "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz",
      "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==",
      "requires": {
        "ieee754": "^1.1.12",
        "resolve-protobuf-schema": "^2.1.0"
      }
    },
    "pbkdf2": {
      "version": "3.0.17",
      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
@@ -12306,6 +12465,11 @@
        "uniqs": "^2.0.0"
      }
    },
    "potpack": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz",
      "integrity": "sha512-15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw=="
    },
    "prelude-ls": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -12418,6 +12582,11 @@
        "hammerjs": "^2.0.8"
      }
    },
    "protocol-buffers-schema": {
      "version": "3.4.0",
      "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz",
      "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA=="
    },
    "prr": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -12529,6 +12698,11 @@
      "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
      "dev": true
    },
    "quickselect": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
      "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
    },
    "raf": {
      "version": "3.4.1",
      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
@@ -12816,7 +12990,6 @@
      "version": "3.4.0",
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
      "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
      "dev": true,
      "requires": {
        "inherits": "^2.0.3",
        "string_decoder": "^1.1.1",
@@ -13294,6 +13467,14 @@
        }
      }
    },
    "resolve-protobuf-schema": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
      "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==",
      "requires": {
        "protocol-buffers-schema": "^3.3.1"
      }
    },
    "resolve-url": {
      "version": "0.2.1",
      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -14858,7 +15039,6 @@
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
      "dev": true,
      "requires": {
        "safe-buffer": "~5.2.0"
      },
@@ -14866,8 +15046,7 @@
        "safe-buffer": {
          "version": "5.2.0",
          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
          "dev": true
          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
        }
      }
    },
@@ -14917,6 +15096,14 @@
        "schema-utils": "^0.4.5"
      }
    },
    "supercluster": {
      "version": "7.1.0",
      "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.0.tgz",
      "integrity": "sha512-LDasImUAFMhTqhK+cUXfy9C2KTUqJ3gucLjmNLNFmKWOnDUBxLFLH9oKuXOTCLveecmxh8fbk8kgh6Q0gsfe2w==",
      "requires": {
        "kdbush": "^3.0.0"
      }
    },
    "supports-color": {
      "version": "5.5.0",
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -15182,6 +15369,11 @@
        "setimmediate": "^1.0.4"
      }
    },
    "tinyqueue": {
      "version": "2.0.3",
      "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz",
      "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA=="
    },
    "tmpl": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
@@ -15355,8 +15547,7 @@
    "typedarray": {
      "version": "0.0.6",
      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
      "dev": true
      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
    },
    "ua-parser-js": {
      "version": "0.7.20",
@@ -15633,8 +15824,7 @@
    "util-deprecate": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
      "dev": true
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
    },
    "util.promisify": {
      "version": "1.0.0",
@@ -15715,6 +15905,16 @@
      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
      "dev": true
    },
    "vt-pbf": {
      "version": "3.1.1",
      "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.1.tgz",
      "integrity": "sha512-pHjWdrIoxurpmTcbfBWXaPwSmtPAHS105253P1qyEfSTV2HJddqjM+kIHquaT/L6lVJIk9ltTGc0IxR/G47hYA==",
      "requires": {
        "@mapbox/point-geometry": "0.1.0",
        "@mapbox/vector-tile": "^1.3.1",
        "pbf": "^3.0.5"
      }
    },
    "w3c-hr-time": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
+3 −0
Original line number Diff line number Diff line
@@ -46,7 +46,10 @@
    "d3-force": "^2.0.1",
    "d3-hierarchy": "^1.1.8",
    "jquery": "3.3.1",
    "leaflet": "1.6.0",
    "lodash": "^4.17.11",
    "mapbox-gl": "1.10.1",
    "mapbox-gl-leaflet": "0.0.12",
    "material-components-web": "0.38.1",
    "material-design-icons": "3.0.1",
    "prop-types": "15.6.2",
+16 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import { Checkbox } from '@rmwc/checkbox';
import * as d3 from 'd3';

import IDSelect from '../../components/helper-components/id-select';
import IDCMap from '../idc-map';
import IDCVis from '../idc-vis';
import Iframe from 'react-iframe';

@@ -39,6 +40,7 @@ import {
import {
  TYPE_EXEC,
  VIEW_NAME_NONE,
  MAP_VIEW,
  NET_TOPOLOGY_VIEW,
  DEFAULT_DASHBOARD_OPTIONS
} from '../../meep-constants';
@@ -137,6 +139,19 @@ const ViewForName = ({
  dashboardOptions
}) => {

  // Handle Map view
  if (viewName === MAP_VIEW) {
    return (
      <div style={{ height: '80vh' }}>
        <IDCMap
          width='100%'
          height='100%'
          onEditElement={() => { }}
        />
      </div>
    );
  }

  // Handle Network Topology view
  if (viewName === NET_TOPOLOGY_VIEW) {
    return (
@@ -326,6 +341,7 @@ class DashboardContainer extends Component {
    // Populate Dashboard view list using links from monitoring tab
    var dashboardViewsList = [
      VIEW_NAME_NONE,
      MAP_VIEW,
      NET_TOPOLOGY_VIEW
    ];
    this.populateDashboardList(dashboardViewsList, DEFAULT_DASHBOARD_OPTIONS);
+112 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2019  InterDigital Communications, Inc
 *
 * 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
 *
 *     http://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.
 */

import _ from 'lodash';
import { connect } from 'react-redux';
import React, { Component, createRef } from 'react';
import ReactDOM from 'react-dom';
import L from 'leaflet';
import 'mapbox-gl';
import 'mapbox-gl-leaflet';
import { updateObject } from '../util/object-util';
import {
  execChangeMap
} from '../state/exec';

class IDCMap extends Component {
  constructor(props) {
    super(props);
    this.state = {};
    this.thisRef = createRef();
    this.configRef = createRef();
  }

  componentDidMount() {

    // Get Map div instance
    var domNode = ReactDOM.findDOMNode(this);
    var map = L.map(domNode, {
      center: [43.73752,7.42892],
      zoom: 15,
      minZoom: 15,
      maxZoom: 18,
      drawControl: true
    });
    console.log(map);

    // Creating GL Baselayers
    var positronBaselayer = L.mapboxGL({style: 'http://10.3.16.105:30080/styles/positron/style.json'});
    var darkBaselayer = L.mapboxGL({style: 'http://10.3.16.105:30080/styles/dark-matter/style.json'});
    var klokBaselayer = L.mapboxGL({style: 'http://10.3.16.105:30080/styles/klokantech-basic/style.json'});
    var osmBaselayer = L.mapboxGL({style: 'http://10.3.16.105:30080/styles/osm-bright/style.json'});
    var baselayers = {
      'Positron': positronBaselayer,
      'Black Matter': darkBaselayer,
      'Klokantech': klokBaselayer,
      'OSM Bright': osmBaselayer
    };

    // Layer management
    var markerOverlay = L.layerGroup();
    var movingOverlay = L.layerGroup();
    var circleOverlay = L.layerGroup();
    var overlays = {
      'marker-PoC': markerOverlay,
      'circle-PoC': circleOverlay,
      'moving-PoC': movingOverlay
    };
      
    // Layer Controls
    var layerCtrl = L.control.layers(baselayers, overlays);

    // Initialize map & layers
    layerCtrl.addTo(map);
    markerOverlay.addTo(map); // this to have markers checked by default
    positronBaselayer.addTo(map); // this to select default baselayer
    // movingMarker.addTo(movingOverlay);
    // map.on('click', HandleClickMap);
  }

  render() {
    console.log(this.props.execMap.ueList);
    return (
      <div style={{ height: '100%' }}
        id="map"
      >
        Map Component
      </div>
    );
  }
}

const mapStateToProps = state => {
  return {
    execMap: state.exec.map
  };
};

const mapDispatchToProps = dispatch => {
  return {
    changeExecMap: map => dispatch(execChangeMap(map))
  };
};

const ConnectedIDCMap = connect(
  mapStateToProps,
  mapDispatchToProps
)(IDCMap);

export default ConnectedIDCMap;
+78 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import { updateObject, deepCopy } from '../util/object-util';
import * as meepPlatformCtrlRestApiClient from '../../../../../js-packages/meep-platform-ctrl-client/src/index.js';
import * as meepSandboxCtrlRestApiClient from '../../../../../js-packages/meep-sandbox-ctrl-client/src/index.js';
import * as meepMonEngineRestApiClient from '../../../../../js-packages/meep-mon-engine-client/src/index.js';
import * as meepGisEngineRestApiClient from '../../../../../js-packages/meep-gis-engine-client/src/index.js';

import MeepDrawer from './meep-drawer';
import MeepTopBar from '../components/meep-top-bar';
@@ -68,6 +69,8 @@ import {
  execChangeScenarioState,
  execChangeScenarioPodsPhases,
  execChangeServiceMaps,
  execChangeMapUeList,
  execChangeMapPoaList,
  execChangeVisData,
  execChangeTable,
  execChangeCorePodsPhases,
@@ -91,6 +94,8 @@ var basepathSandboxCtrl = HOST_PATH + '/sandbox-ctrl/v1';
meepSandboxCtrlRestApiClient.ApiClient.instance.basePath = basepathSandboxCtrl.replace(/\/+$/,'');
var basepathMonEngine = HOST_PATH + '/mon-engine/v1';
meepMonEngineRestApiClient.ApiClient.instance.basePath = basepathMonEngine.replace(/\/+$/,'');
var basepathGisEngine = HOST_PATH + '/gis/v1';
meepGisEngineRestApiClient.ApiClient.instance.basePath = basepathGisEngine.replace(/\/+$/,'');

class MeepContainer extends Component {
  constructor(props) {
@@ -104,6 +109,7 @@ class MeepContainer extends Component {
    this.meepActiveScenarioApi = new meepSandboxCtrlRestApiClient.ActiveScenarioApi();
    this.meepEventsApi = new meepSandboxCtrlRestApiClient.EventsApi();
    this.meepEventReplayApi = new meepSandboxCtrlRestApiClient.EventReplayApi();
    this.meepGeoDataApi = new meepGisEngineRestApiClient.GeospatialDataApi();
  }

  componentDidMount() {
@@ -148,6 +154,7 @@ class MeepContainer extends Component {
          if (this.props.sandbox) {
            this.checkScenarioStatus();
            this.refreshScenario();
            this.refreshMap();
          }
        }
      },
@@ -394,11 +401,80 @@ class MeepContainer extends Component {
    );
  }

  /**
   * Callback function to receive the result of the getAssetData operation.
   * @callback module:api/GeospatialDataApi~getAssetDataCallback
   * @param {String} error Error message, if any.
   * @param {module:model/GeoDataAssetList} data The data returned by the service call.
   * @param {String} response The complete HTTP response.
   */
  getUeAssetDataCb(error, data) {
    if (error !== null || data.geoDataAssets === null) {
      console.log('Failed to get assets');
      return;
    }

    let ueList = [];

    // Process UE list
    for (let i = 0; i < data.geoDataAssets.length; i++) {
      let ue = data.geoDataAssets[i];
      ueList.push(ue.location);
    }

    console.log(ueList);

    // Update UE list
    this.props.execChangeMapUeList(ueList);

    // // Store & Process deployed scenario
    // this.setScenario(TYPE_EXEC, data);
  }

  /**
   * Callback function to receive the result of the getAssetData operation.
   * @callback module:api/GeospatialDataApi~getAssetDataCallback
   * @param {String} error Error message, if any.
   * @param {module:model/GeoDataAssetList} data The data returned by the service call.
   * @param {String} response The complete HTTP response.
   */
  getPoaAssetDataCb(error, data) {
    if (error !== null || data.geoDataAssets === null) {
      console.log('Failed to get assets');
      return;
    }

    console.log(data.geoDataAssets);

    // Process POA list
    for (let i = 0; i < data.geoDataAssets.length; i++) {
      let poa = data.geoDataAssets[i];

    }

    // Update 

    // // Store & Process deployed scenario
    // this.setScenario(TYPE_EXEC, data);
  }

  // Refresh Map
  refreshMap() {
    this.meepGeoDataApi.getAssetData({assetType: 'UE'}, (error, data) =>
      this.getUeAssetDataCb(error, data)
    );
    this.meepGeoDataApi.getAssetData({assetType: 'POA'}, (error, data) =>
      this.getPoaAssetDataCb(error, data)
    );
  }

  // Set sandox-specific API basepath
  setBasepath(sandboxName) {
    var sandboxPath = (sandboxName) ? '/' + sandboxName : '';
    basepathSandboxCtrl = HOST_PATH + sandboxPath + '/sandbox-ctrl/v1';
    meepSandboxCtrlRestApiClient.ApiClient.instance.basePath = basepathSandboxCtrl.replace(/\/+$/,'');
    basepathGisEngine = HOST_PATH + sandboxPath + '/gis/v1';
    meepGisEngineRestApiClient.ApiClient.instance.basePath = basepathGisEngine.replace(/\/+$/,'');
  }

  /**
@@ -653,6 +729,8 @@ const mapDispatchToProps = dispatch => {
    changeServiceMaps: maps => dispatch(execChangeServiceMaps(maps)),
    execChangeVisData: data => dispatch(execChangeVisData(data)),
    execChangeTable: table => dispatch(execChangeTable(table)),
    execChangeMapUeList: list => dispatch(execChangeMapUeList(list)),
    execChangeMapPoaList: list => dispatch(execChangeMapPoaList(list)),
    cfgChangeVisData: data => dispatch(cfgChangeVisData(data)),
    cfgChangeTable: data => dispatch(cfgChangeTable(data)),
    execChangeOkToTerminate: ok => dispatch(execChangeOkToTerminate(ok)),
Loading