mirror of
https://github.com/heavyai/heavyai-charting.git
synced 2026-02-01 16:00:04 +00:00
[FE-7440] Linemap example (#265)
* initial integration of linemap example * add linemap example * adding hide popup method for liemap * add mapdc.js * update example url and added image for linemap * add githubusercontent.com image url * remove local linemap image
This commit is contained in:
parent
4d4aa04970
commit
81c6bce539
@ -18,7 +18,7 @@ Dimensional charting built to work natively with crossfilter rendered using d3.j
|
||||
|
||||
# Examples
|
||||
|
||||
Visit our [examples page](https://mapd.github.io/mapd-charting/example/) for ideas of what can be created MapD Charting
|
||||
Visit our [examples page](https://omnisci.github.io/mapd-charting/example/) for ideas of what can be created MapD Charting
|
||||
|
||||
# Quick Start
|
||||
|
||||
|
||||
22
dist/mapdc.js
vendored
22
dist/mapdc.js
vendored
@ -69396,6 +69396,28 @@ function rasterLayerLineMixin(_layer) {
|
||||
return (0, _utilsVega.__displayPopup)(_extends({}, svgProps, { _vega: _vega, _layer: _layer, state: state }));
|
||||
};
|
||||
|
||||
var _scaledPopups = {};
|
||||
_layer._hidePopup = function (chart, hideCallback) {
|
||||
var mapPoly = chart.select(".map-polyline");
|
||||
|
||||
if (mapPoly) {
|
||||
if (_scaledPopups[chart]) {
|
||||
mapPoly.classed("removePoly", true);
|
||||
} else {
|
||||
mapPoly.classed("fadeOutPoly", true);
|
||||
// mapPoly.attr('transform', 'scale(0, 0)');
|
||||
}
|
||||
|
||||
if (hideCallback) {
|
||||
mapPoly.on("animationend", function () {
|
||||
hideCallback(chart);
|
||||
});
|
||||
}
|
||||
|
||||
delete _scaledPopups[chart];
|
||||
}
|
||||
};
|
||||
|
||||
_layer._destroyLayer = function (chart) {
|
||||
var viewBoxDim = _layer.viewBoxDim();
|
||||
if (viewBoxDim) {
|
||||
|
||||
211
example/exampleLinemap.html
Normal file
211
example/exampleLinemap.html
Normal file
@ -0,0 +1,211 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
||||
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700,300' rel='stylesheet' type='text/css'>
|
||||
<style>
|
||||
.title {
|
||||
font-weight: bold;
|
||||
text-align:center;
|
||||
}
|
||||
.mapd{
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
.data-count{
|
||||
padding-right:20px;
|
||||
}
|
||||
.filter-count{
|
||||
font-weight: bold;
|
||||
color: #45B1E8;
|
||||
}
|
||||
.map {
|
||||
width: 50%
|
||||
}
|
||||
</style>
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-default">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header" style="margin-top:10px">
|
||||
<span class="mapd">OmniSci Demo</span>
|
||||
</div>
|
||||
<div class="navbar-text navbar-right">
|
||||
<div class="data-count"></div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="col-xs-12 map">
|
||||
<div class="title">US Fault Lines</div>
|
||||
<div id="linemap"></div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
|
||||
<script src="assets/app.bundle.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
function createLinemapChart(crossFilter, dc, config, con) {
|
||||
const w = document.documentElement.clientWidth - 30;
|
||||
const h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - 100;
|
||||
const parent = document.getElementById("linemap");
|
||||
const mapboxToken = "pk.eyJ1IjoibWFwZCIsImEiOiJjaWV1a3NqanYwajVsbmdtMDZzc2pneDVpIn0.cJnk8c2AxdNiRNZWtx5A9g";
|
||||
|
||||
const countGroup = crossFilter.groupAll();
|
||||
|
||||
dc.countWidget(".data-count")
|
||||
.dimension(crossFilter)
|
||||
.group(countGroup);
|
||||
|
||||
|
||||
const colorRange = [
|
||||
"rgba(234,85,69,1)",
|
||||
"rgba(189,207,50,1)",
|
||||
"rgba(179,61,198,1)",
|
||||
"rgba(239,155,32,1)",
|
||||
"rgba(39,174,239,1)"
|
||||
]
|
||||
const colorDomain = [
|
||||
"Fault",
|
||||
"Normal Fault",
|
||||
"Low Angle Detachment Fault",
|
||||
"Fault Inferred",
|
||||
"Other"
|
||||
]
|
||||
|
||||
// map bounding box filtering dimension
|
||||
const viewBoxDim = crossFilter.dimension(config.geoMeasure)
|
||||
|
||||
const sw_point = [-124.70126, 27.937431]
|
||||
const se_point = [-66.82674, 27.937431]
|
||||
const ne_point = [-66.82674, 49.467835]
|
||||
const nw_point = [-124.70126, 49.467835]
|
||||
|
||||
// crossfilter method to count number of lines within the map bounding box
|
||||
viewBoxDim.filterST_Intersects([
|
||||
sw_point,
|
||||
se_point,
|
||||
ne_point,
|
||||
nw_point])
|
||||
|
||||
const LinemapChart = dc.rasterChart(parent, true, null, mapboxgl)
|
||||
.con(con)
|
||||
.height(h)
|
||||
.width(w)
|
||||
.mapUpdateInterval(750)
|
||||
.mapStyle('json/dark-v8.json')
|
||||
.mapboxToken(mapboxToken) // need a mapbox accessToken for loading the tiles
|
||||
.popupSearchRadius(2)
|
||||
.useGeoTypes(true) // need for projecting geo column using "mercator_map_projection"
|
||||
|
||||
|
||||
const lineLayer = dc.rasterLayer("lines")
|
||||
.crossfilter(crossFilter)
|
||||
.setState({
|
||||
data: [{
|
||||
table: config.table,
|
||||
attr: "rowid"
|
||||
}],
|
||||
transform: {
|
||||
sample: true,
|
||||
limit: 100000,
|
||||
tableSize: 1391
|
||||
},
|
||||
mark: {
|
||||
type: "lines",
|
||||
lineJoin: "bevel"
|
||||
},
|
||||
encoding: {
|
||||
size: "auto",
|
||||
color: {
|
||||
type: "ordinal",
|
||||
field: config.colorMeasure,
|
||||
colorMeasureAggType: "# Unique",
|
||||
domain: colorDomain,
|
||||
range: colorRange,
|
||||
legend: {title: config.colorMeasure + ' ['+config.table+']', open: true}
|
||||
},
|
||||
geocol: config.geoMeasure,
|
||||
geoTable: config.table
|
||||
}
|
||||
})
|
||||
.viewBoxDim(viewBoxDim)
|
||||
.popupColumns(["rowid", "FAULT_TYPE"])
|
||||
.popupColumnsMapped({})
|
||||
|
||||
|
||||
LinemapChart.pushLayer("linemap", lineLayer).init().then((chart) => {
|
||||
// This will zoom to data extent
|
||||
chart.zoomToLocation({
|
||||
bounds: {
|
||||
sw: [-124.70126, 27.937431],
|
||||
ne: [-66.82674, 49.467835]
|
||||
}
|
||||
})
|
||||
chart
|
||||
.viewBoxDim(crossFilter.filterST_Intersects)
|
||||
|
||||
// hover effect with popup
|
||||
const debouncedPopup = _.debounce(displayPopupWithData, 250)
|
||||
LinemapChart.map().on('mousewheel', LinemapChart.hidePopup);
|
||||
LinemapChart.map().on('mousemove', LinemapChart.hidePopup)
|
||||
LinemapChart.map().on('mousemove', debouncedPopup)
|
||||
function displayPopupWithData (event) {
|
||||
LinemapChart.getClosestResult(event.point, LinemapChart.displayPopup)
|
||||
}
|
||||
dc.renderAllAsync()
|
||||
|
||||
})
|
||||
|
||||
/*--------------------------RESIZE EVENT------------------------------*/
|
||||
/* Here we listen to any resizes of the main window. On resize we resize the corresponding widgets and call dc.renderAll() to refresh everything */
|
||||
|
||||
window.addEventListener("resize", _.debounce(reSizeAll, 500));
|
||||
|
||||
function reSizeAll(){
|
||||
const w = document.documentElement.clientWidth - 30;
|
||||
const h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - 200;
|
||||
|
||||
LinemapChart.map().resize();
|
||||
LinemapChart.isNodeAnimate = false;
|
||||
LinemapChart
|
||||
.width(w)
|
||||
.height(h)
|
||||
.render();
|
||||
|
||||
dc.redrawAllAsync();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function init() {
|
||||
const config = {
|
||||
table: "us_faults",
|
||||
geoMeasure: "omnisci_geo",
|
||||
colorMeasure: "FAULT_TYPE"
|
||||
}
|
||||
|
||||
const con = new MapdCon()
|
||||
.protocol("https")
|
||||
.host("kali.mapd.com")
|
||||
.port("10043")
|
||||
.dbName("mapd")
|
||||
.user("mapd")
|
||||
.password("HyperInteractive")
|
||||
.connect(function(error, con) {
|
||||
crossfilter.crossfilter(con, config.table)
|
||||
.then(function(cf) {
|
||||
createLinemapChart(cf, dc, config, con)
|
||||
})
|
||||
;
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', init, false);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@ -150,6 +150,13 @@
|
||||
</a></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td scope="row"><a href="./exampleLinemap.html">
|
||||
Backend-rendered Line Map
|
||||
<br>
|
||||
<img src="https://user-images.githubusercontent.com/11098472/48163531-c69cc480-e294-11e8-95f2-7baf901108ae.png">
|
||||
</a></td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<td scope="row"><a href="./exampleGeoHeat.html">
|
||||
Backend-rendered Geo Heatmap
|
||||
|
||||
476
package-lock.json
generated
476
package-lock.json
generated
@ -5,7 +5,7 @@
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@mapd/connector": {
|
||||
"version": "git://github.com/mapd/mapd-connector.git#67dd489e7c0be426662f284f9420f0dc28f887f5",
|
||||
"version": "git://github.com/omnisci/mapd-connector.git#07a6968fe57537867f31ba6f3772140750956c04",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"codecov": "2.3.1",
|
||||
@ -14,11 +14,11 @@
|
||||
}
|
||||
},
|
||||
"@mapd/crossfilter": {
|
||||
"version": "git://github.com/mapd/mapd-crossfilter.git#bf77150e71b179859b1def1e88b4c2c79bc90440",
|
||||
"version": "git://github.com/omnisci/mapd-crossfilter.git#5f4f7d0a90ee00b378ad88433beb3c3e69c7e867",
|
||||
"dev": true
|
||||
},
|
||||
"@mapd/mapd-draw": {
|
||||
"version": "git://github.com/mapd/mapd-draw.git#a71db40f4708f7ebd1a74910a90fa96a85267e8b",
|
||||
"version": "git://github.com/omnisci/mapd-draw.git#a71db40f4708f7ebd1a74910a90fa96a85267e8b",
|
||||
"requires": {
|
||||
"css-element-queries": "0.4.0",
|
||||
"gl-matrix": "2.4.1"
|
||||
@ -33,11 +33,28 @@
|
||||
"@turf/meta": "6.0.1"
|
||||
}
|
||||
},
|
||||
"@turf/bbox-clip": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@turf/bbox-clip/-/bbox-clip-6.0.3.tgz",
|
||||
"integrity": "sha512-/uEV0seYx1FWOUG8+jomJ2hwKceUuIDs5WAFODFLM80+AMJHRc94eLhfmo/DqVb0foQQ5rsCdmZKmEf/cGKDzw==",
|
||||
"requires": {
|
||||
"@turf/helpers": "6.1.3",
|
||||
"@turf/invariant": "6.1.2"
|
||||
}
|
||||
},
|
||||
"@turf/helpers": {
|
||||
"version": "6.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.3.tgz",
|
||||
"integrity": "sha512-nBbSk/hi7WC+5F/CKbfkB42ckIm7jms79DutLCD9Q5AYVITNxitP5uPrgE+Sf4VPFTBaEe0e8yzFCRzH9+SAzw=="
|
||||
},
|
||||
"@turf/invariant": {
|
||||
"version": "6.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.1.2.tgz",
|
||||
"integrity": "sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg==",
|
||||
"requires": {
|
||||
"@turf/helpers": "6.1.3"
|
||||
}
|
||||
},
|
||||
"@turf/meta": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.0.1.tgz",
|
||||
@ -46,6 +63,12 @@
|
||||
"@turf/helpers": "6.1.3"
|
||||
}
|
||||
},
|
||||
"@types/d3-selection": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-1.0.10.tgz",
|
||||
"integrity": "sha1-3PsN3837GtJq6kNRMjdx4a6pboQ=",
|
||||
"dev": true
|
||||
},
|
||||
"JSONStream": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
|
||||
@ -144,7 +167,6 @@
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
|
||||
"requires": {
|
||||
"co": "4.6.0",
|
||||
"fast-deep-equal": "1.1.0",
|
||||
"fast-json-stable-stringify": "2.0.0",
|
||||
"json-schema-traverse": "0.3.1"
|
||||
}
|
||||
@ -1632,6 +1654,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"base-64": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
|
||||
"integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=",
|
||||
"dev": true
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz",
|
||||
@ -3047,16 +3075,330 @@
|
||||
"resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz",
|
||||
"integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g="
|
||||
},
|
||||
"d3-array": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.1.tgz",
|
||||
"integrity": "sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw==",
|
||||
"dev": true
|
||||
},
|
||||
"d3-axis": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.8.tgz",
|
||||
"integrity": "sha1-MacFoLU15ldZ3hQXOjGTMTfxjvo=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-brush": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.4.tgz",
|
||||
"integrity": "sha1-AMLyOAGfJPbAoZSibUGhUw/+e8Q=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-drag": "1.2.1",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-selection": "1.1.0",
|
||||
"d3-transition": "1.1.0"
|
||||
}
|
||||
},
|
||||
"d3-chord": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz",
|
||||
"integrity": "sha1-fexPC6iG9xP+ERxF92NBT290yiw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-array": "1.2.1",
|
||||
"d3-path": "1.0.5"
|
||||
}
|
||||
},
|
||||
"d3-collection": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.4.tgz",
|
||||
"integrity": "sha1-NC39EoN8kJdPM/HMCnha6lcNzcI=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-color": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz",
|
||||
"integrity": "sha1-vHZD/KjlOoNH4vva/6I2eWtYUJs=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-dispatch": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz",
|
||||
"integrity": "sha1-RuFJHqqbWMNY/OW+TovtYm54cfg="
|
||||
},
|
||||
"d3-drag": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.1.tgz",
|
||||
"integrity": "sha512-Cg8/K2rTtzxzrb0fmnYOUeZHvwa4PHzwXOLZZPwtEs2SKLLKLXeYwZKBB+DlOxUvFmarOnmt//cU4+3US2lyyQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-selection": "1.1.0"
|
||||
}
|
||||
},
|
||||
"d3-dsv": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.7.tgz",
|
||||
"integrity": "sha512-12szKhDhM/tM5U/Ch3hyJ7sMdcwPqMRmrUWitLLdPBMKO9Wuox95ezKZvemy/fxFbefLF/HIPKUmJMBLLuFDaQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "2.1.0",
|
||||
"iconv-lite": "0.4.19",
|
||||
"rw": "1.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"rw": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
|
||||
"integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"d3-ease": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.3.tgz",
|
||||
"integrity": "sha1-aL+8NJM4o4DETYrMT7wzBKotjA4=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-force": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.1.0.tgz",
|
||||
"integrity": "sha512-2HVQz3/VCQs0QeRNZTYb7GxoUCeb6bOzMp/cGcLa87awY9ZsPvXOGeZm0iaGBjXic6I1ysKwMn+g+5jSAdzwcg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-collection": "1.0.4",
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-quadtree": "1.0.3",
|
||||
"d3-timer": "1.0.7"
|
||||
}
|
||||
},
|
||||
"d3-format": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.2.tgz",
|
||||
"integrity": "sha512-zH9CfF/3C8zUI47nsiKfD0+AGDEuM8LwBIP7pBVpyR4l/sKkZqITmMtxRp04rwBrlshIZ17XeFAaovN3++wzkw=="
|
||||
},
|
||||
"d3-geo": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.8.1.tgz",
|
||||
"integrity": "sha512-PuvmWl1A1UXuaxcH55EGNhvMNAUBS0RQN2PAnxrZbDvDX56Xwkd+Yp1t1+ECkaJO3my+dnhxAyqAKMyyK+IFPQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-array": "1.2.1"
|
||||
}
|
||||
},
|
||||
"d3-hierarchy": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz",
|
||||
"integrity": "sha1-ochFxC+Eoga88cAcAQmOpN2qeiY=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-interpolate": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.5.tgz",
|
||||
"integrity": "sha1-aeCZ/zkhRxblY8muw+qdHqS4p58=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-color": "1.0.3"
|
||||
}
|
||||
},
|
||||
"d3-path": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.5.tgz",
|
||||
"integrity": "sha1-JB6xhJvZ6egCHA0KeZ+KDo5EF2Q=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-polygon": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.3.tgz",
|
||||
"integrity": "sha1-FoiOkCZGCTPysXllKtN4Ik04LGI=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-quadtree": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.3.tgz",
|
||||
"integrity": "sha1-rHmH4+I/6AWpkPKOG1DTj8uCJDg=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-queue": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-3.0.7.tgz",
|
||||
"integrity": "sha1-yTouVLQXwJWRKdfXP2z31Ckudhg=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-random": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.0.tgz",
|
||||
"integrity": "sha1-ZkLlBsb6OmSFldKyRpeIqNElKdM=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-request": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz",
|
||||
"integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-collection": "1.0.4",
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-dsv": "1.0.7",
|
||||
"xmlhttprequest": "1.8.0"
|
||||
}
|
||||
},
|
||||
"d3-scale": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.6.tgz",
|
||||
"integrity": "sha1-vOGdqA06DPQiyVQ64zIghiILNO0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-array": "1.2.1",
|
||||
"d3-collection": "1.0.4",
|
||||
"d3-color": "1.0.3",
|
||||
"d3-format": "1.2.2",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-time": "1.0.7",
|
||||
"d3-time-format": "2.0.5"
|
||||
}
|
||||
},
|
||||
"d3-selection": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.1.0.tgz",
|
||||
"integrity": "sha1-GZhoSJZIj4OcoDchI9o08dMYgJw=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-shape": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.0.tgz",
|
||||
"integrity": "sha1-RdAVOPBkuv0F6j1tLLdI/YxB93c=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-path": "1.0.5"
|
||||
}
|
||||
},
|
||||
"d3-svg-legend": {
|
||||
"version": "2.25.6",
|
||||
"resolved": "https://registry.npmjs.org/d3-svg-legend/-/d3-svg-legend-2.25.6.tgz",
|
||||
"integrity": "sha1-jY3BvWk8N47ki2+CPook5o8uGtI=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/d3-selection": "1.0.10",
|
||||
"d3-array": "1.0.1",
|
||||
"d3-dispatch": "1.0.1",
|
||||
"d3-format": "1.0.2",
|
||||
"d3-scale": "1.0.3",
|
||||
"d3-selection": "1.0.2",
|
||||
"d3-transition": "1.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"d3-array": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.0.1.tgz",
|
||||
"integrity": "sha1-N1wCh0/NlsFu2fG89bSnvlPzWOc=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-dispatch": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.1.tgz",
|
||||
"integrity": "sha1-S9ZaQ87P9DGN653yRVKqi/KBqEA=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-format": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.0.2.tgz",
|
||||
"integrity": "sha1-E4YYMgtLvrQ7XA/zBRkHn7vXN14=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-scale": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.3.tgz",
|
||||
"integrity": "sha1-T56PDMLqDzkl/wSsJ63AkEX6TJA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-array": "1.0.1",
|
||||
"d3-collection": "1.0.4",
|
||||
"d3-color": "1.0.3",
|
||||
"d3-format": "1.0.2",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-time": "1.0.7",
|
||||
"d3-time-format": "2.0.5"
|
||||
}
|
||||
},
|
||||
"d3-selection": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.0.2.tgz",
|
||||
"integrity": "sha1-rmYq/UcCrJxdoDmyEHoXZPockHA=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-transition": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.0.3.tgz",
|
||||
"integrity": "sha1-kdyYa92zCXNjkyCoXbcs5KsaJ7s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-color": "1.0.3",
|
||||
"d3-dispatch": "1.0.1",
|
||||
"d3-ease": "1.0.3",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-selection": "1.0.2",
|
||||
"d3-timer": "1.0.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"d3-time": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.7.tgz",
|
||||
"integrity": "sha1-lMr27bt4ebuAnQ0fdXK8SEgvcnA=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-time-format": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.0.5.tgz",
|
||||
"integrity": "sha1-nXeAIE98kRnJFwsaVttN6aivly4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-time": "1.0.7"
|
||||
}
|
||||
},
|
||||
"d3-timer": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.7.tgz",
|
||||
"integrity": "sha512-vMZXR88XujmG/L5oB96NNKH5lCWwiLM/S2HyyAQLcjWJCloK5shxta4CwOFYLZoY3AWX73v8Lgv4cCAdWtRmOA==",
|
||||
"dev": true
|
||||
},
|
||||
"d3-transition": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.0.tgz",
|
||||
"integrity": "sha1-z8hcdOUjkyQpBUZiNXKZBWDDlm8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-color": "1.0.3",
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-ease": "1.0.3",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-selection": "1.1.0",
|
||||
"d3-timer": "1.0.7"
|
||||
}
|
||||
},
|
||||
"d3-voronoi": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz",
|
||||
"integrity": "sha1-Fodmfo8TotFYyAwUgMWinLDYlzw=",
|
||||
"dev": true
|
||||
},
|
||||
"d3-zoom": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.6.0.tgz",
|
||||
"integrity": "sha512-viq+6rXA9JQY1wD+gpDEdlOtCeJ6IfcsNT2aVr31VTjIAIhYlO0YurQ80yDRZeMJw5P/e6nVPhGJF9D9Ade5Og==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-drag": "1.2.1",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-selection": "1.1.0",
|
||||
"d3-transition": "1.1.0"
|
||||
}
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
@ -4251,9 +4593,9 @@
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
|
||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
@ -7115,7 +7457,7 @@
|
||||
"dev": true
|
||||
},
|
||||
"legendables": {
|
||||
"version": "git://github.com/mapd/legendables.git#d678a36de78b008814fab72ce260ee33ee7d48b7",
|
||||
"version": "git://github.com/omnisci/legendables.git#862921cfb47e878505fc3ea40822ad860482d27d",
|
||||
"requires": {
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-format": "1.2.2",
|
||||
@ -7451,8 +7793,8 @@
|
||||
}
|
||||
},
|
||||
"mapbox-gl": {
|
||||
"version": "https://github.com/mapd/mapbox-gl-js/tarball/9c04de6949fe498c8c79f5c0627dfd6d6321f307",
|
||||
"integrity": "sha512-t19F/LHNliwW/qVJNaSTsZEogokiuf+nmNWAShisFt7uWtR1BE1mUi92WWscBINQcrdjXSVJrSKgDS1QncIBlw==",
|
||||
"version": "https://github.com/omnisci/mapbox-gl-js/tarball/9c04de6949fe498c8c79f5c0627dfd6d6321f307",
|
||||
"integrity": "sha512-1sjhovge3Nx1ztPaw7LfAQ7chG8lcJ2Aq2NVsuBzuhwBrDyhHMkH0DsKMvNW0bNfFcCrGI8WJImPnTPuyQtnbA==",
|
||||
"requires": {
|
||||
"bubleify": "0.5.1",
|
||||
"csscolorparser": "1.0.3",
|
||||
@ -7519,13 +7861,70 @@
|
||||
"integrity": "sha1-y9NN+JQgbK3amjPI2aRgnya7GYk="
|
||||
},
|
||||
"mapd-data-layer-2": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mapd-data-layer-2/-/mapd-data-layer-2-0.0.1.tgz",
|
||||
"integrity": "sha1-4zhejliwdPKcCG47ATUIHatDvEg=",
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/mapd-data-layer-2/-/mapd-data-layer-2-0.0.6.tgz",
|
||||
"integrity": "sha512-aLAhMKQbwUPAXsJaCqeWFiEU+B7//J+mLoCTXTw9CaeBV52WLnOies9U2M6fzqKLvT3T1peK19OS+BklS6FDIA==",
|
||||
"requires": {
|
||||
"invariant": "2.2.4"
|
||||
}
|
||||
},
|
||||
"mapd3": {
|
||||
"version": "0.15.3",
|
||||
"resolved": "https://registry.npmjs.org/mapd3/-/mapd3-0.15.3.tgz",
|
||||
"integrity": "sha512-QgxjcqZNw8cMGpuE45d/yljUc2hYT0lH27RkkjWRtisGkvmyGgtKI0GEruWX93L1XZbU/tPJBvrCUeO5z2kfVA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"base-64": "0.1.0",
|
||||
"d3": "4.11.0",
|
||||
"d3-svg-legend": "2.25.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"d3": {
|
||||
"version": "4.11.0",
|
||||
"resolved": "https://registry.npmjs.org/d3/-/d3-4.11.0.tgz",
|
||||
"integrity": "sha512-o048nfmydnbt0ciIvCUDTq9p62rZYOXzl8cKps0XVzk+5nHgeXmAS7jU4nh+3v82pUyH7t/GFm1bJRX4oIAlPw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"d3-array": "1.2.1",
|
||||
"d3-axis": "1.0.8",
|
||||
"d3-brush": "1.0.4",
|
||||
"d3-chord": "1.0.4",
|
||||
"d3-collection": "1.0.4",
|
||||
"d3-color": "1.0.3",
|
||||
"d3-dispatch": "1.0.3",
|
||||
"d3-drag": "1.2.1",
|
||||
"d3-dsv": "1.0.7",
|
||||
"d3-ease": "1.0.3",
|
||||
"d3-force": "1.1.0",
|
||||
"d3-format": "1.2.0",
|
||||
"d3-geo": "1.8.1",
|
||||
"d3-hierarchy": "1.1.5",
|
||||
"d3-interpolate": "1.1.5",
|
||||
"d3-path": "1.0.5",
|
||||
"d3-polygon": "1.0.3",
|
||||
"d3-quadtree": "1.0.3",
|
||||
"d3-queue": "3.0.7",
|
||||
"d3-random": "1.1.0",
|
||||
"d3-request": "1.0.6",
|
||||
"d3-scale": "1.0.6",
|
||||
"d3-selection": "1.1.0",
|
||||
"d3-shape": "1.2.0",
|
||||
"d3-time": "1.0.7",
|
||||
"d3-time-format": "2.0.5",
|
||||
"d3-timer": "1.0.7",
|
||||
"d3-transition": "1.1.0",
|
||||
"d3-voronoi": "1.1.2",
|
||||
"d3-zoom": "1.6.0"
|
||||
}
|
||||
},
|
||||
"d3-format": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.0.tgz",
|
||||
"integrity": "sha1-a0gLqohohdRlHcJIqPSsnaFtsHo=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"markdown-escapes": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz",
|
||||
@ -15065,7 +15464,6 @@
|
||||
"integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "1.1.0",
|
||||
"fast-json-stable-stringify": "2.0.0",
|
||||
"json-schema-traverse": "0.3.1",
|
||||
"uri-js": "3.0.2"
|
||||
@ -15750,6 +16148,50 @@
|
||||
"resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
|
||||
"integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
|
||||
},
|
||||
"wellknown": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/wellknown/-/wellknown-0.5.0.tgz",
|
||||
"integrity": "sha1-Ca6YcfqCbPCm7BU37wDDedeNcQE=",
|
||||
"requires": {
|
||||
"concat-stream": "1.5.2",
|
||||
"minimist": "1.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"concat-stream": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
|
||||
"integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
|
||||
"requires": {
|
||||
"inherits": "2.0.3",
|
||||
"readable-stream": "2.0.6",
|
||||
"typedarray": "0.0.6"
|
||||
}
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
|
||||
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
|
||||
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
|
||||
"requires": {
|
||||
"core-util-is": "1.0.2",
|
||||
"inherits": "2.0.3",
|
||||
"isarray": "1.0.0",
|
||||
"process-nextick-args": "1.0.7",
|
||||
"string_decoder": "0.10.31",
|
||||
"util-deprecate": "1.0.2"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
"wgs84": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz",
|
||||
@ -15882,6 +16324,12 @@
|
||||
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
|
||||
"dev": true
|
||||
},
|
||||
"xmlhttprequest": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
|
||||
"integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=",
|
||||
"dev": true
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
|
||||
|
||||
@ -494,6 +494,27 @@ export default function rasterLayerLineMixin(_layer) {
|
||||
return __displayPopup({ ...svgProps, _vega, _layer, state})
|
||||
}
|
||||
|
||||
const _scaledPopups = {}
|
||||
_layer._hidePopup = function(chart, hideCallback) {
|
||||
const mapPoly = chart.select(".map-polyline")
|
||||
|
||||
if (mapPoly) {
|
||||
if (_scaledPopups[chart]) {
|
||||
mapPoly.classed("removePoly", true)
|
||||
} else {
|
||||
mapPoly.classed("fadeOutPoly", true)
|
||||
// mapPoly.attr('transform', 'scale(0, 0)');
|
||||
}
|
||||
|
||||
if (hideCallback) {
|
||||
mapPoly.on("animationend", () => {
|
||||
hideCallback(chart)
|
||||
})
|
||||
}
|
||||
|
||||
delete _scaledPopups[chart]
|
||||
}
|
||||
}
|
||||
|
||||
_layer._destroyLayer = function(chart) {
|
||||
const viewBoxDim = _layer.viewBoxDim()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user