@deck.gl/react
Advanced tools
Comparing version 5.3.0-alpha.1 to 5.3.0-alpha.2
@@ -66,2 +66,4 @@ "use strict"; | ||
canvas: this.deckCanvas, | ||
viewState: this._getViewState(this.props), | ||
// Note: If Deck event handling changes size, it calls onResize to update | ||
onResize: size => this.forceUpdate() | ||
@@ -96,2 +98,18 @@ })); | ||
pickMultipleObjects({ | ||
x, | ||
y, | ||
radius = 0, | ||
layerIds = null, | ||
depth = 10 | ||
}) { | ||
return this.deck.pickMultipleObjects({ | ||
x, | ||
y, | ||
radius, | ||
layerIds, | ||
depth | ||
}); | ||
} | ||
pickObjects({ | ||
@@ -128,8 +146,40 @@ x, | ||
_updateFromProps(nextProps) { | ||
// Support old "geospatial view state as separate props" style (React only!) | ||
// extract any deck.gl layers masquerading as react elements from props.children | ||
const { | ||
layers, | ||
children | ||
} = this._extractJSXLayers(nextProps.children); | ||
if (this.deck) { | ||
this.deck.setProps(Object.assign({}, nextProps, { | ||
views: this._getViews(nextProps), | ||
viewState: this._getViewState(nextProps), | ||
// Avoid modifying layers array if no JSX layers were found | ||
layers: layers ? [...layers, ...nextProps.layers] : nextProps.layers | ||
})); | ||
} | ||
this.children = children; | ||
} // Support old `viewports` prop (React only!) | ||
_getViews(props) { | ||
if (props.viewports) { | ||
log.deprecated('DeckGL.viewports', 'DeckGL.views')(); | ||
} | ||
if (props.viewport) { | ||
log.deprecated('DeckGL.viewport', 'DeckGL.views')(); | ||
} | ||
return props.views || props.viewports || props.viewport && [props.viewport]; | ||
} // Supports old "geospatial view state as separate props" style (React only!) | ||
_getViewState(props) { | ||
let { | ||
viewState | ||
} = nextProps; | ||
} = props; | ||
if (!viewState) { | ||
if (!viewState && 'latitude' in props && 'longitude' in props && 'zoom' in props) { | ||
const { | ||
@@ -139,6 +189,6 @@ latitude, | ||
zoom, | ||
pitch, | ||
bearing | ||
} = nextProps; | ||
viewState = nextProps.viewState || { | ||
pitch = 0, | ||
bearing = 0 | ||
} = props; | ||
viewState = props.viewState || { | ||
latitude, | ||
@@ -150,31 +200,5 @@ longitude, | ||
}; | ||
} // Support old `viewports` prop (React only!) | ||
const views = nextProps.views || nextProps.viewports || nextProps.viewport && [nextProps.viewport]; | ||
if (nextProps.viewports) { | ||
log.deprecated('DeckGL.viewports', 'DeckGL.views')(); | ||
} | ||
if (nextProps.viewport) { | ||
log.deprecated('DeckGL.viewport', 'DeckGL.views')(); | ||
} // extract any deck.gl layers masquerading as react elements from props.children | ||
const { | ||
layers, | ||
children | ||
} = this._extractJSXLayers(nextProps.children); | ||
if (this.deck) { | ||
this.deck.setProps(Object.assign({}, nextProps, { | ||
views, | ||
viewState, | ||
// Avoid modifying layers array if no JSX layers were found | ||
layers: layers ? [...layers, ...nextProps.layers] : nextProps.layers | ||
})); | ||
} | ||
this.children = children; | ||
return viewState; | ||
} // extracts any deck.gl layers masquerading as react elements from props.children | ||
@@ -317,2 +341,2 @@ | ||
DeckGL.defaultProps = defaultProps; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWNrZ2wuanMiXSwibmFtZXMiOlsibG9nIiwicHJvcFR5cGVzIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0UHJvcFR5cGVzIiwidmlld3BvcnRzIiwiYXJyYXkiLCJ2aWV3cG9ydCIsIm9iamVjdCIsImRlZmF1bHRQcm9wcyIsIkRlY2tHTCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsImNoaWxkcmVuIiwiY29tcG9uZW50RGlkTW91bnQiLCJkZWNrIiwiY2FudmFzIiwiZGVja0NhbnZhcyIsIm9uUmVzaXplIiwic2l6ZSIsImZvcmNlVXBkYXRlIiwiX3VwZGF0ZUZyb21Qcm9wcyIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJuZXh0UHJvcHMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImZpbmFsaXplIiwicGlja09iamVjdCIsIngiLCJ5IiwicmFkaXVzIiwibGF5ZXJJZHMiLCJwaWNrT2JqZWN0cyIsIndpZHRoIiwiaGVpZ2h0IiwicXVlcnlPYmplY3QiLCJvcHRzIiwiZGVwcmVjYXRlZCIsInF1ZXJ5VmlzaWJsZU9iamVjdHMiLCJ2aWV3U3RhdGUiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInpvb20iLCJwaXRjaCIsImJlYXJpbmciLCJ2aWV3cyIsImxheWVycyIsIl9leHRyYWN0SlNYTGF5ZXJzIiwic2V0UHJvcHMiLCJyZWFjdENoaWxkcmVuIiwiQ2hpbGRyZW4iLCJmb3JFYWNoIiwicmVhY3RFbGVtZW50IiwiTGF5ZXJUeXBlIiwidHlwZSIsImxheWVyIiwicHVzaCIsIl9yZW5kZXJDaGlsZHJlblVuZGVyVmlld3MiLCJnZXRWaWV3cG9ydHMiLCJ2aWV3TWFwIiwidmlldyIsImlkIiwibWFwIiwiY2hpbGQiLCJpIiwidmlld0lkIiwiX3Bvc2l0aW9uQ2hpbGQiLCJ2aWV3cG9ydElkIiwibmV3UHJvcHMiLCJnZXRNZXJjYXRvclBhcmFtcyIsInZpc2libGUiLCJpc01hcFN5bmNoZWQiLCJjbG9u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QUFDQTs7QUFDQSxVQUFNNkQsUUFBUXhFLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCO0FBQUN3RSxnQkFBVSxVQUFYO0FBQXVCQyxZQUFNLENBQTdCO0FBQWdDQyxXQUFLO0FBQXJDLEtBQWxCLEVBQTJELEtBQUtoRSxLQUFMLENBQVc2RCxLQUF0RSxDQUFkO0FBRUEsVUFBTXhELFNBQVMsMEJBQWMsUUFBZCxFQUF3QjtBQUNyQzhELFdBQUtDLEtBQU0sS0FBSzlELFVBQUwsR0FBa0I4RCxDQURRO0FBRXJDSCxXQUFLLGFBRmdDO0FBR3JDaEIsUUFIcUM7QUFJckNZO0FBSnFDLEtBQXhCLENBQWYsQ0FYTyxDQWtCUDs7QUFDQTNELGFBQVMwQyxJQUFULENBQWN2QyxNQUFkO0FBRUEsV0FBTywwQkFBYyxLQUFkLEVBQXFCO0FBQUM0QyxVQUFJO0FBQUwsS0FBckIsRUFBNkMvQyxRQUE3QyxDQUFQO0FBQ0Q7O0FBdkxpRDs7a0JBQS9CTCxNO0FBMExyQkEsT0FBT1QsU0FBUCxHQUFtQkEsU0FBbkI7QUFDQVMsT0FBT0QsWUFBUCxHQUFzQkEsWUFBdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlRWxlbWVudCwgY2xvbmVFbGVtZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGF1dG9iaW5kIGZyb20gJy4vdXRpbHMvYXV0b2JpbmQnO1xuaW1wb3J0IHtpbmhlcml0c0Zyb219IGZyb20gJy4vdXRpbHMvaW5oZXJpdHMtZnJvbSc7XG5pbXBvcnQge0RlY2ssIExheWVyLCBleHBlcmltZW50YWx9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuY29uc3Qge2xvZ30gPSBleHBlcmltZW50YWw7XG5cbmNvbnN0IHByb3BUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIERlY2suZ2V0UHJvcFR5cGVzKFByb3BUeXBlcyksIHtcbiAgdmlld3BvcnRzOiBQcm9wVHlwZXMuYXJyYXksIC8vIERlcHJlY2F0ZWRcbiAgdmlld3BvcnQ6IFByb3BUeXBlcy5vYmplY3QgLy8gRGVwcmVjYXRlZFxufSk7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IERlY2suZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWNrR0wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge307XG4gICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgIGF1dG9iaW5kKHRoaXMpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5kZWNrID0gbmV3IERlY2soXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BzLCB7XG4gICAgICAgIGNhbnZhczogdGhpcy5kZWNrQ2FudmFzLFxuICAgICAgICBvblJlc2l6ZTogc2l6ZSA9PiB0aGlzLmZvcmNlVXBkYXRlKClcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLl91cGRhdGVGcm9tUHJvcHModGhpcy5wcm9wcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIHRoaXMuX3VwZGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kZWNrLmZpbmFsaXplKCk7XG4gIH1cblxuICAvLyBQdWJsaWMgQVBJXG5cbiAgcGlja09iamVjdCh7eCwgeSwgcmFkaXVzID0gMCwgbGF5ZXJJZHMgPSBudWxsfSkge1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja09iamVjdCh7eCwgeSwgcmFkaXVzLCBsYXllcklkc30pO1xuICB9XG5cbiAgcGlja09iamVjdHMoe3gsIHksIHdpZHRoID0gMSwgaGVpZ2h0ID0gMSwgbGF5ZXJJZHMgPSBudWxsfSkge1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja09iamVjdHMoe3gsIHksIHdpZHRoLCBoZWlnaHQsIGxheWVySWRzfSk7XG4gIH1cblxuICBxdWVyeU9iamVjdChvcHRzKSB7XG4gICAgbG9nLmRlcHJlY2F0ZWQoJ3F1ZXJ5T2JqZWN0JywgJ3BpY2tPYmplY3QnKSgpO1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja09iamVjdChvcHRzKTtcbiAgfVxuXG4gIHF1ZXJ5VmlzaWJsZU9iamVjdHMob3B0cykge1xuICAgIGxvZy5kZXByZWNhdGVkKCdxdWVyeVZpc2libGVPYmplY3RzJywgJ3BpY2tPYmplY3RzJykoKTtcbiAgICByZXR1cm4gdGhpcy5waWNrT2JqZWN0cyhvcHRzKTtcbiAgfVxuXG4gIC8vIFByaXZhdGUgSGVscGVyc1xuXG4gIC8vIDEuIEV4dHJhY3QgYW55IEpTWCBsYXllcnMgZnJvbSB0aGUgcmVhY3QgY2hpbGRyZW5cbiAgLy8gMi4gSGFuZGxlIGFueSBiYWNrd2FyZHMgY29tcGF0aWJsaXR5IHByb3BzIGZvciBSZWFjdCBsYXllclxuICAvLyBOZWVkcyB0byBiZSBjYWxsZWQgYm90aCBmcm9tIGluaXRpYWwgbW91bnQsIGFuZCB3aGVuIG5ldyBwcm9wcyBhcnJpdmVcbiAgX3VwZGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMpIHtcbiAgICAvLyBTdXBwb3J0IG9sZCBcImdlb3NwYXRpYWwgdmlldyBzdGF0ZSBhcyBzZXBhcmF0ZSBwcm9wc1wiIHN0eWxlIChSZWFjdCBvbmx5ISlcbiAgICBsZXQge3ZpZXdTdGF0ZX0gPSBuZXh0UHJvcHM7XG4gICAgaWYgKCF2aWV3U3RhdGUpIHtcbiAgICAgIGNvbnN0IHtsYXRpdHVkZSwgbG9uZ2l0dWRlLCB6b29tLCBwaXRjaCwgYmVhcmluZ30gPSBuZXh0UHJvcHM7XG4gICAgICB2aWV3U3RhdGUgPSBuZXh0UHJvcHMudmlld1N0YXRlIHx8IHtsYXRpdHVkZSwgbG9uZ2l0dWRlLCB6b29tLCBwaXRjaCwgYmVhcmluZ307XG4gICAgfVxuXG4gICAgLy8gU3VwcG9ydCBvbGQgYHZpZXdwb3J0c2AgcHJvcCAoUmVhY3Qgb25seSEpXG4gICAgY29uc3Qgdmlld3MgPVxuICAgICAgbmV4dFByb3BzLnZpZXdzIHx8IG5leHRQcm9wcy52aWV3cG9ydHMgfHwgKG5leHRQcm9wcy52aWV3cG9ydCAmJiBbbmV4dFByb3BzLnZpZXdwb3J0XSk7XG4gICAgaWYgKG5leHRQcm9wcy52aWV3cG9ydHMpIHtcbiAgICAgIGxvZy5kZXByZWNhdGVkKCdEZWNrR0wudmlld3BvcnRzJywgJ0RlY2tHTC52aWV3cycpKCk7XG4gICAgfVxuICAgIGlmIChuZXh0UHJvcHMudmlld3BvcnQpIHtcbiAgICAgIGxvZy5kZXByZWNhdGVkKCdEZWNrR0wudmlld3BvcnQnLCAnRGVja0dMLnZpZXdzJykoKTtcbiAgICB9XG5cbiAgICAvLyBleHRyYWN0IGFueSBkZWNrLmdsIGxheWVycyBtYXNxdWVyYWRpbmcgYXMgcmVhY3QgZWxlbWVudHMgZnJvbSBwcm9wcy5jaGlsZHJlblxuICAgIGNvbnN0IHtsYXllcnMsIGNoaWxkcmVufSA9IHRoaXMuX2V4dHJhY3RKU1hMYXllcnMobmV4dFByb3BzLmNoaWxkcmVuKTtcblxuICAgIGlmICh0aGlzLmRlY2spIHtcbiAgICAgIHRoaXMuZGVjay5zZXRQcm9wcyhcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgbmV4dFByb3BzLCB7XG4gICAgICAgICAgdmlld3MsXG4gICAgICAgICAgdmlld1N0YXRlLFxuICAgICAgICAgIC8vIEF2b2lkIG1vZGlmeWluZyBsYXllcnMgYXJyYXkgaWYgbm8gSlNYIGxheWVycyB3ZXJlIGZvdW5kXG4gICAgICAgICAgbGF5ZXJzOiBsYXllcnMgPyBbLi4ubGF5ZXJzLCAuLi5uZXh0UHJvcHMubGF5ZXJzXSA6IG5leHRQcm9wcy5sYXllcnNcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9XG5cbiAgLy8gZXh0cmFjdHMgYW55IGRlY2suZ2wgbGF5ZXJzIG1hc3F1ZXJhZGluZyBhcyByZWFjdCBlbGVtZW50cyBmcm9tIHByb3BzLmNoaWxkcmVuXG4gIF9leHRyYWN0SlNYTGF5ZXJzKGNoaWxkcmVuKSB7XG4gICAgY29uc3QgcmVhY3RDaGlsZHJlbiA9IFtdOyAvLyBleHRyYWN0IHJlYWwgcmVhY3QgZWxlbWVudHMgKGkuZS4gbm90IGRlY2suZ2wgbGF5ZXJzKVxuICAgIGxldCBsYXllcnMgPSBudWxsOyAvLyBleHRyYWN0ZWQgbGF5ZXIgZnJvbSByZWFjdCBjaGlsZHJlbiwgd2lsbCBhZGQgdG8gZGVjay5nbCBsYXllciBhcnJheVxuXG4gICAgUmVhY3QuQ2hpbGRyZW4uZm9yRWFjaChjaGlsZHJlbiwgcmVhY3RFbGVtZW50ID0+IHtcbiAgICAgIGlmIChyZWFjdEVsZW1lbnQpIHtcbiAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIENoaWxkcmVuLmZvckVhY2ggZG9lc24ndCBmaWx0ZXIgb3V0IGBudWxsYHNcbiAgICAgICAgY29uc3QgTGF5ZXJUeXBlID0gcmVhY3RFbGVtZW50LnR5cGU7XG4gICAgICAgIGlmIChpbmhlcml0c0Zyb20oTGF5ZXJUeXBlLCBMYXllcikpIHtcbiAgICAgICAgICBjb25zdCBsYXllciA9IG5ldyBMYXllclR5cGUocmVhY3RFbGVtZW50LnByb3BzKTtcbiAgICAgICAgICBsYXllcnMgPSBsYXllcnMgfHwgW107XG4gICAgICAgICAgbGF5ZXJzLnB1c2gobGF5ZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlYWN0Q2hpbGRyZW4ucHVzaChyZWFjdEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge2xheWVycywgY2hpbGRyZW46IHJlYWN0Q2hpbGRyZW59O1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvdmVyIHZpZXdzIGFuZCByZXBvc2l0aW9uIGNoaWxkcmVuIGFzc29jaWF0ZWQgd2l0aCB2aWV3c1xuICAvLyBUT0RPIC0gQ2FuIHdlIHN1cHBseSBhIHNpbWlsYXIgZnVuY3Rpb24gZm9yIHRoZSBub24tUmVhY3QgY2FzZT9cbiAgX3JlbmRlckNoaWxkcmVuVW5kZXJWaWV3cyhjaGlsZHJlbikge1xuICAgIC8vIEZsYXR0ZW4gb3V0IG5lc3RlZCB2aWV3cyBhcnJheVxuICAgIGNvbnN0IHZpZXdzID0gdGhpcy5kZWNrID8gdGhpcy5kZWNrLmdldFZpZXdwb3J0cygpIDogW107XG5cbiAgICAvLyBCdWlsZCBhIHZpZXcgaWQgdG8gdmlldyBpbmRleFxuICAgIGNvbnN0IHZpZXdNYXAgPSB7fTtcbiAgICB2aWV3cy5mb3JFYWNoKHZpZXcgPT4ge1xuICAgICAgaWYgKHZpZXcuaWQpIHtcbiAgICAgICAgdmlld01hcFt2aWV3LmlkXSA9IHZpZXc7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKFxuICAgICAgLy8gSWYgY2hpbGQgc3BlY2lmaWVzIHByb3BzLnZpZXdJZCwgcG9zaXRpb24gdW5kZXIgdmlldywgb3RoZXJ3aXNlIHJlbmRlciBhcyBub3JtYWxcbiAgICAgIChjaGlsZCwgaSkgPT5cbiAgICAgICAgY2hpbGQucHJvcHMudmlld0lkIHx8IGNoaWxkLnByb3BzLnZpZXdJZCA/IHRoaXMuX3Bvc2l0aW9uQ2hpbGQoe2NoaWxkLCB2aWV3TWFwLCBpfSkgOiBjaGlsZFxuICAgICk7XG4gIH1cblxuICBfcG9zaXRpb25DaGlsZCh7Y2hpbGQsIHZpZXdNYXAsIGl9KSB7XG4gICAgY29uc3Qge3ZpZXdJZCwgdmlld3BvcnRJZH0gPSBjaGlsZC5wcm9wcztcbiAgICBpZiAodmlld3BvcnRJZCkge1xuICAgICAgbG9nLmRlcHJlY2F0ZWQoJ3ZpZXdwb3J0SWQnLCAndmlld0lkJykoKTtcbiAgICB9XG4gICAgY29uc3QgdmlldyA9IHZpZXdNYXBbdmlld0lkIHx8IHZpZXdwb3J0SWRdO1xuXG4gICAgLy8gRHJvcCAoYXV0by1oaWRlKSBlbGVtZW50cyB3aXRoIHZpZXdJZCB0aGF0IGFyZSBub3QgbWF0Y2hlZCBieSBhbnkgY3VycmVudCB2aWV3XG4gICAgaWYgKCF2aWV3KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBSZXNvbHZlIHBvdGVudGlhbGx5IHJlbGF0aXZlIGRpbWVuc2lvbnMgdXNpbmcgdGhlIGRlY2suZ2wgY29udGFpbmVyIHNpemVcbiAgICBjb25zdCB7eCwgeSwgd2lkdGgsIGhlaWdodH0gPSB2aWV3O1xuXG4gICAgLy8gQ2xvbmUgdGhlIGVsZW1lbnQgd2l0aCB3aWR0aCBhbmQgaGVpZ2h0IHNldCBwZXIgdmlld1xuICAgIGNvbnN0IG5ld1Byb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgY2hpbGQucHJvcHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG5cbiAgICAvLyBJbmplY3QgbWFwIHByb3BlcnRpZXNcbiAgICAvLyBUT0RPIC0gdGhpcyBpcyB0b28gcmVhY3QtbWFwLWdsIHNwZWNpZmljXG4gICAgT2JqZWN0LmFzc2lnbihuZXdQcm9wcywgdmlldy5nZXRNZXJjYXRvclBhcmFtcygpLCB7XG4gICAgICB2aXNpYmxlOiB2aWV3LmlzTWFwU3luY2hlZCgpXG4gICAgfSk7XG5cbiAgICBjb25zdCBjbG9uZSA9IGNsb25lRWxlbWVudChjaGlsZCwgbmV3UHJvcHMpO1xuXG4gICAgLy8gV3JhcCBpdCBpbiBhbiBhYnNvbHV0ZWx5IHBvc2l0aW9uaW5nIGRpdlxuICAgIGNvbnN0IHN0eWxlID0ge3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCBsZWZ0OiB4LCB0b3A6IHksIHdpZHRoLCBoZWlnaHR9O1xuICAgIGNvbnN0IGtleSA9IGB2aWV3LWNoaWxkLSR7dmlld0lkfS0ke2l9YDtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCgnZGl2Jywge2tleSwgaWQ6IGtleSwgc3R5bGV9LCBjbG9uZSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgLy8gUmVuZGVyIHRoZSBiYWNrZ3JvdW5kIGVsZW1lbnRzICh0eXBpY2FsbHkgcmVhY3QtbWFwLWdsIGluc3RhbmNlcylcbiAgICAvLyB1c2luZyB0aGUgdmlldyBkZXNjcmlwdG9yc1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5fcmVuZGVyQ2hpbGRyZW5VbmRlclZpZXdzKHRoaXMuY2hpbGRyZW4pO1xuXG4gICAgLy8gTm90ZSB0aGF0IHdpZHRoIGFuZCBoZWlnaHQgYXJlIGhhbmRsZWQgYnkgZGVjay5nbFxuICAgIGNvbnN0IHtpZH0gPSB0aGlzLnByb3BzO1xuICAgIC8vIFRPRE8gLSB0aGlzIHN0eWxpbmcgaXMgZW5mb3JjZWQgZm9yIGNvcnJlY3QgcG9zaXRpb25pbmcgd2l0aCBjaGlsZHJlblxuICAgIC8vIEl0IGNhbiBvdmVycmlkZSB0aGUgc3R5bGluZyBzZXQgYnkgYERlY2tgLCB0aGlzIHNob3VsZCBiZSBjb25zb2xpZGF0ZWQuXG4gICAgY29uc3Qgc3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCB7cG9zaXRpb246ICdhYnNvbHV0ZScsIGxlZnQ6IDAsIHRvcDogMH0sIHRoaXMucHJvcHMuc3R5bGUpO1xuXG4gICAgY29uc3QgY2FudmFzID0gY3JlYXRlRWxlbWVudCgnY2FudmFzJywge1xuICAgICAgcmVmOiBjID0+ICh0aGlzLmRlY2tDYW52YXMgPSBjKSxcbiAgICAgIGtleTogJ2RlY2stY2FudmFzJyxcbiAgICAgIGlkLFxuICAgICAgc3R5bGVcbiAgICB9KTtcblxuICAgIC8vIFJlbmRlciBkZWNrLmdsIGFzIGxhc3QgY2hpbGRcbiAgICBjaGlsZHJlbi5wdXNoKGNhbnZhcyk7XG5cbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCgnZGl2Jywge2lkOiAnZGVja2dsLXdyYXBwZXInfSwgY2hpbGRyZW4pO1xuICB9XG59XG5cbkRlY2tHTC5wcm9wVHlwZXMgPSBwcm9wVHlwZXM7XG5EZWNrR0wuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWNrZ2wuanMiXSwibmFtZXMiOlsibG9nIiwicHJvcFR5cGVzIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0UHJvcFR5cGVzIiwidmlld3BvcnRzIiwiYXJyYXkiLCJ2aWV3cG9ydCIsIm9iamVjdCIsImRlZmF1bHRQcm9wcyIsIkRlY2tHTCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsImNoaWxkcmVuIiwiY29tcG9uZW50RGlkTW91bnQiLCJkZWNrIiwiY2FudmFzIiwiZGVja0NhbnZhcyIsInZpZXdTdGF0ZSIsIl9nZXRWaWV3U3RhdGUiLCJvblJlc2l6ZSIsInNpemUiLCJmb3JjZVVwZGF0ZSIsIl91cGRhdGVGcm9tUHJvcHMiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwibmV4dFByb3BzIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJmaW5hbGl6ZSIsInBpY2tPYmplY3QiLCJ4IiwieSIsInJhZGl1cyIsImxheWVySWRzIiwicGlja011bHRpcGxlT2JqZWN0cyIsImRlcHRoIiwicGlja09iamVjdHMiLCJ3aWR0aCIsImhlaWdodCIsInF1ZXJ5T2JqZWN0Iiwib3B0cyIsImRlcHJlY2F0ZWQiLCJxdWVyeVZpc2libGVPYmplY3RzIiwibGF5ZXJzIiwiX2V4dHJhY3RKU1hMYXllcnMiLCJzZXRQcm9wcyIsInZpZXdzIiwiX2dldFZpZXdzIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJ6b29tIiwicGl0Y2giLCJiZWFyaW5nIiwicmVhY3RDaGlsZHJlbiIsIkNoaWxkcmVuIiwiZm9yRWFjaCIsInJlYWN0RWxlbWVudCIsIkxheWVyVHlwZSIsInR5cGUiLCJsYXllciIsInB1c2giLCJfcmVuZGVyQ2hpbGRyZW5VbmRlclZpZXdzIiwiZ2V0Vmlld3BvcnRzIiwidmlld01hcCIsInZpZXciLCJpZCIsIm1hcCIsImNoaWxkIiwiaSIsInZpZXdJZCIsIl9wb3NpdGlvbkNoaWxkIiwidmlld3BvcnRJZCIsIm5ld1Byb3BzIiwiZ2V0TWVyY2F0b3JQYXJhbXMiLCJ2aXNpYmxlIiwiaXNNYXBTeW5jaGVkIiwiY2xvbmUiLCJzdHlsZSIsInBvc2l0aW9uIiwibGVmdCIsInRvcCIsImtleSIsInJlbmRlciIsInJlZiIsImMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQW9CQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQXhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BLE1BQU07QUFBQ0E7QUFBRCxzQkFBTjtBQUVBLE1BQU1DLFlBQVlDLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLFdBQUtDLFlBQUwscUJBQWxCLEVBQWdEO0FBQ2hFQyxhQUFXLG9CQUFVQyxLQUQyQztBQUNwQztBQUM1QkMsWUFBVSxvQkFBVUMsTUFGNEMsQ0FFckM7O0FBRnFDLENBQWhELENBQWxCO0FBS0EsTUFBTUMsZUFBZSxXQUFLQSxZQUExQjs7QUFFZSxNQUFNQyxNQUFOLFNBQXFCLGdCQUFNQyxTQUEzQixDQUFxQztBQUNsREMsY0FBWUMsS0FBWixFQUFtQjtBQUNqQixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsS0FBTCxHQUFhLEVBQWI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLEVBQWhCO0FBQ0EsNEJBQVMsSUFBVDtBQUNEOztBQUVEQyxzQkFBb0I7QUFDbEIsU0FBS0MsSUFBTCxHQUFZLGVBQ1ZmLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLEtBQUtVLEtBQXZCLEVBQThCO0FBQzVCSyxjQUFRLEtBQUtDLFVBRGU7QUFFNUJDLGlCQUFXLEtBQUtDLGFBQUwsQ0FBbUIsS0FBS1IsS0FBeEIsQ0FGaUI7QUFHNUI7QUFDQVMsZ0JBQVVDLFFBQVEsS0FBS0MsV0FBTDtBQUpVLEtBQTlCLENBRFUsQ0FBWjs7QUFRQSxTQUFLQyxnQkFBTCxDQUFzQixLQUFLWixLQUEzQjtBQUNEOztBQUVEYSw0QkFB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RUFBNkNuRCxRQUE3QyxDQUFQO0FBQ0Q7O0FBbk1pRDs7a0JBQS9CTCxNO0FBc01yQkEsT0FBT1QsU0FBUCxHQUFtQkEsU0FBbkI7QUFDQVMsT0FBT0QsWUFBUCxHQUFzQkEsWUFBdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlRWxlbWVudCwgY2xvbmVFbGVtZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGF1dG9iaW5kIGZyb20gJy4vdXRpbHMvYXV0b2JpbmQnO1xuaW1wb3J0IHtpbmhlcml0c0Zyb219IGZyb20gJy4vdXRpbHMvaW5oZXJpdHMtZnJvbSc7XG5pbXBvcnQge0RlY2ssIExheWVyLCBleHBlcmltZW50YWx9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuY29uc3Qge2xvZ30gPSBleHBlcmltZW50YWw7XG5cbmNvbnN0IHByb3BUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIERlY2suZ2V0UHJvcFR5cGVzKFByb3BUeXBlcyksIHtcbiAgdmlld3BvcnRzOiBQcm9wVHlwZXMuYXJyYXksIC8vIERlcHJlY2F0ZWRcbiAgdmlld3BvcnQ6IFByb3BUeXBlcy5vYmplY3QgLy8gRGVwcmVjYXRlZFxufSk7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IERlY2suZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWNrR0wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge307XG4gICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgIGF1dG9iaW5kKHRoaXMpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5kZWNrID0gbmV3IERlY2soXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BzLCB7XG4gICAgICAgIGNhbnZhczogdGhpcy5kZWNrQ2FudmFzLFxuICAgICAgICB2aWV3U3RhdGU6IHRoaXMuX2dldFZpZXdTdGF0ZSh0aGlzLnByb3BzKSxcbiAgICAgICAgLy8gTm90ZTogSWYgRGVjayBldmVudCBoYW5kbGluZyBjaGFuZ2VzIHNpemUsIGl0IGNhbGxzIG9uUmVzaXplIHRvIHVwZGF0ZVxuICAgICAgICBvblJlc2l6ZTogc2l6ZSA9PiB0aGlzLmZvcmNlVXBkYXRlKClcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLl91cGRhdGVGcm9tUHJvcHModGhpcy5wcm9wcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIHRoaXMuX3VwZGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kZWNrLmZpbmFsaXplKCk7XG4gIH1cblxuICAvLyBQdWJsaWMgQVBJXG5cbiAgcGlja09iamVjdCh7eCwgeSwgcmFkaXVzID0gMCwgbGF5ZXJJZHMgPSBudWxsfSkge1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja09iamVjdCh7eCwgeSwgcmFkaXVzLCBsYXllcklkc30pO1xuICB9XG5cbiAgcGlja011bHRpcGxlT2JqZWN0cyh7eCwgeSwgcmFkaXVzID0gMCwgbGF5ZXJJZHMgPSBudWxsLCBkZXB0aCA9IDEwfSkge1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja011bHRpcGxlT2JqZWN0cyh7eCwgeSwgcmFkaXVzLCBsYXllcklkcywgZGVwdGh9KTtcbiAgfVxuXG4gIHBpY2tPYmplY3RzKHt4LCB5LCB3aWR0aCA9IDEsIGhlaWdodCA9IDEsIGxheWVySWRzID0gbnVsbH0pIHtcbiAgICByZXR1cm4gdGhpcy5kZWNrLnBpY2tPYmplY3RzKHt4LCB5LCB3aWR0aCwgaGVpZ2h0LCBsYXllcklkc30pO1xuICB9XG5cbiAgcXVlcnlPYmplY3Qob3B0cykge1xuICAgIGxvZy5kZXByZWNhdGVkKCdxdWVyeU9iamVjdCcsICdwaWNrT2JqZWN0JykoKTtcbiAgICByZXR1cm4gdGhpcy5kZWNrLnBpY2tPYmplY3Qob3B0cyk7XG4gIH1cblxuICBxdWVyeVZpc2libGVPYmplY3RzKG9wdHMpIHtcbiAgICBsb2cuZGVwcmVjYXRlZCgncXVlcnlWaXNpYmxlT2JqZWN0cycsICdwaWNrT2JqZWN0cycpKCk7XG4gICAgcmV0dXJuIHRoaXMucGlja09iamVjdHMob3B0cyk7XG4gIH1cblxuICAvLyBQcml2YXRlIEhlbHBlcnNcblxuICAvLyAxLiBFeHRyYWN0IGFueSBKU1ggbGF5ZXJzIGZyb20gdGhlIHJlYWN0IGNoaWxkcmVuXG4gIC8vIDIuIEhhbmRsZSBhbnkgYmFja3dhcmRzIGNvbXBhdGlibGl0eSBwcm9wcyBmb3IgUmVhY3QgbGF5ZXJcbiAgLy8gTmVlZHMgdG8gYmUgY2FsbGVkIGJvdGggZnJvbSBpbml0aWFsIG1vdW50LCBhbmQgd2hlbiBuZXcgcHJvcHMgYXJyaXZlXG4gIF91cGRhdGVGcm9tUHJvcHMobmV4dFByb3BzKSB7XG4gICAgLy8gZXh0cmFjdCBhbnkgZGVjay5nbCBsYXllcnMgbWFzcXVlcmFkaW5nIGFzIHJlYWN0IGVsZW1lbnRzIGZyb20gcHJvcHMuY2hpbGRyZW5cbiAgICBjb25zdCB7bGF5ZXJzLCBjaGlsZHJlbn0gPSB0aGlzLl9leHRyYWN0SlNYTGF5ZXJzKG5leHRQcm9wcy5jaGlsZHJlbik7XG5cbiAgICBpZiAodGhpcy5kZWNrKSB7XG4gICAgICB0aGlzLmRlY2suc2V0UHJvcHMoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIG5leHRQcm9wcywge1xuICAgICAgICAgIHZpZXdzOiB0aGlzLl9nZXRWaWV3cyhuZXh0UHJvcHMpLFxuICAgICAgICAgIHZpZXdTdGF0ZTogdGhpcy5fZ2V0Vmlld1N0YXRlKG5leHRQcm9wcyksXG4gICAgICAgICAgLy8gQXZvaWQgbW9kaWZ5aW5nIGxheWVycyBhcnJheSBpZiBubyBKU1ggbGF5ZXJzIHdlcmUgZm91bmRcbiAgICAgICAgICBsYXllcnM6IGxheWVycyA/IFsuLi5sYXllcnMsIC4uLm5leHRQcm9wcy5sYXllcnNdIDogbmV4dFByb3BzLmxheWVyc1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH1cblxuICAvLyBTdXBwb3J0IG9sZCBgdmlld3BvcnRzYCBwcm9wIChSZWFjdCBvbmx5ISlcbiAgX2dldFZpZXdzKHByb3BzKSB7XG4gICAgaWYgKHByb3BzLnZpZXdwb3J0cykge1xuICAgICAgbG9nLmRlcHJlY2F0ZWQoJ0RlY2tHTC52aWV3cG9ydHMnLCAnRGVja0dMLnZpZXdzJykoKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLnZpZXdwb3J0KSB7XG4gICAgICBsb2cuZGVwcmVjYXRlZCgnRGVja0dMLnZpZXdwb3J0JywgJ0RlY2tHTC52aWV3cycpKCk7XG4gICAgfVxuICAgIHJldHVybiBwcm9wcy52aWV3cyB8fCBwcm9wcy52aWV3cG9ydHMgfHwgKHByb3BzLnZpZXdwb3J0ICYmIFtwcm9wcy52aWV3cG9ydF0pO1xuICB9XG5cbiAgLy8gU3VwcG9ydHMgb2xkIFwiZ2Vvc3BhdGlhbCB2aWV3IHN0YXRlIGFzIHNlcGFyYXRlIHByb3BzXCIgc3R5bGUgKFJlYWN0IG9ubHkhKVxuICBfZ2V0Vmlld1N0YXRlKHByb3BzKSB7XG4gICAgbGV0IHt2aWV3U3RhdGV9ID0gcHJvcHM7XG5cbiAgICBpZiAoIXZpZXdTdGF0ZSAmJiAnbGF0aXR1ZGUnIGluIHByb3BzICYmICdsb25naXR1ZGUnIGluIHByb3BzICYmICd6b29tJyBpbiBwcm9wcykge1xuICAgICAgY29uc3Qge2xhdGl0dWRlLCBsb25naXR1ZGUsIHpvb20sIHBpdGNoID0gMCwgYmVhcmluZyA9IDB9ID0gcHJvcHM7XG4gICAgICB2aWV3U3RhdGUgPSBwcm9wcy52aWV3U3RhdGUgfHwge2xhdGl0dWRlLCBsb25naXR1ZGUsIHpvb20sIHBpdGNoLCBiZWFyaW5nfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmlld1N0YXRlO1xuICB9XG5cbiAgLy8gZXh0cmFjdHMgYW55IGRlY2suZ2wgbGF5ZXJzIG1hc3F1ZXJhZGluZyBhcyByZWFjdCBlbGVtZW50cyBmcm9tIHByb3BzLmNoaWxkcmVuXG4gIF9leHRyYWN0SlNYTGF5ZXJzKGNoaWxkcmVuKSB7XG4gICAgY29uc3QgcmVhY3RDaGlsZHJlbiA9IFtdOyAvLyBleHRyYWN0IHJlYWwgcmVhY3QgZWxlbWVudHMgKGkuZS4gbm90IGRlY2suZ2wgbGF5ZXJzKVxuICAgIGxldCBsYXllcnMgPSBudWxsOyAvLyBleHRyYWN0ZWQgbGF5ZXIgZnJvbSByZWFjdCBjaGlsZHJlbiwgd2lsbCBhZGQgdG8gZGVjay5nbCBsYXllciBhcnJheVxuXG4gICAgUmVhY3QuQ2hpbGRyZW4uZm9yRWFjaChjaGlsZHJlbiwgcmVhY3RFbGVtZW50ID0+IHtcbiAgICAgIGlmIChyZWFjdEVsZW1lbnQpIHtcbiAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIENoaWxkcmVuLmZvckVhY2ggZG9lc24ndCBmaWx0ZXIgb3V0IGBudWxsYHNcbiAgICAgICAgY29uc3QgTGF5ZXJUeXBlID0gcmVhY3RFbGVtZW50LnR5cGU7XG4gICAgICAgIGlmIChpbmhlcml0c0Zyb20oTGF5ZXJUeXBlLCBMYXllcikpIHtcbiAgICAgICAgICBjb25zdCBsYXllciA9IG5ldyBMYXllclR5cGUocmVhY3RFbGVtZW50LnByb3BzKTtcbiAgICAgICAgICBsYXllcnMgPSBsYXllcnMgfHwgW107XG4gICAgICAgICAgbGF5ZXJzLnB1c2gobGF5ZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlYWN0Q2hpbGRyZW4ucHVzaChyZWFjdEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge2xheWVycywgY2hpbGRyZW46IHJlYWN0Q2hpbGRyZW59O1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvdmVyIHZpZXdzIGFuZCByZXBvc2l0aW9uIGNoaWxkcmVuIGFzc29jaWF0ZWQgd2l0aCB2aWV3c1xuICAvLyBUT0RPIC0gQ2FuIHdlIHN1cHBseSBhIHNpbWlsYXIgZnVuY3Rpb24gZm9yIHRoZSBub24tUmVhY3QgY2FzZT9cbiAgX3JlbmRlckNoaWxkcmVuVW5kZXJWaWV3cyhjaGlsZHJlbikge1xuICAgIC8vIEZsYXR0ZW4gb3V0IG5lc3RlZCB2aWV3cyBhcnJheVxuICAgIGNvbnN0IHZpZXdzID0gdGhpcy5kZWNrID8gdGhpcy5kZWNrLmdldFZpZXdwb3J0cygpIDogW107XG5cbiAgICAvLyBCdWlsZCBhIHZpZXcgaWQgdG8gdmlldyBpbmRleFxuICAgIGNvbnN0IHZpZXdNYXAgPSB7fTtcbiAgICB2aWV3cy5mb3JFYWNoKHZpZXcgPT4ge1xuICAgICAgaWYgKHZpZXcuaWQpIHtcbiAgICAgICAgdmlld01hcFt2aWV3LmlkXSA9IHZpZXc7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKFxuICAgICAgLy8gSWYgY2hpbGQgc3BlY2lmaWVzIHByb3BzLnZpZXdJZCwgcG9zaXRpb24gdW5kZXIgdmlldywgb3RoZXJ3aXNlIHJlbmRlciBhcyBub3JtYWxcbiAgICAgIChjaGlsZCwgaSkgPT5cbiAgICAgICAgY2hpbGQucHJvcHMudmlld0lkIHx8IGNoaWxkLnByb3BzLnZpZXdJZCA/IHRoaXMuX3Bvc2l0aW9uQ2hpbGQoe2NoaWxkLCB2aWV3TWFwLCBpfSkgOiBjaGlsZFxuICAgICk7XG4gIH1cblxuICBfcG9zaXRpb25DaGlsZCh7Y2hpbGQsIHZpZXdNYXAsIGl9KSB7XG4gICAgY29uc3Qge3ZpZXdJZCwgdmlld3BvcnRJZH0gPSBjaGlsZC5wcm9wcztcbiAgICBpZiAodmlld3BvcnRJZCkge1xuICAgICAgbG9nLmRlcHJlY2F0ZWQoJ3ZpZXdwb3J0SWQnLCAndmlld0lkJykoKTtcbiAgICB9XG4gICAgY29uc3QgdmlldyA9IHZpZXdNYXBbdmlld0lkIHx8IHZpZXdwb3J0SWRdO1xuXG4gICAgLy8gRHJvcCAoYXV0by1oaWRlKSBlbGVtZW50cyB3aXRoIHZpZXdJZCB0aGF0IGFyZSBub3QgbWF0Y2hlZCBieSBhbnkgY3VycmVudCB2aWV3XG4gICAgaWYgKCF2aWV3KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBSZXNvbHZlIHBvdGVudGlhbGx5IHJlbGF0aXZlIGRpbWVuc2lvbnMgdXNpbmcgdGhlIGRlY2suZ2wgY29udGFpbmVyIHNpemVcbiAgICBjb25zdCB7eCwgeSwgd2lkdGgsIGhlaWdodH0gPSB2aWV3O1xuXG4gICAgLy8gQ2xvbmUgdGhlIGVsZW1lbnQgd2l0aCB3aWR0aCBhbmQgaGVpZ2h0IHNldCBwZXIgdmlld1xuICAgIGNvbnN0IG5ld1Byb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgY2hpbGQucHJvcHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG5cbiAgICAvLyBJbmplY3QgbWFwIHByb3BlcnRpZXNcbiAgICAvLyBUT0RPIC0gdGhpcyBpcyB0b28gcmVhY3QtbWFwLWdsIHNwZWNpZmljXG4gICAgT2JqZWN0LmFzc2lnbihuZXdQcm9wcywgdmlldy5nZXRNZXJjYXRvclBhcmFtcygpLCB7XG4gICAgICB2aXNpYmxlOiB2aWV3LmlzTWFwU3luY2hlZCgpXG4gICAgfSk7XG5cbiAgICBjb25zdCBjbG9uZSA9IGNsb25lRWxlbWVudChjaGlsZCwgbmV3UHJvcHMpO1xuXG4gICAgLy8gV3JhcCBpdCBpbiBhbiBhYnNvbHV0ZWx5IHBvc2l0aW9uaW5nIGRpdlxuICAgIGNvbnN0IHN0eWxlID0ge3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCBsZWZ0OiB4LCB0b3A6IHksIHdpZHRoLCBoZWlnaHR9O1xuICAgIGNvbnN0IGtleSA9IGB2aWV3LWNoaWxkLSR7dmlld0lkfS0ke2l9YDtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCgnZGl2Jywge2tleSwgaWQ6IGtleSwgc3R5bGV9LCBjbG9uZSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgLy8gUmVuZGVyIHRoZSBiYWNrZ3JvdW5kIGVsZW1lbnRzICh0eXBpY2FsbHkgcmVhY3QtbWFwLWdsIGluc3RhbmNlcylcbiAgICAvLyB1c2luZyB0aGUgdmlldyBkZXNjcmlwdG9yc1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5fcmVuZGVyQ2hpbGRyZW5VbmRlclZpZXdzKHRoaXMuY2hpbGRyZW4pO1xuXG4gICAgLy8gTm90ZSB0aGF0IHdpZHRoIGFuZCBoZWlnaHQgYXJlIGhhbmRsZWQgYnkgZGVjay5nbFxuICAgIGNvbnN0IHtpZH0gPSB0aGlzLnByb3BzO1xuICAgIC8vIFRPRE8gLSB0aGlzIHN0eWxpbmcgaXMgZW5mb3JjZWQgZm9yIGNvcnJlY3QgcG9zaXRpb25pbmcgd2l0aCBjaGlsZHJlblxuICAgIC8vIEl0IGNhbiBvdmVycmlkZSB0aGUgc3R5bGluZyBzZXQgYnkgYERlY2tgLCB0aGlzIHNob3VsZCBiZSBjb25zb2xpZGF0ZWQuXG4gICAgY29uc3Qgc3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCB7cG9zaXRpb246ICdhYnNvbHV0ZScsIGxlZnQ6IDAsIHRvcDogMH0sIHRoaXMucHJvcHMuc3R5bGUpO1xuXG4gICAgY29uc3QgY2FudmFzID0gY3JlYXRlRWxlbWVudCgnY2FudmFzJywge1xuICAgICAgcmVmOiBjID0+ICh0aGlzLmRlY2tDYW52YXMgPSBjKSxcbiAgICAgIGtleTogJ2RlY2stY2FudmFzJyxcbiAgICAgIGlkLFxuICAgICAgc3R5bGVcbiAgICB9KTtcblxuICAgIC8vIFJlbmRlciBkZWNrLmdsIGFzIGxhc3QgY2hpbGRcbiAgICBjaGlsZHJlbi5wdXNoKGNhbnZhcyk7XG5cbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCgnZGl2Jywge2lkOiAnZGVja2dsLXdyYXBwZXInfSwgY2hpbGRyZW4pO1xuICB9XG59XG5cbkRlY2tHTC5wcm9wVHlwZXMgPSBwcm9wVHlwZXM7XG5EZWNrR0wuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuIl19 |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "5.3.0-alpha.1", | ||
"version": "5.3.0-alpha.2", | ||
"publishConfig": { | ||
@@ -26,3 +26,3 @@ "access": "public" | ||
"dependencies": { | ||
"@deck.gl/core": "^5.3.0-alpha.1", | ||
"@deck.gl/core": "^5.3.0-alpha.2", | ||
"prop-types": "^15.6.0" | ||
@@ -29,0 +29,0 @@ }, |
@@ -47,2 +47,4 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
canvas: this.deckCanvas, | ||
viewState: this._getViewState(this.props), | ||
// Note: If Deck event handling changes size, it calls onResize to update | ||
onResize: size => this.forceUpdate() | ||
@@ -68,2 +70,6 @@ }) | ||
pickMultipleObjects({x, y, radius = 0, layerIds = null, depth = 10}) { | ||
return this.deck.pickMultipleObjects({x, y, radius, layerIds, depth}); | ||
} | ||
pickObjects({x, y, width = 1, height = 1, layerIds = null}) { | ||
@@ -89,19 +95,2 @@ return this.deck.pickObjects({x, y, width, height, layerIds}); | ||
_updateFromProps(nextProps) { | ||
// Support old "geospatial view state as separate props" style (React only!) | ||
let {viewState} = nextProps; | ||
if (!viewState) { | ||
const {latitude, longitude, zoom, pitch, bearing} = nextProps; | ||
viewState = nextProps.viewState || {latitude, longitude, zoom, pitch, bearing}; | ||
} | ||
// Support old `viewports` prop (React only!) | ||
const views = | ||
nextProps.views || nextProps.viewports || (nextProps.viewport && [nextProps.viewport]); | ||
if (nextProps.viewports) { | ||
log.deprecated('DeckGL.viewports', 'DeckGL.views')(); | ||
} | ||
if (nextProps.viewport) { | ||
log.deprecated('DeckGL.viewport', 'DeckGL.views')(); | ||
} | ||
// extract any deck.gl layers masquerading as react elements from props.children | ||
@@ -113,4 +102,4 @@ const {layers, children} = this._extractJSXLayers(nextProps.children); | ||
Object.assign({}, nextProps, { | ||
views, | ||
viewState, | ||
views: this._getViews(nextProps), | ||
viewState: this._getViewState(nextProps), | ||
// Avoid modifying layers array if no JSX layers were found | ||
@@ -125,2 +114,25 @@ layers: layers ? [...layers, ...nextProps.layers] : nextProps.layers | ||
// Support old `viewports` prop (React only!) | ||
_getViews(props) { | ||
if (props.viewports) { | ||
log.deprecated('DeckGL.viewports', 'DeckGL.views')(); | ||
} | ||
if (props.viewport) { | ||
log.deprecated('DeckGL.viewport', 'DeckGL.views')(); | ||
} | ||
return props.views || props.viewports || (props.viewport && [props.viewport]); | ||
} | ||
// Supports old "geospatial view state as separate props" style (React only!) | ||
_getViewState(props) { | ||
let {viewState} = props; | ||
if (!viewState && 'latitude' in props && 'longitude' in props && 'zoom' in props) { | ||
const {latitude, longitude, zoom, pitch = 0, bearing = 0} = props; | ||
viewState = props.viewState || {latitude, longitude, zoom, pitch, bearing}; | ||
} | ||
return viewState; | ||
} | ||
// extracts any deck.gl layers masquerading as react elements from props.children | ||
@@ -127,0 +139,0 @@ _extractJSXLayers(children) { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
93046
1155
Updated@deck.gl/core@^5.3.0-alpha.2