[TASK] Zoom in visible area
This commit is contained in:
parent
6af7ba6796
commit
7fa0c5e522
@ -55,7 +55,7 @@ define(['d3-selection', 'd3-force', 'd3-zoom', 'd3-drag', 'd3-timer', 'd3-ease',
|
||||
var k = result[2];
|
||||
var end = { k: k };
|
||||
|
||||
end.x = (canvas.width + sidebar()) / 2 - x * k;
|
||||
end.x = (canvas.width + sidebar.getWidth()) / 2 - x * k;
|
||||
end.y = canvas.height / 2 - y * k;
|
||||
|
||||
var start = { x: transform.x, y: transform.y, k: transform.k };
|
||||
|
@ -38,7 +38,7 @@ function (d3Interpolate, Map, Sidebar, Tabs, Container, Legend, Linklist,
|
||||
function addContent(K) {
|
||||
removeContent();
|
||||
|
||||
content = new K(linkScale, sidebar.getWidth, buttons);
|
||||
content = new K(linkScale, sidebar, buttons);
|
||||
content.render(contentDiv);
|
||||
|
||||
fanout.add(content);
|
||||
|
27
lib/map.js
27
lib/map.js
@ -1,4 +1,4 @@
|
||||
define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet'],
|
||||
define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet', 'map/activearea'],
|
||||
function (ClientLayer, LabelLayer, Button, L) {
|
||||
'use strict';
|
||||
|
||||
@ -27,10 +27,30 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet'],
|
||||
document.querySelector('.leaflet-control-layers').classList.add('leaflet-control-layers-expanded');
|
||||
}
|
||||
|
||||
function setActiveArea() {
|
||||
setTimeout(function () {
|
||||
map.setActiveArea({
|
||||
position: 'absolute',
|
||||
left: sidebar.getWidth() + 'px',
|
||||
right: 0,
|
||||
top: 0,
|
||||
bottom: 0
|
||||
});
|
||||
}, 300);
|
||||
}
|
||||
|
||||
var el = document.createElement('div');
|
||||
el.classList.add('map');
|
||||
|
||||
map = L.map(el, options);
|
||||
map.setActiveArea({
|
||||
position: 'absolute',
|
||||
left: sidebar.getWidth() + 'px',
|
||||
right: 0,
|
||||
top: 0,
|
||||
bottom: 0
|
||||
});
|
||||
|
||||
var now = new Date();
|
||||
config.mapLayers.forEach(function (item, i) {
|
||||
if ((typeof item.config.start === 'number' && item.config.start <= now.getHours()) || (typeof item.config.end === 'number' && item.config.end > now.getHours())) {
|
||||
@ -79,6 +99,8 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet'],
|
||||
labelLayer.addTo(map);
|
||||
labelLayer.setZIndex(6);
|
||||
|
||||
sidebar.button.addEventListener('visibility', setActiveArea);
|
||||
|
||||
map.on('zoom', function () {
|
||||
clientLayer.redraw();
|
||||
labelLayer.redraw();
|
||||
@ -128,7 +150,7 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet'],
|
||||
}
|
||||
|
||||
function setView(bounds, zoom) {
|
||||
map.fitBounds(bounds, { paddingTopLeft: [sidebar(), 0], maxZoom: (zoom ? zoom : config.nodeZoom) });
|
||||
map.fitBounds(bounds, { maxZoom: (zoom ? zoom : config.nodeZoom) });
|
||||
}
|
||||
|
||||
function goto(m) {
|
||||
@ -205,6 +227,7 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet'],
|
||||
|
||||
self.destroy = function destroy() {
|
||||
button.clearButtons();
|
||||
sidebar.button.removeEventListener('visibility', setActiveArea);
|
||||
map.remove();
|
||||
|
||||
if (el.parentNode) {
|
||||
|
291
lib/map/activearea.js
Normal file
291
lib/map/activearea.js
Normal file
@ -0,0 +1,291 @@
|
||||
define(function () {
|
||||
/**
|
||||
* https://github.com/Mappy/Leaflet-active-area
|
||||
* Apache 2.0 license https://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
var previousMethods = {
|
||||
getCenter: L.Map.prototype.getCenter,
|
||||
setView: L.Map.prototype.setView,
|
||||
setZoomAround: L.Map.prototype.setZoomAround,
|
||||
getBoundsZoom: L.Map.prototype.getBoundsZoom,
|
||||
RendererUpdate: L.Renderer.prototype._update
|
||||
};
|
||||
|
||||
L.Map.include({
|
||||
getBounds: function () {
|
||||
if (this._viewport) {
|
||||
return this.getViewportLatLngBounds();
|
||||
}
|
||||
var bounds = this.getPixelBounds();
|
||||
var sw = this.unproject(bounds.getBottomLeft());
|
||||
var ne = this.unproject(bounds.getTopRight());
|
||||
|
||||
return new L.LatLngBounds(sw, ne);
|
||||
},
|
||||
|
||||
getViewport: function () {
|
||||
return this._viewport;
|
||||
},
|
||||
|
||||
getViewportBounds: function () {
|
||||
var vp = this._viewport;
|
||||
var topleft = L.point(vp.offsetLeft, vp.offsetTop);
|
||||
var vpsize = L.point(vp.clientWidth, vp.clientHeight);
|
||||
|
||||
if (vpsize.x === 0 || vpsize.y === 0) {
|
||||
// Our own viewport has no good size - so we fallback to the container size:
|
||||
vp = this.getContainer();
|
||||
if (vp) {
|
||||
topleft = L.point(0, 0);
|
||||
vpsize = L.point(vp.clientWidth, vp.clientHeight);
|
||||
}
|
||||
}
|
||||
|
||||
return L.bounds(topleft, topleft.add(vpsize));
|
||||
},
|
||||
|
||||
getViewportLatLngBounds: function () {
|
||||
var bounds = this.getViewportBounds();
|
||||
return L.latLngBounds(this.containerPointToLatLng(bounds.min), this.containerPointToLatLng(bounds.max));
|
||||
},
|
||||
|
||||
getOffset: function () {
|
||||
var mCenter = this.getSize().divideBy(2);
|
||||
var vCenter = this.getViewportBounds().getCenter();
|
||||
|
||||
return mCenter.subtract(vCenter);
|
||||
},
|
||||
|
||||
getCenter: function (withoutViewport) {
|
||||
var center = previousMethods.getCenter.call(this);
|
||||
|
||||
if (this.getViewport() && !withoutViewport) {
|
||||
var zoom = this.getZoom();
|
||||
var point = this.project(center, zoom);
|
||||
point = point.subtract(this.getOffset());
|
||||
|
||||
center = this.unproject(point, zoom);
|
||||
}
|
||||
|
||||
return center;
|
||||
},
|
||||
|
||||
setView: function (center, zoom, options) {
|
||||
center = L.latLng(center);
|
||||
zoom = zoom === undefined ? this._zoom : this._limitZoom(zoom);
|
||||
|
||||
if (this.getViewport()) {
|
||||
var point = this.project(center, this._limitZoom(zoom));
|
||||
point = point.add(this.getOffset());
|
||||
center = this.unproject(point, this._limitZoom(zoom));
|
||||
}
|
||||
|
||||
return previousMethods.setView.call(this, center, zoom, options);
|
||||
},
|
||||
|
||||
setZoomAround: function (latlng, zoom, options) {
|
||||
var vp = this.getViewport();
|
||||
|
||||
if (vp) {
|
||||
var scale = this.getZoomScale(zoom);
|
||||
var viewHalf = this.getViewportBounds().getCenter();
|
||||
var containerPoint = latlng instanceof L.Point ? latlng : this.latLngToContainerPoint(latlng);
|
||||
|
||||
var centerOffset = containerPoint.subtract(viewHalf).multiplyBy(1 - 1 / scale);
|
||||
var newCenter = this.containerPointToLatLng(viewHalf.add(centerOffset));
|
||||
|
||||
return this.setView(newCenter, zoom, { zoom: options });
|
||||
}
|
||||
return previousMethods.setZoomAround.call(this, latlng, zoom, options);
|
||||
},
|
||||
|
||||
getBoundsZoom: function (bounds, inside, padding) { // (LatLngBounds[, Boolean, Point]) -> Number
|
||||
bounds = L.latLngBounds(bounds);
|
||||
padding = L.point(padding || [0, 0]);
|
||||
|
||||
var zoom = this.getZoom() || 0;
|
||||
var min = this.getMinZoom();
|
||||
var max = this.getMaxZoom();
|
||||
var nw = bounds.getNorthWest();
|
||||
var se = bounds.getSouthEast();
|
||||
var vp = this.getViewport();
|
||||
var size = (vp ? L.point(vp.clientWidth, vp.clientHeight) : this.getSize()).subtract(padding);
|
||||
var boundsSize = this.project(se, zoom).subtract(this.project(nw, zoom));
|
||||
var snap = L.Browser.any3d ? this.options.zoomSnap : 1;
|
||||
|
||||
var scale = Math.min(size.x / boundsSize.x, size.y / boundsSize.y);
|
||||
|
||||
zoom = this.getScaleZoom(scale, zoom);
|
||||
|
||||
if (snap) {
|
||||
zoom = Math.round(zoom / (snap / 100)) * (snap / 100); // don't jump if within 1% of a snap level
|
||||
zoom = inside ? Math.ceil(zoom / snap) * snap : Math.floor(zoom / snap) * snap;
|
||||
}
|
||||
|
||||
return Math.max(min, Math.min(max, zoom));
|
||||
}
|
||||
});
|
||||
|
||||
L.Map.include({
|
||||
setActiveArea: function (css, keepCenter, animate) {
|
||||
var center;
|
||||
if (keepCenter && this._zoom) {
|
||||
// save center if map is already initialized
|
||||
// and keepCenter is passed
|
||||
center = this.getCenter();
|
||||
}
|
||||
|
||||
if (!this._viewport) {
|
||||
// Make viewport if not already made
|
||||
var container = this.getContainer();
|
||||
this._viewport = L.DomUtil.create('div', '');
|
||||
container.insertBefore(this._viewport, container.firstChild);
|
||||
}
|
||||
|
||||
if (typeof css === 'string') {
|
||||
this._viewport.className = css;
|
||||
} else {
|
||||
L.extend(this._viewport.style, css);
|
||||
}
|
||||
|
||||
if (center) {
|
||||
this.setView(center, this.getZoom(), { animate: !!animate });
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
L.Renderer.include({
|
||||
_onZoom: function () {
|
||||
this._updateTransform(this._map.getCenter(true), this._map.getZoom());
|
||||
},
|
||||
|
||||
_update: function () {
|
||||
previousMethods.RendererUpdate.call(this);
|
||||
this._center = this._map.getCenter(true);
|
||||
}
|
||||
});
|
||||
|
||||
L.GridLayer.include({
|
||||
_updateLevels: function () {
|
||||
var zoom = this._tileZoom;
|
||||
var maxZoom = this.options.maxZoom;
|
||||
|
||||
if (zoom === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
for (var z in this._levels) {
|
||||
if (this._levels[z].el.children.length || z === zoom) {
|
||||
this._levels[z].el.style.zIndex = maxZoom - Math.abs(zoom - z);
|
||||
} else {
|
||||
L.DomUtil.remove(this._levels[z].el);
|
||||
this._removeTilesAtZoom(z);
|
||||
delete this._levels[z];
|
||||
}
|
||||
}
|
||||
|
||||
var level = this._levels[zoom];
|
||||
var map = this._map;
|
||||
|
||||
if (!level) {
|
||||
level = this._levels[zoom] = {};
|
||||
|
||||
level.el = L.DomUtil.create('div', 'leaflet-tile-container leaflet-zoom-animated', this._container);
|
||||
level.el.style.zIndex = maxZoom;
|
||||
|
||||
level.origin = map.project(map.unproject(map.getPixelOrigin()), zoom).round();
|
||||
level.zoom = zoom;
|
||||
|
||||
this._setZoomTransform(level, map.getCenter(true), map.getZoom());
|
||||
|
||||
// force the browser to consider the newly added element for transition
|
||||
L.Util.falseFn(level.el.offsetWidth);
|
||||
}
|
||||
|
||||
this._level = level;
|
||||
|
||||
return level;
|
||||
},
|
||||
|
||||
_resetView: function (e) {
|
||||
var animating = e && (e.pinch || e.flyTo);
|
||||
this._setView(this._map.getCenter(true), this._map.getZoom(), animating, animating);
|
||||
},
|
||||
|
||||
_update: function (center) {
|
||||
var map = this._map;
|
||||
if (!map) {
|
||||
return;
|
||||
}
|
||||
var zoom = map.getZoom();
|
||||
|
||||
if (center === undefined) {
|
||||
center = map.getCenter(this);
|
||||
}
|
||||
if (this._tileZoom === undefined) {
|
||||
return;
|
||||
} // if out of minzoom/maxzoom
|
||||
|
||||
var pixelBounds = this._getTiledPixelBounds(center);
|
||||
var tileRange = this._pxBoundsToTileRange(pixelBounds);
|
||||
var tileCenter = tileRange.getCenter();
|
||||
var queue = [];
|
||||
|
||||
for (var key in this._tiles) {
|
||||
this._tiles[key].current = false;
|
||||
}
|
||||
|
||||
// _update just loads more tiles. If the tile zoom level differs too much
|
||||
// from the map's, let _setView reset levels and prune old tiles.
|
||||
if (Math.abs(zoom - this._tileZoom) > 1) {
|
||||
this._setView(center, zoom);
|
||||
return;
|
||||
}
|
||||
|
||||
// create a queue of coordinates to load tiles from
|
||||
for (var j = tileRange.min.y; j <= tileRange.max.y; j++) {
|
||||
for (var i = tileRange.min.x; i <= tileRange.max.x; i++) {
|
||||
var coords = new L.Point(i, j);
|
||||
coords.z = this._tileZoom;
|
||||
|
||||
if (!this._isValidTile(coords)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var tile = this._tiles[this._tileCoordsToKey(coords)];
|
||||
if (tile) {
|
||||
tile.current = true;
|
||||
} else {
|
||||
queue.push(coords);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// sort tile queue to load tiles in order of their distance to center
|
||||
queue.sort(function (a, b) {
|
||||
return a.distanceTo(tileCenter) - b.distanceTo(tileCenter);
|
||||
});
|
||||
|
||||
if (queue.length !== 0) {
|
||||
// if its the first batch of tiles to load
|
||||
if (!this._loading) {
|
||||
this._loading = true;
|
||||
// @event loading: Event
|
||||
// Fired when the grid layer starts loading tiles
|
||||
this.fire('loading');
|
||||
}
|
||||
|
||||
// create DOM fragment to append tiles in one batch
|
||||
var fragment = document.createDocumentFragment();
|
||||
|
||||
for (i = 0; i < queue.length; i++) {
|
||||
this._addTile(queue[i], fragment);
|
||||
}
|
||||
|
||||
this._level.el.appendChild(fragment);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
@ -15,11 +15,13 @@ define(function () {
|
||||
el.appendChild(sidebar);
|
||||
|
||||
var button = document.createElement('button');
|
||||
var visibility = new Event('visibility');
|
||||
sidebar.appendChild(button);
|
||||
|
||||
button.classList.add('sidebarhandle');
|
||||
button.setAttribute('aria-label', _.t('sidebar.toggle'));
|
||||
button.onclick = function onclick() {
|
||||
button.dispatchEvent(visibility);
|
||||
sidebar.classList.toggle('hidden');
|
||||
};
|
||||
|
||||
@ -28,7 +30,7 @@ define(function () {
|
||||
sidebar.appendChild(container);
|
||||
|
||||
self.getWidth = function getWidth() {
|
||||
if (gridBreakpoints.lg[0] > window.innerWidth) {
|
||||
if (gridBreakpoints.lg[0] > window.innerWidth || sidebar.classList.contains('hidden')) {
|
||||
return 0;
|
||||
} else if (gridBreakpoints.xl[0] > window.innerWidth) {
|
||||
return gridBreakpoints.lg[1];
|
||||
@ -55,6 +57,7 @@ define(function () {
|
||||
};
|
||||
|
||||
self.container = sidebar;
|
||||
self.button = button;
|
||||
|
||||
return self;
|
||||
};
|
||||
|
@ -9,8 +9,8 @@
|
||||
"url": "https://github.com/ffrgb/meshviewer/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-eslint": "^8.1.0",
|
||||
"browser-sync": "^2.21.0",
|
||||
"babel-eslint": "^8.1.1",
|
||||
"browser-sync": "^2.19.0",
|
||||
"eslint": "^4.14.0",
|
||||
"eslint-config-airbnb-es5": "^1.2.0",
|
||||
"eslint-config-defaults": "^9.0.0",
|
||||
|
196
yarn.lock
196
yarn.lock
@ -108,10 +108,6 @@ after@0.8.1:
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
|
||||
|
||||
after@0.8.2:
|
||||
version "0.8.2"
|
||||
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
|
||||
|
||||
ajv-keywords@^1.0.0:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
|
||||
@ -386,10 +382,6 @@ async-foreach@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
|
||||
|
||||
async-limiter@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
|
||||
|
||||
async-settle@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b"
|
||||
@ -449,9 +441,9 @@ babel-code-frame@^6.22.0:
|
||||
esutils "^2.0.2"
|
||||
js-tokens "^3.0.2"
|
||||
|
||||
babel-eslint@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.1.0.tgz#b6f32d598559f96127fa608bd19574626325d5b7"
|
||||
babel-eslint@^8.1.1:
|
||||
version "8.1.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.1.1.tgz#a0637faf5ba160ae9e445b360f4d5be295edf1ed"
|
||||
dependencies:
|
||||
"@babel/code-frame" "7.0.0-beta.31"
|
||||
"@babel/traverse" "7.0.0-beta.31"
|
||||
@ -490,9 +482,9 @@ base64-arraybuffer@0.1.5:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
|
||||
|
||||
base64id@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
|
||||
base64id@0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"
|
||||
|
||||
base@^0.11.1:
|
||||
version "0.11.2"
|
||||
@ -600,22 +592,29 @@ braces@^2.3.0:
|
||||
split-string "^3.0.2"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
browser-sync-ui@v1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-1.0.1.tgz#9740527b26d1d7ace259acc0c79e5b5e37d0fdf2"
|
||||
browser-sync-client@2.5.1:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.5.1.tgz#ec1ad69a49c2e2d4b645b18b1c06c29b3d9af8eb"
|
||||
dependencies:
|
||||
etag "^1.7.0"
|
||||
fresh "^0.3.0"
|
||||
|
||||
browser-sync-ui@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-1.0.0.tgz#80c6cb5214e04218f1f2a3c8e2b1b830420f0b9f"
|
||||
dependencies:
|
||||
async-each-series "0.1.1"
|
||||
connect-history-api-fallback "^1.1.0"
|
||||
immutable "^3.7.6"
|
||||
server-destroy "1.0.1"
|
||||
socket.io-client "2.0.4"
|
||||
stream-throttle "^0.1.3"
|
||||
|
||||
browser-sync@^2.21.0:
|
||||
version "2.21.0"
|
||||
resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.21.0.tgz#91cde3a8452f22f355ebe717ca1b3c1dbf9ca096"
|
||||
browser-sync@^2.19.0:
|
||||
version "2.19.0"
|
||||
resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.19.0.tgz#8727742a87b6f6320fb293238a6ec8db57e4939a"
|
||||
dependencies:
|
||||
browser-sync-ui v1.0.1
|
||||
browser-sync-client "2.5.1"
|
||||
browser-sync-ui "1.0.0"
|
||||
bs-recipes "1.3.4"
|
||||
chokidar "1.7.0"
|
||||
connect "3.5.0"
|
||||
@ -623,8 +622,6 @@ browser-sync@^2.21.0:
|
||||
easy-extender "2.3.2"
|
||||
eazy-logger "3.0.2"
|
||||
emitter-steward "^1.0.0"
|
||||
etag "^1.8.1"
|
||||
fresh "^0.5.2"
|
||||
fs-extra "3.0.1"
|
||||
http-proxy "1.15.2"
|
||||
immutable "3.8.1"
|
||||
@ -638,7 +635,7 @@ browser-sync@^2.21.0:
|
||||
serve-index "1.8.0"
|
||||
serve-static "1.12.2"
|
||||
server-destroy "1.0.1"
|
||||
socket.io "2.0.4"
|
||||
socket.io "1.6.0"
|
||||
socket.io-client "1.6.0"
|
||||
ua-parser-js "0.7.12"
|
||||
yargs "6.4.0"
|
||||
@ -1241,7 +1238,7 @@ debug@3.X, debug@^3.0.1, debug@^3.1.0:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@^2.1.1, debug@^2.2.0, debug@^2.3.3, debug@~2.6.4, debug@~2.6.6, debug@~2.6.9:
|
||||
debug@^2.1.1, debug@^2.2.0, debug@^2.3.3:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
dependencies:
|
||||
@ -1497,22 +1494,6 @@ engine.io-client@1.8.0:
|
||||
xmlhttprequest-ssl "1.5.3"
|
||||
yeast "0.1.2"
|
||||
|
||||
engine.io-client@~3.1.0:
|
||||
version "3.1.4"
|
||||
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.4.tgz#4fcf1370b47163bd2ce9be2733972430350d4ea1"
|
||||
dependencies:
|
||||
component-emitter "1.2.1"
|
||||
component-inherit "0.0.3"
|
||||
debug "~2.6.9"
|
||||
engine.io-parser "~2.1.1"
|
||||
has-cors "1.1.0"
|
||||
indexof "0.0.1"
|
||||
parseqs "0.0.5"
|
||||
parseuri "0.0.5"
|
||||
ws "~3.3.1"
|
||||
xmlhttprequest-ssl "~1.5.4"
|
||||
yeast "0.1.2"
|
||||
|
||||
engine.io-parser@1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf"
|
||||
@ -1524,28 +1505,16 @@ engine.io-parser@1.3.1:
|
||||
has-binary "0.1.6"
|
||||
wtf-8 "1.0.0"
|
||||
|
||||
engine.io-parser@~2.1.0, engine.io-parser@~2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.1.tgz#e0fb3f0e0462f7f58bb77c1a52e9f5a7e26e4668"
|
||||
dependencies:
|
||||
after "0.8.2"
|
||||
arraybuffer.slice "0.0.6"
|
||||
base64-arraybuffer "0.1.5"
|
||||
blob "0.0.4"
|
||||
has-binary2 "~1.0.2"
|
||||
|
||||
engine.io@~3.1.0:
|
||||
version "3.1.4"
|
||||
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.4.tgz#3d0211b70a552ce841ffc7da8627b301a9a4162e"
|
||||
engine.io@1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.0.tgz#3eeb5f264cb75dbbec1baaea26d61f5a4eace2aa"
|
||||
dependencies:
|
||||
accepts "1.3.3"
|
||||
base64id "1.0.0"
|
||||
base64id "0.1.0"
|
||||
cookie "0.3.1"
|
||||
debug "~2.6.9"
|
||||
engine.io-parser "~2.1.0"
|
||||
ws "~3.3.1"
|
||||
optionalDependencies:
|
||||
uws "~0.14.4"
|
||||
debug "2.3.3"
|
||||
engine.io-parser "1.3.1"
|
||||
ws "1.1.1"
|
||||
|
||||
entities@1.0:
|
||||
version "1.0.0"
|
||||
@ -1794,7 +1763,7 @@ esutils@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
|
||||
|
||||
etag@^1.8.1, etag@~1.8.0:
|
||||
etag@^1.7.0, etag@~1.8.0:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||
|
||||
@ -2129,9 +2098,9 @@ fresh@0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
|
||||
|
||||
fresh@^0.5.2:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
|
||||
fresh@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
|
||||
|
||||
from@~0:
|
||||
version "0.1.7"
|
||||
@ -2736,12 +2705,6 @@ has-ansi@^2.0.0:
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
has-binary2@~1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98"
|
||||
dependencies:
|
||||
isarray "2.0.1"
|
||||
|
||||
has-binary@0.1.6:
|
||||
version "0.1.6"
|
||||
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10"
|
||||
@ -3294,10 +3257,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||
|
||||
isarray@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
@ -4164,6 +4123,10 @@ oauth-sign@~0.8.1, oauth-sign@~0.8.2:
|
||||
version "0.8.2"
|
||||
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
|
||||
|
||||
object-assign@4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
|
||||
|
||||
object-assign@4.1.x, object-assign@4.X, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
||||
@ -5154,9 +5117,12 @@ sntp@2.x.x:
|
||||
dependencies:
|
||||
hoek "4.x.x"
|
||||
|
||||
socket.io-adapter@~1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b"
|
||||
socket.io-adapter@0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
|
||||
dependencies:
|
||||
debug "2.3.3"
|
||||
socket.io-parser "2.3.1"
|
||||
|
||||
socket.io-client@1.6.0:
|
||||
version "1.6.0"
|
||||
@ -5174,24 +5140,6 @@ socket.io-client@1.6.0:
|
||||
socket.io-parser "2.3.1"
|
||||
to-array "0.1.4"
|
||||
|
||||
socket.io-client@2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e"
|
||||
dependencies:
|
||||
backo2 "1.0.2"
|
||||
base64-arraybuffer "0.1.5"
|
||||
component-bind "1.0.0"
|
||||
component-emitter "1.2.1"
|
||||
debug "~2.6.4"
|
||||
engine.io-client "~3.1.0"
|
||||
has-cors "1.1.0"
|
||||
indexof "0.0.1"
|
||||
object-component "0.0.3"
|
||||
parseqs "0.0.5"
|
||||
parseuri "0.0.5"
|
||||
socket.io-parser "~3.1.1"
|
||||
to-array "0.1.4"
|
||||
|
||||
socket.io-parser@2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
|
||||
@ -5201,24 +5149,17 @@ socket.io-parser@2.3.1:
|
||||
isarray "0.0.1"
|
||||
json3 "3.3.2"
|
||||
|
||||
socket.io-parser@~3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.2.tgz#dbc2282151fc4faebbe40aeedc0772eba619f7f2"
|
||||
socket.io@1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.6.0.tgz#3e40d932637e6bd923981b25caf7c53e83b6e2e1"
|
||||
dependencies:
|
||||
component-emitter "1.2.1"
|
||||
debug "~2.6.4"
|
||||
has-binary2 "~1.0.2"
|
||||
isarray "2.0.1"
|
||||
|
||||
socket.io@2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014"
|
||||
dependencies:
|
||||
debug "~2.6.6"
|
||||
engine.io "~3.1.0"
|
||||
socket.io-adapter "~1.1.0"
|
||||
socket.io-client "2.0.4"
|
||||
socket.io-parser "~3.1.1"
|
||||
debug "2.3.3"
|
||||
engine.io "1.8.0"
|
||||
has-binary "0.1.7"
|
||||
object-assign "4.1.0"
|
||||
socket.io-adapter "0.5.0"
|
||||
socket.io-client "1.6.0"
|
||||
socket.io-parser "2.3.1"
|
||||
|
||||
source-map-resolve@^0.3.0:
|
||||
version "0.3.1"
|
||||
@ -5717,20 +5658,13 @@ uglify-js@3.1.x:
|
||||
commander "~2.11.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglify-js@3.2.x:
|
||||
uglify-js@3.2.x, uglify-js@^3.0.5:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.2.2.tgz#870e4b34ed733d179284f9998efd3293f7fd73f6"
|
||||
dependencies:
|
||||
commander "~2.12.1"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglify-js@^3.0.5:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.0.tgz#5d36460ccdb144a7aedb13f0dcdb7a76909e6682"
|
||||
dependencies:
|
||||
commander "~2.12.1"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uid-number@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
|
||||
@ -5739,10 +5673,6 @@ ultron@1.0.x:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
|
||||
|
||||
ultron@~1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
|
||||
|
||||
unc-path-regex@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
|
||||
@ -5868,10 +5798,6 @@ uuid@^3.0.0, uuid@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
|
||||
|
||||
uws@~0.14.4:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc"
|
||||
|
||||
v8flags@^2.0.9:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
|
||||
@ -6020,14 +5946,6 @@ ws@1.1.1:
|
||||
options ">=0.0.5"
|
||||
ultron "1.0.x"
|
||||
|
||||
ws@~3.3.1:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
safe-buffer "~5.1.0"
|
||||
ultron "~1.1.0"
|
||||
|
||||
wtf-8@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
|
||||
@ -6051,10 +5969,6 @@ xmlhttprequest-ssl@1.5.3:
|
||||
version "1.5.3"
|
||||
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
|
||||
|
||||
xmlhttprequest-ssl@~1.5.4:
|
||||
version "1.5.4"
|
||||
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz#04f560915724b389088715cc0ed7813e9677bf57"
|
||||
|
||||
"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
|
||||
|
Loading…
Reference in New Issue
Block a user