@nebula.gl/layers
Advanced tools
Comparing version 0.18.1 to 0.18.5
@@ -44,3 +44,3 @@ "use strict"; | ||
var EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend', 'dblclick']; | ||
var EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend']; | ||
@@ -64,6 +64,2 @@ var EditableLayer = /*#__PURE__*/function (_CompositeLayer) { | ||
}, { | ||
key: "onDoubleClick", | ||
value: function onDoubleClick(event) {// default implementation - do nothing | ||
} | ||
}, { | ||
key: "onStartDragging", | ||
@@ -188,18 +184,2 @@ value: function onStartDragging(event) {// default implementation - do nothing | ||
}, { | ||
key: "_ondblclick", | ||
value: function _ondblclick(_ref2) { | ||
var srcEvent = _ref2.srcEvent; | ||
var screenCoords = this.getScreenCoords(srcEvent); | ||
var mapCoords = this.getMapCoords(screenCoords); // @ts-ignore | ||
var picks = this.getPicks(screenCoords); | ||
this.onDoubleClick({ | ||
mapCoords: mapCoords, | ||
// @ts-ignore | ||
screenCoords: screenCoords, | ||
picks: picks, | ||
sourceEvent: srcEvent | ||
}); | ||
} | ||
}, { | ||
key: "_onpanstart", | ||
@@ -262,4 +242,4 @@ value: function _onpanstart(event) { | ||
key: "_onpanend", | ||
value: function _onpanend(_ref3) { | ||
var srcEvent = _ref3.srcEvent; | ||
value: function _onpanend(_ref2) { | ||
var srcEvent = _ref2.srcEvent; | ||
var screenCoords = this.getScreenCoords(srcEvent); | ||
@@ -345,2 +325,2 @@ var mapCoords = this.getMapCoords(screenCoords); | ||
_defineProperty(EditableLayer, "layerName", 'EditableLayer'); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvZWRpdGFibGUtbGF5ZXIudHMiXSwibmFtZXMiOlsiRVZFTlRfVFlQRVMiLCJFZGl0YWJsZUxheWVyIiwiZXZlbnQiLCJzZXRTdGF0ZSIsIl9lZGl0YWJsZUxheWVyU3RhdGUiLCJwb2ludGVyRG93blBpY2tzIiwicG9pbnRlckRvd25TY3JlZW5Db29yZHMiLCJwb2ludGVyRG93bk1hcENvb3JkcyIsImV2ZW50SGFuZGxlciIsIl9mb3J3YXJkRXZlbnRUb0N1cnJlbnRMYXllciIsImJpbmQiLCJfYWRkUG9pbnRlckhhbmRsZXJzIiwiX3JlbW92ZVBvaW50ZXJIYW5kbGVycyIsImV2ZW50TWFuYWdlciIsImNvbnRleHQiLCJkZWNrIiwic3RhdGUiLCJldmVudFR5cGUiLCJvbiIsInByaW9yaXR5Iiwib2ZmIiwiY3VycmVudExheWVyIiwiZ2V0Q3VycmVudExheWVyIiwiZnVuYyIsInR5cGUiLCJjb25zb2xlIiwid2FybiIsInNyY0V2ZW50Iiwic2NyZWVuQ29vcmRzIiwiZ2V0U2NyZWVuQ29vcmRzIiwibWFwQ29vcmRzIiwiZ2V0TWFwQ29vcmRzIiwicGlja3MiLCJnZXRQaWNrcyIsIm9uTGF5ZXJDbGljayIsInNvdXJjZUV2ZW50Iiwib25Eb3VibGVDbGljayIsIm9uU3RhcnREcmFnZ2luZyIsImNhbmNlbFBhbiIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsIm9uRHJhZ2dpbmciLCJvblN0b3BEcmFnZ2luZyIsIm9uUG9pbnRlck1vdmUiLCJwaWNrTXVsdGlwbGVPYmplY3RzIiwieCIsInkiLCJsYXllcklkcyIsInByb3BzIiwiaWQiLCJyYWRpdXMiLCJwaWNraW5nUmFkaXVzIiwiZGVwdGgiLCJwaWNraW5nRGVwdGgiLCJwb2ludGVyRXZlbnQiLCJjbGllbnRYIiwiZ2wiLCJjYW52YXMiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRZIiwidmlld3BvcnQiLCJ1bnByb2plY3QiLCJDb21wb3NpdGVMYXllciJd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QyxPQUFiLEdBQ0csS0FBS3hDLE9BQUwsQ0FBYXlDLEVBQWIsQ0FBZ0JDLE1BQWpCLENBQThDQyxxQkFBOUMsR0FBc0ViLENBRm5FLEVBR0xTLFlBQVksQ0FBQ0ssT0FBYixHQUNHLEtBQUs1QyxPQUFMLENBQWF5QyxFQUFiLENBQWdCQyxNQUFqQixDQUE4Q0MscUJBQTlDLEdBQXNFWixDQUpuRSxDQUFQO0FBTUQ7OztpQ0FFWWpCLFksRUFBd0I7QUFDbkM7QUFDQSxhQUFPLEtBQUtkLE9BQUwsQ0FBYTZDLFFBQWIsQ0FBc0JDLFNBQXRCLENBQWdDLENBQUNoQyxZQUFZLENBQUMsQ0FBRCxDQUFiLEVBQWtCQSxZQUFZLENBQUMsQ0FBRCxDQUE5QixDQUFoQyxDQUFQO0FBQ0Q7Ozs7RUFqUXdDaUMsb0I7Ozs7Z0JBQXRCNUQsYSxlQUNBLGUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZW52IGJyb3dzZXIgKi9cblxuaW1wb3J0IHsgQ29tcG9zaXRlTGF5ZXIgfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7XG4gIENsaWNrRXZlbnQsXG4gIFN0YXJ0RHJhZ2dpbmdFdmVudCxcbiAgU3RvcERyYWdnaW5nRXZlbnQsXG4gIERyYWdnaW5nRXZlbnQsXG4gIFBvaW50ZXJNb3ZlRXZlbnQsXG4gIERvdWJsZUNsaWNrRXZlbnQsXG59IGZyb20gJ0BuZWJ1bGEuZ2wvZWRpdC1tb2Rlcyc7XG5cbmNvbnN0IEVWRU5UX1RZUEVTID0gWydhbnljbGljaycsICdwb2ludGVybW92ZScsICdwYW5zdGFydCcsICdwYW5tb3ZlJywgJ3BhbmVuZCcsICdkYmxjbGljayddO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFZGl0YWJsZUxheWVyIGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXI8YW55PiB7XG4gIHN0YXRpYyBsYXllck5hbWUgPSAnRWRpdGFibGVMYXllcic7XG4gIC8vIE92ZXJyaWRhYmxlIGludGVyYWN0aW9uIGV2ZW50IGhhbmRsZXJzXG4gIG9uTGF5ZXJDbGljayhldmVudDogQ2xpY2tFdmVudCkge1xuICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIH1cblxuICBvbkRvdWJsZUNsaWNrKGV2ZW50OiBEb3VibGVDbGlja0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RhcnREcmFnZ2luZyhldmVudDogU3RhcnREcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RvcERyYWdnaW5nKGV2ZW50OiBTdG9wRHJhZ2dpbmdFdmVudCkge1xuICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIH1cblxuICBvbkRyYWdnaW5nKGV2ZW50OiBEcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uUG9pbnRlck1vdmUoZXZlbnQ6IFBvaW50ZXJNb3ZlRXZlbnQpIHt9IC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIC8vIFRPRE86IGltcGxlbWVudCBvbkNhbmNlbERyYWdnaW5nIChlLmcuIGRyYWcgb2ZmIHNjcmVlbilcblxuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfZWRpdGFibGVMYXllclN0YXRlOiB7XG4gICAgICAgIC8vIFBpY2tlZCBvYmplY3RzIGF0IHRoZSB0aW1lIHRoZSBwb2ludGVyIHdlbnQgZG93blxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBudWxsLFxuICAgICAgICAvLyBTY3JlZW4gY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBudWxsLFxuICAgICAgICAvLyBHcm91bmQgY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBudWxsLFxuXG4gICAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIG1qb2xuaXIuanMgZXZlbnQgaGFuZGxlciBzbyBpdCBjYW4gYmUgZGVyZWdpc3RlcmVkXG4gICAgICAgIGV2ZW50SGFuZGxlcjogdGhpcy5fZm9yd2FyZEV2ZW50VG9DdXJyZW50TGF5ZXIuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9hZGRQb2ludGVySGFuZGxlcnMoKTtcbiAgfVxuXG4gIGZpbmFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5fcmVtb3ZlUG9pbnRlckhhbmRsZXJzKCk7XG4gIH1cblxuICBfYWRkUG9pbnRlckhhbmRsZXJzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7IGV2ZW50TWFuYWdlciB9ID0gdGhpcy5jb250ZXh0LmRlY2s7XG4gICAgY29uc3QgeyBldmVudEhhbmRsZXIgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcblxuICAgIGZvciAoY29uc3QgZXZlbnRUeXBlIG9mIEVWRU5UX1RZUEVTKSB7XG4gICAgICBldmVudE1hbmFnZXIub24oZXZlbnRUeXBlLCBldmVudEhhbmRsZXIsIHtcbiAgICAgICAgLy8gZ2l2ZSBuZWJ1bGEgYSBoaWdoZXIgcHJpb3JpdHkgc28gdGhhdCBpdCBjYW4gc3RvcCBwcm9wYWdhdGlvbiB0byBkZWNrLmdsJ3MgbWFwIHBhbm5pbmcgaGFuZGxlcnNcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIF9yZW1vdmVQb2ludGVySGFuZGxlcnMoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHsgZXZlbnRNYW5hZ2VyIH0gPSB0aGlzLmNvbnRleHQuZGVjaztcbiAgICBjb25zdCB7IGV2ZW50SGFuZGxlciB9ID0gdGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlO1xuXG4gICAgZm9yIChjb25zdCBldmVudFR5cGUgb2YgRVZFTlRfVFlQRVMpIHtcbiAgICAgIGV2ZW50TWFuYWdlci5vZmYoZXZlbnRUeXBlLCBldmVudEhhbmRsZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEEgbmV3IGxheWVyIGluc3RhbmNlIGlzIGNyZWF0ZWQgb24gZXZlcnkgcmVuZGVyLCBzbyBmb3J3YXJkIHRoZSBldmVudCB0byB0aGUgY3VycmVudCBsYXllclxuICAvLyBUaGlzIG1lYW5zIHRoYXQgdGhlIGZpcnN0IGxheWVyIGluc3RhbmNlIHdpbGwgc3RpY2sgYXJvdW5kIHRvIGJlIHRoZSBldmVudCBsaXN0ZW5lciwgYnV0IHdpbGwgZm9yd2FyZCB0aGUgZXZlbnRcbiAgLy8gdG8gdGhlIGxhdGVzdCBsYXllciBpbnN0YW5jZS5cbiAgX2ZvcndhcmRFdmVudFRvQ3VycmVudExheWVyKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjdXJyZW50TGF5ZXIgPSB0aGlzLmdldEN1cnJlbnRMYXllcigpO1xuXG4gICAgLy8gVXNlIGEgbmFtaW5nIGNvbnZlbnRpb24gdG8gZmluZCB0aGUgZXZlbnQgaGFuZGxpbmcgZnVuY3Rpb24gZm9yIHRoaXMgZXZlbnQgdHlwZVxuICAgIGNvbnN0IGZ1bmMgPSBjdXJyZW50TGF5ZXJbYF9vbiR7ZXZlbnQudHlwZX1gXS5iaW5kKGN1cnJlbnRMYXllcik7XG4gICAgaWYgKCFmdW5jKSB7XG4gICAgICBjb25zb2xlLndhcm4oYG5vIGhhbmRsZXIgZm9yIG1qb2xuaXIuanMgZXZlbnQgJHtldmVudC50eXBlfWApOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmMoZXZlbnQpO1xuICB9XG5cbiAgX29uYW55Y2xpY2soeyBzcmNFdmVudCB9OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uTGF5ZXJDbGljayh7XG4gICAgICBtYXBDb29yZHMsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBzY3JlZW5Db29yZHMsXG4gICAgICBwaWNrcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbmRibGNsaWNrKHsgc3JjRXZlbnQgfTogYW55KSB7XG4gICAgY29uc3Qgc2NyZWVuQ29vcmRzID0gdGhpcy5nZXRTY3JlZW5Db29yZHMoc3JjRXZlbnQpO1xuICAgIGNvbnN0IG1hcENvb3JkcyA9IHRoaXMuZ2V0TWFwQ29vcmRzKHNjcmVlbkNvb3Jkcyk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vbkRvdWJsZUNsaWNrKHtcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIHBpY2tzLFxuICAgICAgc291cmNlRXZlbnQ6IHNyY0V2ZW50LFxuICAgIH0pO1xuICB9XG5cbiAgX29ucGFuc3RhcnQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKGV2ZW50LnNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwaWNrcyA9IHRoaXMuZ2V0UGlja3Moc2NyZWVuQ29vcmRzKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgX2VkaXRhYmxlTGF5ZXJTdGF0ZToge1xuICAgICAgICAuLi50aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGUsXG4gICAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBzY3JlZW5Db29yZHMsXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBtYXBDb29yZHMsXG4gICAgICAgIHBvaW50ZXJEb3duUGlja3M6IHBpY2tzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMub25TdGFydERyYWdnaW5nKHtcbiAgICAgIHBpY2tzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHM6IHNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBtYXBDb29yZHMsXG4gICAgICBjYW5jZWxQYW46IGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbixcbiAgICAgIHNvdXJjZUV2ZW50OiBldmVudC5zcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBhbm1vdmUoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgc3JjRXZlbnQgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKHNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uRHJhZ2dpbmcoe1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgcGlja3MsXG4gICAgICBwb2ludGVyRG93blBpY2tzLFxuICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHMsXG4gICAgICBwb2ludGVyRG93bk1hcENvb3JkcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICAgIGNhbmNlbFBhbjogZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uLFxuICAgICAgLy8gYW5vdGhlciAoaGFja3kpIGFwcHJvYWNoIGZvciBjYW5jZWxsaW5nIG1hcCBwYW5uaW5nXG4gICAgICAvLyBjb25zdCBjb250cm9sbGVyID0gdGhpcy5jb250ZXh0LmRlY2sudmlld01hbmFnZXIuY29udHJvbGxlcnNbXG4gICAgICAvLyAgIE9iamVjdC5rZXlzKHRoaXMuY29udGV4dC5kZWNrLnZpZXdNYW5hZ2VyLmNvbnRyb2xsZXJzKVswXVxuICAgICAgLy8gXTtcbiAgICAgIC8vIGNvbnRyb2xsZXIuX3N0YXRlLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBhbmVuZCh7IHNyY0V2ZW50IH06IGFueSkge1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKHNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uU3RvcERyYWdnaW5nKHtcbiAgICAgIHBpY2tzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgICBzb3VyY2VFdmVudDogc3JjRXZlbnQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIF9lZGl0YWJsZUxheWVyU3RhdGU6IHtcbiAgICAgICAgLi4udGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlLFxuICAgICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkczogbnVsbCxcbiAgICAgICAgcG9pbnRlckRvd25NYXBDb29yZHM6IG51bGwsXG4gICAgICAgIHBvaW50ZXJEb3duUGlja3M6IG51bGwsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgX29ucG9pbnRlcm1vdmUoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgc3JjRXZlbnQgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKHNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uUG9pbnRlck1vdmUoe1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgcGlja3MsXG4gICAgICBwb2ludGVyRG93blBpY2tzLFxuICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHMsXG4gICAgICBwb2ludGVyRG93bk1hcENvb3JkcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBpY2tzKHNjcmVlbkNvb3JkczogW251bWJlciwgbnVtYmVyXSkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmRlY2sucGlja011bHRpcGxlT2JqZWN0cyh7XG4gICAgICB4OiBzY3JlZW5Db29yZHNbMF0sXG4gICAgICB5OiBzY3JlZW5Db29yZHNbMV0sXG4gICAgICBsYXllcklkczogW3RoaXMucHJvcHMuaWRdLFxuICAgICAgcmFkaXVzOiB0aGlzLnByb3BzLnBpY2tpbmdSYWRpdXMsXG4gICAgICBkZXB0aDogdGhpcy5wcm9wcy5waWNraW5nRGVwdGgsXG4gICAgfSk7XG4gIH1cblxuICBnZXRTY3JlZW5Db29yZHMocG9pbnRlckV2ZW50OiBhbnkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgcG9pbnRlckV2ZW50LmNsaWVudFggLVxuICAgICAgICAodGhpcy5jb250ZXh0LmdsLmNhbnZhcyBhcyBIVE1MQ2FudmFzRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueCxcbiAgICAgIHBvaW50ZXJFdmVudC5jbGllbnRZIC1cbiAgICAgICAgKHRoaXMuY29udGV4dC5nbC5jYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnksXG4gICAgXTtcbiAgfVxuXG4gIGdldE1hcENvb3JkcyhzY3JlZW5Db29yZHM6IG51bWJlcltdKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLmNvbnRleHQudmlld3BvcnQudW5wcm9qZWN0KFtzY3JlZW5Db29yZHNbMF0sIHNjcmVlbkNvb3Jkc1sxXV0pO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvZWRpdGFibGUtbGF5ZXIudHMiXSwibmFtZXMiOlsiRVZFTlRfVFlQRVMiLCJFZGl0YWJsZUxheWVyIiwiZXZlbnQiLCJzZXRTdGF0ZSIsIl9lZGl0YWJsZUxheWVyU3RhdGUiLCJwb2ludGVyRG93blBpY2tzIiwicG9pbnRlckRvd25TY3JlZW5Db29yZHMiLCJwb2ludGVyRG93bk1hcENvb3JkcyIsImV2ZW50SGFuZGxlciIsIl9mb3J3YXJkRXZlbnRUb0N1cnJlbnRMYXllciIsImJpbmQiLCJfYWRkUG9pbnRlckhhbmRsZXJzIiwiX3JlbW92ZVBvaW50ZXJIYW5kbGVycyIsImV2ZW50TWFuYWdlciIsImNvbnRleHQiLCJkZWNrIiwic3RhdGUiLCJldmVudFR5cGUiLCJvbiIsInByaW9yaXR5Iiwib2ZmIiwiY3VycmVudExheWVyIiwiZ2V0Q3VycmVudExheWVyIiwiZnVuYyIsInR5cGUiLCJjb25zb2xlIiwid2FybiIsInNyY0V2ZW50Iiwic2NyZWVuQ29vcmRzIiwiZ2V0U2NyZWVuQ29vcmRzIiwibWFwQ29vcmRzIiwiZ2V0TWFwQ29vcmRzIiwicGlja3MiLCJnZXRQaWNrcyIsIm9uTGF5ZXJDbGljayIsInNvdXJjZUV2ZW50Iiwib25TdGFydERyYWdnaW5nIiwiY2FuY2VsUGFuIiwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwib25EcmFnZ2luZyIsIm9uU3RvcERyYWdnaW5nIiwib25Qb2ludGVyTW92ZSIsInBpY2tNdWx0aXBsZU9iamVjdHMiLCJ4IiwieSIsImxheWVySWRzIiwicHJvcHMiLCJpZCIsInJhZGl1cyIsInBpY2tpbmdSYWRpdXMiLCJkZXB0aCIsInBpY2tpbmdEZXB0aCIsInBvaW50ZXJFdmVudCIsImNsaWVudFgiLCJnbCIsImNhbnZhcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNsaWVudFkiLCJ2aWV3cG9ydCIsInVucHJvamVjdCIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7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b21wb3NpdGVMYXllciB9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2xpY2tFdmVudCxcbiAgU3RhcnREcmFnZ2luZ0V2ZW50LFxuICBTdG9wRHJhZ2dpbmdFdmVudCxcbiAgRHJhZ2dpbmdFdmVudCxcbiAgUG9pbnRlck1vdmVFdmVudCxcbn0gZnJvbSAnQG5lYnVsYS5nbC9lZGl0LW1vZGVzJztcblxuY29uc3QgRVZFTlRfVFlQRVMgPSBbJ2FueWNsaWNrJywgJ3BvaW50ZXJtb3ZlJywgJ3BhbnN0YXJ0JywgJ3Bhbm1vdmUnLCAncGFuZW5kJ107XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVkaXRhYmxlTGF5ZXIgZXh0ZW5kcyBDb21wb3NpdGVMYXllcjxhbnk+IHtcbiAgc3RhdGljIGxheWVyTmFtZSA9ICdFZGl0YWJsZUxheWVyJztcbiAgLy8gT3ZlcnJpZGFibGUgaW50ZXJhY3Rpb24gZXZlbnQgaGFuZGxlcnNcbiAgb25MYXllckNsaWNrKGV2ZW50OiBDbGlja0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RhcnREcmFnZ2luZyhldmVudDogU3RhcnREcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RvcERyYWdnaW5nKGV2ZW50OiBTdG9wRHJhZ2dpbmdFdmVudCkge1xuICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIH1cblxuICBvbkRyYWdnaW5nKGV2ZW50OiBEcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uUG9pbnRlck1vdmUoZXZlbnQ6IFBvaW50ZXJNb3ZlRXZlbnQpIHtcbiAgICAvLyBkZWZhdWx0IGltcGxlbWVudGF0aW9uIC0gZG8gbm90aGluZ1xuICB9XG4gIC8vIFRPRE86IGltcGxlbWVudCBvbkNhbmNlbERyYWdnaW5nIChlLmcuIGRyYWcgb2ZmIHNjcmVlbilcblxuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfZWRpdGFibGVMYXllclN0YXRlOiB7XG4gICAgICAgIC8vIFBpY2tlZCBvYmplY3RzIGF0IHRoZSB0aW1lIHRoZSBwb2ludGVyIHdlbnQgZG93blxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBudWxsLFxuICAgICAgICAvLyBTY3JlZW4gY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBudWxsLFxuICAgICAgICAvLyBHcm91bmQgY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBudWxsLFxuXG4gICAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIG1qb2xuaXIuanMgZXZlbnQgaGFuZGxlciBzbyBpdCBjYW4gYmUgZGVyZWdpc3RlcmVkXG4gICAgICAgIGV2ZW50SGFuZGxlcjogdGhpcy5fZm9yd2FyZEV2ZW50VG9DdXJyZW50TGF5ZXIuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9hZGRQb2ludGVySGFuZGxlcnMoKTtcbiAgfVxuXG4gIGZpbmFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5fcmVtb3ZlUG9pbnRlckhhbmRsZXJzKCk7XG4gIH1cblxuICBfYWRkUG9pbnRlckhhbmRsZXJzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7IGV2ZW50TWFuYWdlciB9ID0gdGhpcy5jb250ZXh0LmRlY2s7XG4gICAgY29uc3QgeyBldmVudEhhbmRsZXIgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcblxuICAgIGZvciAoY29uc3QgZXZlbnRUeXBlIG9mIEVWRU5UX1RZUEVTKSB7XG4gICAgICBldmVudE1hbmFnZXIub24oZXZlbnRUeXBlLCBldmVudEhhbmRsZXIsIHtcbiAgICAgICAgLy8gZ2l2ZSBuZWJ1bGEgYSBoaWdoZXIgcHJpb3JpdHkgc28gdGhhdCBpdCBjYW4gc3RvcCBwcm9wYWdhdGlvbiB0byBkZWNrLmdsJ3MgbWFwIHBhbm5pbmcgaGFuZGxlcnNcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIF9yZW1vdmVQb2ludGVySGFuZGxlcnMoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHsgZXZlbnRNYW5hZ2VyIH0gPSB0aGlzLmNvbnRleHQuZGVjaztcbiAgICBjb25zdCB7IGV2ZW50SGFuZGxlciB9ID0gdGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlO1xuXG4gICAgZm9yIChjb25zdCBldmVudFR5cGUgb2YgRVZFTlRfVFlQRVMpIHtcbiAgICAgIGV2ZW50TWFuYWdlci5vZmYoZXZlbnRUeXBlLCBldmVudEhhbmRsZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEEgbmV3IGxheWVyIGluc3RhbmNlIGlzIGNyZWF0ZWQgb24gZXZlcnkgcmVuZGVyLCBzbyBmb3J3YXJkIHRoZSBldmVudCB0byB0aGUgY3VycmVudCBsYXllclxuICAvLyBUaGlzIG1lYW5zIHRoYXQgdGhlIGZpcnN0IGxheWVyIGluc3RhbmNlIHdpbGwgc3RpY2sgYXJvdW5kIHRvIGJlIHRoZSBldmVudCBsaXN0ZW5lciwgYnV0IHdpbGwgZm9yd2FyZCB0aGUgZXZlbnRcbiAgLy8gdG8gdGhlIGxhdGVzdCBsYXllciBpbnN0YW5jZS5cbiAgX2ZvcndhcmRFdmVudFRvQ3VycmVudExheWVyKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjdXJyZW50TGF5ZXIgPSB0aGlzLmdldEN1cnJlbnRMYXllcigpO1xuXG4gICAgLy8gVXNlIGEgbmFtaW5nIGNvbnZlbnRpb24gdG8gZmluZCB0aGUgZXZlbnQgaGFuZGxpbmcgZnVuY3Rpb24gZm9yIHRoaXMgZXZlbnQgdHlwZVxuICAgIGNvbnN0IGZ1bmMgPSBjdXJyZW50TGF5ZXJbYF9vbiR7ZXZlbnQudHlwZX1gXS5iaW5kKGN1cnJlbnRMYXllcik7XG4gICAgaWYgKCFmdW5jKSB7XG4gICAgICBjb25zb2xlLndhcm4oYG5vIGhhbmRsZXIgZm9yIG1qb2xuaXIuanMgZXZlbnQgJHtldmVudC50eXBlfWApOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmMoZXZlbnQpO1xuICB9XG5cbiAgX29uYW55Y2xpY2soeyBzcmNFdmVudCB9OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uTGF5ZXJDbGljayh7XG4gICAgICBtYXBDb29yZHMsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBzY3JlZW5Db29yZHMsXG4gICAgICBwaWNrcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBhbnN0YXJ0KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhldmVudC5zcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIF9lZGl0YWJsZUxheWVyU3RhdGU6IHtcbiAgICAgICAgLi4udGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlLFxuICAgICAgICBwb2ludGVyRG93blNjcmVlbkNvb3Jkczogc2NyZWVuQ29vcmRzLFxuICAgICAgICBwb2ludGVyRG93bk1hcENvb3JkczogbWFwQ29vcmRzLFxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBwaWNrcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm9uU3RhcnREcmFnZ2luZyh7XG4gICAgICBwaWNrcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBzY3JlZW5Db29yZHMsXG4gICAgICBwb2ludGVyRG93bk1hcENvb3JkczogbWFwQ29vcmRzLFxuICAgICAgY2FuY2VsUGFuOiBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24sXG4gICAgICBzb3VyY2VFdmVudDogZXZlbnQuc3JjRXZlbnQsXG4gICAgfSk7XG4gIH1cblxuICBfb25wYW5tb3ZlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB7IHNyY0V2ZW50IH0gPSBldmVudDtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgIH0gPSB0aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vbkRyYWdnaW5nKHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIHBpY2tzLFxuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgICBzb3VyY2VFdmVudDogc3JjRXZlbnQsXG4gICAgICBjYW5jZWxQYW46IGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbixcbiAgICAgIC8vIGFub3RoZXIgKGhhY2t5KSBhcHByb2FjaCBmb3IgY2FuY2VsbGluZyBtYXAgcGFubmluZ1xuICAgICAgLy8gY29uc3QgY29udHJvbGxlciA9IHRoaXMuY29udGV4dC5kZWNrLnZpZXdNYW5hZ2VyLmNvbnRyb2xsZXJzW1xuICAgICAgLy8gICBPYmplY3Qua2V5cyh0aGlzLmNvbnRleHQuZGVjay52aWV3TWFuYWdlci5jb250cm9sbGVycylbMF1cbiAgICAgIC8vIF07XG4gICAgICAvLyBjb250cm9sbGVyLl9zdGF0ZS5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBfb25wYW5lbmQoeyBzcmNFdmVudCB9OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgIH0gPSB0aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vblN0b3BEcmFnZ2luZyh7XG4gICAgICBwaWNrcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgICAgc291cmNlRXZlbnQ6IHNyY0V2ZW50LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfZWRpdGFibGVMYXllclN0YXRlOiB7XG4gICAgICAgIC4uLnRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZSxcbiAgICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHM6IG51bGwsXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBudWxsLFxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBudWxsLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBvaW50ZXJtb3ZlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB7IHNyY0V2ZW50IH0gPSBldmVudDtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgIH0gPSB0aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vblBvaW50ZXJNb3ZlKHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIHBpY2tzLFxuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgICBzb3VyY2VFdmVudDogc3JjRXZlbnQsXG4gICAgfSk7XG4gIH1cblxuICBnZXRQaWNrcyhzY3JlZW5Db29yZHM6IFtudW1iZXIsIG51bWJlcl0pIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5kZWNrLnBpY2tNdWx0aXBsZU9iamVjdHMoe1xuICAgICAgeDogc2NyZWVuQ29vcmRzWzBdLFxuICAgICAgeTogc2NyZWVuQ29vcmRzWzFdLFxuICAgICAgbGF5ZXJJZHM6IFt0aGlzLnByb3BzLmlkXSxcbiAgICAgIHJhZGl1czogdGhpcy5wcm9wcy5waWNraW5nUmFkaXVzLFxuICAgICAgZGVwdGg6IHRoaXMucHJvcHMucGlja2luZ0RlcHRoLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2NyZWVuQ29vcmRzKHBvaW50ZXJFdmVudDogYW55KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBvaW50ZXJFdmVudC5jbGllbnRYIC1cbiAgICAgICAgKHRoaXMuY29udGV4dC5nbC5jYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLngsXG4gICAgICBwb2ludGVyRXZlbnQuY2xpZW50WSAtXG4gICAgICAgICh0aGlzLmNvbnRleHQuZ2wuY2FudmFzIGFzIEhUTUxDYW52YXNFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS55LFxuICAgIF07XG4gIH1cblxuICBnZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzOiBudW1iZXJbXSkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnZpZXdwb3J0LnVucHJvamVjdChbc2NyZWVuQ29vcmRzWzBdLCBzY3JlZW5Db29yZHNbMV1dKTtcbiAgfVxufVxuIl19 |
@@ -13,6 +13,2 @@ import { Position } from '@nebula.gl/edit-modes'; | ||
}; | ||
export declare type DoubleClickEvent = { | ||
groundCoords: Position; | ||
sourceEvent: any; | ||
}; | ||
export declare type StartDraggingEvent = { | ||
@@ -19,0 +15,0 @@ picks: DeckGLPick[]; |
/// <reference types="deck.gl" /> | ||
import { CompositeLayer } from '@deck.gl/core'; | ||
import { ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent, DoubleClickEvent } from '@nebula.gl/edit-modes'; | ||
import { ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent } from '@nebula.gl/edit-modes'; | ||
export default class EditableLayer extends CompositeLayer<any> { | ||
static layerName: string; | ||
onLayerClick(event: ClickEvent): void; | ||
onDoubleClick(event: DoubleClickEvent): void; | ||
onStartDragging(event: StartDraggingEvent): void; | ||
@@ -18,3 +17,2 @@ onStopDragging(event: StopDraggingEvent): void; | ||
_onanyclick({ srcEvent }: any): void; | ||
_ondblclick({ srcEvent }: any): void; | ||
_onpanstart(event: any): void; | ||
@@ -21,0 +19,0 @@ _onpanmove(event: any): void; |
@@ -44,3 +44,3 @@ "use strict"; | ||
var EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend', 'dblclick']; | ||
var EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend']; | ||
@@ -64,6 +64,2 @@ var EditableLayer = /*#__PURE__*/function (_CompositeLayer) { | ||
}, { | ||
key: "onDoubleClick", | ||
value: function onDoubleClick(event) {// default implementation - do nothing | ||
} | ||
}, { | ||
key: "onStartDragging", | ||
@@ -188,18 +184,2 @@ value: function onStartDragging(event) {// default implementation - do nothing | ||
}, { | ||
key: "_ondblclick", | ||
value: function _ondblclick(_ref2) { | ||
var srcEvent = _ref2.srcEvent; | ||
var screenCoords = this.getScreenCoords(srcEvent); | ||
var mapCoords = this.getMapCoords(screenCoords); // @ts-ignore | ||
var picks = this.getPicks(screenCoords); | ||
this.onDoubleClick({ | ||
mapCoords: mapCoords, | ||
// @ts-ignore | ||
screenCoords: screenCoords, | ||
picks: picks, | ||
sourceEvent: srcEvent | ||
}); | ||
} | ||
}, { | ||
key: "_onpanstart", | ||
@@ -262,4 +242,4 @@ value: function _onpanstart(event) { | ||
key: "_onpanend", | ||
value: function _onpanend(_ref3) { | ||
var srcEvent = _ref3.srcEvent; | ||
value: function _onpanend(_ref2) { | ||
var srcEvent = _ref2.srcEvent; | ||
var screenCoords = this.getScreenCoords(srcEvent); | ||
@@ -345,2 +325,2 @@ var mapCoords = this.getMapCoords(screenCoords); | ||
_defineProperty(EditableLayer, "layerName", 'EditableLayer'); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvZWRpdGFibGUtbGF5ZXIudHMiXSwibmFtZXMiOlsiRVZFTlRfVFlQRVMiLCJFZGl0YWJsZUxheWVyIiwiZXZlbnQiLCJzZXRTdGF0ZSIsIl9lZGl0YWJsZUxheWVyU3RhdGUiLCJwb2ludGVyRG93blBpY2tzIiwicG9pbnRlckRvd25TY3JlZW5Db29yZHMiLCJwb2ludGVyRG93bk1hcENvb3JkcyIsImV2ZW50SGFuZGxlciIsIl9mb3J3YXJkRXZlbnRUb0N1cnJlbnRMYXllciIsImJpbmQiLCJfYWRkUG9pbnRlckhhbmRsZXJzIiwiX3JlbW92ZVBvaW50ZXJIYW5kbGVycyIsImV2ZW50TWFuYWdlciIsImNvbnRleHQiLCJkZWNrIiwic3RhdGUiLCJldmVudFR5cGUiLCJvbiIsInByaW9yaXR5Iiwib2ZmIiwiY3VycmVudExheWVyIiwiZ2V0Q3VycmVudExheWVyIiwiZnVuYyIsInR5cGUiLCJjb25zb2xlIiwid2FybiIsInNyY0V2ZW50Iiwic2NyZWVuQ29vcmRzIiwiZ2V0U2NyZWVuQ29vcmRzIiwibWFwQ29vcmRzIiwiZ2V0TWFwQ29vcmRzIiwicGlja3MiLCJnZXRQaWNrcyIsIm9uTGF5ZXJDbGljayIsInNvdXJjZUV2ZW50Iiwib25Eb3VibGVDbGljayIsIm9uU3RhcnREcmFnZ2luZyIsImNhbmNlbFBhbiIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsIm9uRHJhZ2dpbmciLCJvblN0b3BEcmFnZ2luZyIsIm9uUG9pbnRlck1vdmUiLCJwaWNrTXVsdGlwbGVPYmplY3RzIiwieCIsInkiLCJsYXllcklkcyIsInByb3BzIiwiaWQiLCJyYWRpdXMiLCJwaWNraW5nUmFkaXVzIiwiZGVwdGgiLCJwaWNraW5nRGVwdGgiLCJwb2ludGVyRXZlbnQiLCJjbGllbnRYIiwiZ2wiLCJjYW52YXMiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRZIiwidmlld3BvcnQiLCJ1bnByb2plY3QiLCJDb21wb3NpdGVMYXllciJd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QyxPQUFiLEdBQ0csS0FBS3hDLE9BQUwsQ0FBYXlDLEVBQWIsQ0FBZ0JDLE1BQWpCLENBQThDQyxxQkFBOUMsR0FBc0ViLENBRm5FLEVBR0xTLFlBQVksQ0FBQ0ssT0FBYixHQUNHLEtBQUs1QyxPQUFMLENBQWF5QyxFQUFiLENBQWdCQyxNQUFqQixDQUE4Q0MscUJBQTlDLEdBQXNFWixDQUpuRSxDQUFQO0FBTUQ7OztpQ0FFWWpCLFksRUFBd0I7QUFDbkM7QUFDQSxhQUFPLEtBQUtkLE9BQUwsQ0FBYTZDLFFBQWIsQ0FBc0JDLFNBQXRCLENBQWdDLENBQUNoQyxZQUFZLENBQUMsQ0FBRCxDQUFiLEVBQWtCQSxZQUFZLENBQUMsQ0FBRCxDQUE5QixDQUFoQyxDQUFQO0FBQ0Q7Ozs7RUFqUXdDaUMsb0I7Ozs7Z0JBQXRCNUQsYSxlQUNBLGUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZW52IGJyb3dzZXIgKi9cblxuaW1wb3J0IHsgQ29tcG9zaXRlTGF5ZXIgfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7XG4gIENsaWNrRXZlbnQsXG4gIFN0YXJ0RHJhZ2dpbmdFdmVudCxcbiAgU3RvcERyYWdnaW5nRXZlbnQsXG4gIERyYWdnaW5nRXZlbnQsXG4gIFBvaW50ZXJNb3ZlRXZlbnQsXG4gIERvdWJsZUNsaWNrRXZlbnQsXG59IGZyb20gJ0BuZWJ1bGEuZ2wvZWRpdC1tb2Rlcyc7XG5cbmNvbnN0IEVWRU5UX1RZUEVTID0gWydhbnljbGljaycsICdwb2ludGVybW92ZScsICdwYW5zdGFydCcsICdwYW5tb3ZlJywgJ3BhbmVuZCcsICdkYmxjbGljayddO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFZGl0YWJsZUxheWVyIGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXI8YW55PiB7XG4gIHN0YXRpYyBsYXllck5hbWUgPSAnRWRpdGFibGVMYXllcic7XG4gIC8vIE92ZXJyaWRhYmxlIGludGVyYWN0aW9uIGV2ZW50IGhhbmRsZXJzXG4gIG9uTGF5ZXJDbGljayhldmVudDogQ2xpY2tFdmVudCkge1xuICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIH1cblxuICBvbkRvdWJsZUNsaWNrKGV2ZW50OiBEb3VibGVDbGlja0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RhcnREcmFnZ2luZyhldmVudDogU3RhcnREcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RvcERyYWdnaW5nKGV2ZW50OiBTdG9wRHJhZ2dpbmdFdmVudCkge1xuICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIH1cblxuICBvbkRyYWdnaW5nKGV2ZW50OiBEcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uUG9pbnRlck1vdmUoZXZlbnQ6IFBvaW50ZXJNb3ZlRXZlbnQpIHt9IC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIC8vIFRPRE86IGltcGxlbWVudCBvbkNhbmNlbERyYWdnaW5nIChlLmcuIGRyYWcgb2ZmIHNjcmVlbilcblxuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfZWRpdGFibGVMYXllclN0YXRlOiB7XG4gICAgICAgIC8vIFBpY2tlZCBvYmplY3RzIGF0IHRoZSB0aW1lIHRoZSBwb2ludGVyIHdlbnQgZG93blxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBudWxsLFxuICAgICAgICAvLyBTY3JlZW4gY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBudWxsLFxuICAgICAgICAvLyBHcm91bmQgY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBudWxsLFxuXG4gICAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIG1qb2xuaXIuanMgZXZlbnQgaGFuZGxlciBzbyBpdCBjYW4gYmUgZGVyZWdpc3RlcmVkXG4gICAgICAgIGV2ZW50SGFuZGxlcjogdGhpcy5fZm9yd2FyZEV2ZW50VG9DdXJyZW50TGF5ZXIuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9hZGRQb2ludGVySGFuZGxlcnMoKTtcbiAgfVxuXG4gIGZpbmFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5fcmVtb3ZlUG9pbnRlckhhbmRsZXJzKCk7XG4gIH1cblxuICBfYWRkUG9pbnRlckhhbmRsZXJzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7IGV2ZW50TWFuYWdlciB9ID0gdGhpcy5jb250ZXh0LmRlY2s7XG4gICAgY29uc3QgeyBldmVudEhhbmRsZXIgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcblxuICAgIGZvciAoY29uc3QgZXZlbnRUeXBlIG9mIEVWRU5UX1RZUEVTKSB7XG4gICAgICBldmVudE1hbmFnZXIub24oZXZlbnRUeXBlLCBldmVudEhhbmRsZXIsIHtcbiAgICAgICAgLy8gZ2l2ZSBuZWJ1bGEgYSBoaWdoZXIgcHJpb3JpdHkgc28gdGhhdCBpdCBjYW4gc3RvcCBwcm9wYWdhdGlvbiB0byBkZWNrLmdsJ3MgbWFwIHBhbm5pbmcgaGFuZGxlcnNcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIF9yZW1vdmVQb2ludGVySGFuZGxlcnMoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHsgZXZlbnRNYW5hZ2VyIH0gPSB0aGlzLmNvbnRleHQuZGVjaztcbiAgICBjb25zdCB7IGV2ZW50SGFuZGxlciB9ID0gdGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlO1xuXG4gICAgZm9yIChjb25zdCBldmVudFR5cGUgb2YgRVZFTlRfVFlQRVMpIHtcbiAgICAgIGV2ZW50TWFuYWdlci5vZmYoZXZlbnRUeXBlLCBldmVudEhhbmRsZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEEgbmV3IGxheWVyIGluc3RhbmNlIGlzIGNyZWF0ZWQgb24gZXZlcnkgcmVuZGVyLCBzbyBmb3J3YXJkIHRoZSBldmVudCB0byB0aGUgY3VycmVudCBsYXllclxuICAvLyBUaGlzIG1lYW5zIHRoYXQgdGhlIGZpcnN0IGxheWVyIGluc3RhbmNlIHdpbGwgc3RpY2sgYXJvdW5kIHRvIGJlIHRoZSBldmVudCBsaXN0ZW5lciwgYnV0IHdpbGwgZm9yd2FyZCB0aGUgZXZlbnRcbiAgLy8gdG8gdGhlIGxhdGVzdCBsYXllciBpbnN0YW5jZS5cbiAgX2ZvcndhcmRFdmVudFRvQ3VycmVudExheWVyKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjdXJyZW50TGF5ZXIgPSB0aGlzLmdldEN1cnJlbnRMYXllcigpO1xuXG4gICAgLy8gVXNlIGEgbmFtaW5nIGNvbnZlbnRpb24gdG8gZmluZCB0aGUgZXZlbnQgaGFuZGxpbmcgZnVuY3Rpb24gZm9yIHRoaXMgZXZlbnQgdHlwZVxuICAgIGNvbnN0IGZ1bmMgPSBjdXJyZW50TGF5ZXJbYF9vbiR7ZXZlbnQudHlwZX1gXS5iaW5kKGN1cnJlbnRMYXllcik7XG4gICAgaWYgKCFmdW5jKSB7XG4gICAgICBjb25zb2xlLndhcm4oYG5vIGhhbmRsZXIgZm9yIG1qb2xuaXIuanMgZXZlbnQgJHtldmVudC50eXBlfWApOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmMoZXZlbnQpO1xuICB9XG5cbiAgX29uYW55Y2xpY2soeyBzcmNFdmVudCB9OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uTGF5ZXJDbGljayh7XG4gICAgICBtYXBDb29yZHMsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBzY3JlZW5Db29yZHMsXG4gICAgICBwaWNrcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbmRibGNsaWNrKHsgc3JjRXZlbnQgfTogYW55KSB7XG4gICAgY29uc3Qgc2NyZWVuQ29vcmRzID0gdGhpcy5nZXRTY3JlZW5Db29yZHMoc3JjRXZlbnQpO1xuICAgIGNvbnN0IG1hcENvb3JkcyA9IHRoaXMuZ2V0TWFwQ29vcmRzKHNjcmVlbkNvb3Jkcyk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vbkRvdWJsZUNsaWNrKHtcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIHBpY2tzLFxuICAgICAgc291cmNlRXZlbnQ6IHNyY0V2ZW50LFxuICAgIH0pO1xuICB9XG5cbiAgX29ucGFuc3RhcnQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKGV2ZW50LnNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwaWNrcyA9IHRoaXMuZ2V0UGlja3Moc2NyZWVuQ29vcmRzKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgX2VkaXRhYmxlTGF5ZXJTdGF0ZToge1xuICAgICAgICAuLi50aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGUsXG4gICAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBzY3JlZW5Db29yZHMsXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBtYXBDb29yZHMsXG4gICAgICAgIHBvaW50ZXJEb3duUGlja3M6IHBpY2tzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMub25TdGFydERyYWdnaW5nKHtcbiAgICAgIHBpY2tzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHM6IHNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBtYXBDb29yZHMsXG4gICAgICBjYW5jZWxQYW46IGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbixcbiAgICAgIHNvdXJjZUV2ZW50OiBldmVudC5zcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBhbm1vdmUoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgc3JjRXZlbnQgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKHNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uRHJhZ2dpbmcoe1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgcGlja3MsXG4gICAgICBwb2ludGVyRG93blBpY2tzLFxuICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHMsXG4gICAgICBwb2ludGVyRG93bk1hcENvb3JkcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICAgIGNhbmNlbFBhbjogZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uLFxuICAgICAgLy8gYW5vdGhlciAoaGFja3kpIGFwcHJvYWNoIGZvciBjYW5jZWxsaW5nIG1hcCBwYW5uaW5nXG4gICAgICAvLyBjb25zdCBjb250cm9sbGVyID0gdGhpcy5jb250ZXh0LmRlY2sudmlld01hbmFnZXIuY29udHJvbGxlcnNbXG4gICAgICAvLyAgIE9iamVjdC5rZXlzKHRoaXMuY29udGV4dC5kZWNrLnZpZXdNYW5hZ2VyLmNvbnRyb2xsZXJzKVswXVxuICAgICAgLy8gXTtcbiAgICAgIC8vIGNvbnRyb2xsZXIuX3N0YXRlLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBhbmVuZCh7IHNyY0V2ZW50IH06IGFueSkge1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKHNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uU3RvcERyYWdnaW5nKHtcbiAgICAgIHBpY2tzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgICBzb3VyY2VFdmVudDogc3JjRXZlbnQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIF9lZGl0YWJsZUxheWVyU3RhdGU6IHtcbiAgICAgICAgLi4udGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlLFxuICAgICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkczogbnVsbCxcbiAgICAgICAgcG9pbnRlckRvd25NYXBDb29yZHM6IG51bGwsXG4gICAgICAgIHBvaW50ZXJEb3duUGlja3M6IG51bGwsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgX29ucG9pbnRlcm1vdmUoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgc3JjRXZlbnQgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHNjcmVlbkNvb3JkcyA9IHRoaXMuZ2V0U2NyZWVuQ29vcmRzKHNyY0V2ZW50KTtcbiAgICBjb25zdCBtYXBDb29yZHMgPSB0aGlzLmdldE1hcENvb3JkcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uUG9pbnRlck1vdmUoe1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyZWVuQ29vcmRzLFxuICAgICAgbWFwQ29vcmRzLFxuICAgICAgcGlja3MsXG4gICAgICBwb2ludGVyRG93blBpY2tzLFxuICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHMsXG4gICAgICBwb2ludGVyRG93bk1hcENvb3JkcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBpY2tzKHNjcmVlbkNvb3JkczogW251bWJlciwgbnVtYmVyXSkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmRlY2sucGlja011bHRpcGxlT2JqZWN0cyh7XG4gICAgICB4OiBzY3JlZW5Db29yZHNbMF0sXG4gICAgICB5OiBzY3JlZW5Db29yZHNbMV0sXG4gICAgICBsYXllcklkczogW3RoaXMucHJvcHMuaWRdLFxuICAgICAgcmFkaXVzOiB0aGlzLnByb3BzLnBpY2tpbmdSYWRpdXMsXG4gICAgICBkZXB0aDogdGhpcy5wcm9wcy5waWNraW5nRGVwdGgsXG4gICAgfSk7XG4gIH1cblxuICBnZXRTY3JlZW5Db29yZHMocG9pbnRlckV2ZW50OiBhbnkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgcG9pbnRlckV2ZW50LmNsaWVudFggLVxuICAgICAgICAodGhpcy5jb250ZXh0LmdsLmNhbnZhcyBhcyBIVE1MQ2FudmFzRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueCxcbiAgICAgIHBvaW50ZXJFdmVudC5jbGllbnRZIC1cbiAgICAgICAgKHRoaXMuY29udGV4dC5nbC5jYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnksXG4gICAgXTtcbiAgfVxuXG4gIGdldE1hcENvb3JkcyhzY3JlZW5Db29yZHM6IG51bWJlcltdKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLmNvbnRleHQudmlld3BvcnQudW5wcm9qZWN0KFtzY3JlZW5Db29yZHNbMF0sIHNjcmVlbkNvb3Jkc1sxXV0pO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvZWRpdGFibGUtbGF5ZXIudHMiXSwibmFtZXMiOlsiRVZFTlRfVFlQRVMiLCJFZGl0YWJsZUxheWVyIiwiZXZlbnQiLCJzZXRTdGF0ZSIsIl9lZGl0YWJsZUxheWVyU3RhdGUiLCJwb2ludGVyRG93blBpY2tzIiwicG9pbnRlckRvd25TY3JlZW5Db29yZHMiLCJwb2ludGVyRG93bk1hcENvb3JkcyIsImV2ZW50SGFuZGxlciIsIl9mb3J3YXJkRXZlbnRUb0N1cnJlbnRMYXllciIsImJpbmQiLCJfYWRkUG9pbnRlckhhbmRsZXJzIiwiX3JlbW92ZVBvaW50ZXJIYW5kbGVycyIsImV2ZW50TWFuYWdlciIsImNvbnRleHQiLCJkZWNrIiwic3RhdGUiLCJldmVudFR5cGUiLCJvbiIsInByaW9yaXR5Iiwib2ZmIiwiY3VycmVudExheWVyIiwiZ2V0Q3VycmVudExheWVyIiwiZnVuYyIsInR5cGUiLCJjb25zb2xlIiwid2FybiIsInNyY0V2ZW50Iiwic2NyZWVuQ29vcmRzIiwiZ2V0U2NyZWVuQ29vcmRzIiwibWFwQ29vcmRzIiwiZ2V0TWFwQ29vcmRzIiwicGlja3MiLCJnZXRQaWNrcyIsIm9uTGF5ZXJDbGljayIsInNvdXJjZUV2ZW50Iiwib25TdGFydERyYWdnaW5nIiwiY2FuY2VsUGFuIiwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwib25EcmFnZ2luZyIsIm9uU3RvcERyYWdnaW5nIiwib25Qb2ludGVyTW92ZSIsInBpY2tNdWx0aXBsZU9iamVjdHMiLCJ4IiwieSIsImxheWVySWRzIiwicHJvcHMiLCJpZCIsInJhZGl1cyIsInBpY2tpbmdSYWRpdXMiLCJkZXB0aCIsInBpY2tpbmdEZXB0aCIsInBvaW50ZXJFdmVudCIsImNsaWVudFgiLCJnbCIsImNhbnZhcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNsaWVudFkiLCJ2aWV3cG9ydCIsInVucHJvamVjdCIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7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b21wb3NpdGVMYXllciB9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2xpY2tFdmVudCxcbiAgU3RhcnREcmFnZ2luZ0V2ZW50LFxuICBTdG9wRHJhZ2dpbmdFdmVudCxcbiAgRHJhZ2dpbmdFdmVudCxcbiAgUG9pbnRlck1vdmVFdmVudCxcbn0gZnJvbSAnQG5lYnVsYS5nbC9lZGl0LW1vZGVzJztcblxuY29uc3QgRVZFTlRfVFlQRVMgPSBbJ2FueWNsaWNrJywgJ3BvaW50ZXJtb3ZlJywgJ3BhbnN0YXJ0JywgJ3Bhbm1vdmUnLCAncGFuZW5kJ107XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVkaXRhYmxlTGF5ZXIgZXh0ZW5kcyBDb21wb3NpdGVMYXllcjxhbnk+IHtcbiAgc3RhdGljIGxheWVyTmFtZSA9ICdFZGl0YWJsZUxheWVyJztcbiAgLy8gT3ZlcnJpZGFibGUgaW50ZXJhY3Rpb24gZXZlbnQgaGFuZGxlcnNcbiAgb25MYXllckNsaWNrKGV2ZW50OiBDbGlja0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RhcnREcmFnZ2luZyhldmVudDogU3RhcnREcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uU3RvcERyYWdnaW5nKGV2ZW50OiBTdG9wRHJhZ2dpbmdFdmVudCkge1xuICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gLSBkbyBub3RoaW5nXG4gIH1cblxuICBvbkRyYWdnaW5nKGV2ZW50OiBEcmFnZ2luZ0V2ZW50KSB7XG4gICAgLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIGRvIG5vdGhpbmdcbiAgfVxuXG4gIG9uUG9pbnRlck1vdmUoZXZlbnQ6IFBvaW50ZXJNb3ZlRXZlbnQpIHtcbiAgICAvLyBkZWZhdWx0IGltcGxlbWVudGF0aW9uIC0gZG8gbm90aGluZ1xuICB9XG4gIC8vIFRPRE86IGltcGxlbWVudCBvbkNhbmNlbERyYWdnaW5nIChlLmcuIGRyYWcgb2ZmIHNjcmVlbilcblxuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfZWRpdGFibGVMYXllclN0YXRlOiB7XG4gICAgICAgIC8vIFBpY2tlZCBvYmplY3RzIGF0IHRoZSB0aW1lIHRoZSBwb2ludGVyIHdlbnQgZG93blxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBudWxsLFxuICAgICAgICAvLyBTY3JlZW4gY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBudWxsLFxuICAgICAgICAvLyBHcm91bmQgY29vcmRpbmF0ZXMgd2hlcmUgdGhlIHBvaW50ZXIgd2VudCBkb3duXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBudWxsLFxuXG4gICAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIG1qb2xuaXIuanMgZXZlbnQgaGFuZGxlciBzbyBpdCBjYW4gYmUgZGVyZWdpc3RlcmVkXG4gICAgICAgIGV2ZW50SGFuZGxlcjogdGhpcy5fZm9yd2FyZEV2ZW50VG9DdXJyZW50TGF5ZXIuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9hZGRQb2ludGVySGFuZGxlcnMoKTtcbiAgfVxuXG4gIGZpbmFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5fcmVtb3ZlUG9pbnRlckhhbmRsZXJzKCk7XG4gIH1cblxuICBfYWRkUG9pbnRlckhhbmRsZXJzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7IGV2ZW50TWFuYWdlciB9ID0gdGhpcy5jb250ZXh0LmRlY2s7XG4gICAgY29uc3QgeyBldmVudEhhbmRsZXIgfSA9IHRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZTtcblxuICAgIGZvciAoY29uc3QgZXZlbnRUeXBlIG9mIEVWRU5UX1RZUEVTKSB7XG4gICAgICBldmVudE1hbmFnZXIub24oZXZlbnRUeXBlLCBldmVudEhhbmRsZXIsIHtcbiAgICAgICAgLy8gZ2l2ZSBuZWJ1bGEgYSBoaWdoZXIgcHJpb3JpdHkgc28gdGhhdCBpdCBjYW4gc3RvcCBwcm9wYWdhdGlvbiB0byBkZWNrLmdsJ3MgbWFwIHBhbm5pbmcgaGFuZGxlcnNcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIF9yZW1vdmVQb2ludGVySGFuZGxlcnMoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHsgZXZlbnRNYW5hZ2VyIH0gPSB0aGlzLmNvbnRleHQuZGVjaztcbiAgICBjb25zdCB7IGV2ZW50SGFuZGxlciB9ID0gdGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlO1xuXG4gICAgZm9yIChjb25zdCBldmVudFR5cGUgb2YgRVZFTlRfVFlQRVMpIHtcbiAgICAgIGV2ZW50TWFuYWdlci5vZmYoZXZlbnRUeXBlLCBldmVudEhhbmRsZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEEgbmV3IGxheWVyIGluc3RhbmNlIGlzIGNyZWF0ZWQgb24gZXZlcnkgcmVuZGVyLCBzbyBmb3J3YXJkIHRoZSBldmVudCB0byB0aGUgY3VycmVudCBsYXllclxuICAvLyBUaGlzIG1lYW5zIHRoYXQgdGhlIGZpcnN0IGxheWVyIGluc3RhbmNlIHdpbGwgc3RpY2sgYXJvdW5kIHRvIGJlIHRoZSBldmVudCBsaXN0ZW5lciwgYnV0IHdpbGwgZm9yd2FyZCB0aGUgZXZlbnRcbiAgLy8gdG8gdGhlIGxhdGVzdCBsYXllciBpbnN0YW5jZS5cbiAgX2ZvcndhcmRFdmVudFRvQ3VycmVudExheWVyKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjdXJyZW50TGF5ZXIgPSB0aGlzLmdldEN1cnJlbnRMYXllcigpO1xuXG4gICAgLy8gVXNlIGEgbmFtaW5nIGNvbnZlbnRpb24gdG8gZmluZCB0aGUgZXZlbnQgaGFuZGxpbmcgZnVuY3Rpb24gZm9yIHRoaXMgZXZlbnQgdHlwZVxuICAgIGNvbnN0IGZ1bmMgPSBjdXJyZW50TGF5ZXJbYF9vbiR7ZXZlbnQudHlwZX1gXS5iaW5kKGN1cnJlbnRMYXllcik7XG4gICAgaWYgKCFmdW5jKSB7XG4gICAgICBjb25zb2xlLndhcm4oYG5vIGhhbmRsZXIgZm9yIG1qb2xuaXIuanMgZXZlbnQgJHtldmVudC50eXBlfWApOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmMoZXZlbnQpO1xuICB9XG5cbiAgX29uYW55Y2xpY2soeyBzcmNFdmVudCB9OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLm9uTGF5ZXJDbGljayh7XG4gICAgICBtYXBDb29yZHMsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBzY3JlZW5Db29yZHMsXG4gICAgICBwaWNrcyxcbiAgICAgIHNvdXJjZUV2ZW50OiBzcmNFdmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBhbnN0YXJ0KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhldmVudC5zcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGlja3MgPSB0aGlzLmdldFBpY2tzKHNjcmVlbkNvb3Jkcyk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIF9lZGl0YWJsZUxheWVyU3RhdGU6IHtcbiAgICAgICAgLi4udGhpcy5zdGF0ZS5fZWRpdGFibGVMYXllclN0YXRlLFxuICAgICAgICBwb2ludGVyRG93blNjcmVlbkNvb3Jkczogc2NyZWVuQ29vcmRzLFxuICAgICAgICBwb2ludGVyRG93bk1hcENvb3JkczogbWFwQ29vcmRzLFxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBwaWNrcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm9uU3RhcnREcmFnZ2luZyh7XG4gICAgICBwaWNrcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzOiBzY3JlZW5Db29yZHMsXG4gICAgICBwb2ludGVyRG93bk1hcENvb3JkczogbWFwQ29vcmRzLFxuICAgICAgY2FuY2VsUGFuOiBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24sXG4gICAgICBzb3VyY2VFdmVudDogZXZlbnQuc3JjRXZlbnQsXG4gICAgfSk7XG4gIH1cblxuICBfb25wYW5tb3ZlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB7IHNyY0V2ZW50IH0gPSBldmVudDtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgIH0gPSB0aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vbkRyYWdnaW5nKHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIHBpY2tzLFxuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgICBzb3VyY2VFdmVudDogc3JjRXZlbnQsXG4gICAgICBjYW5jZWxQYW46IGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbixcbiAgICAgIC8vIGFub3RoZXIgKGhhY2t5KSBhcHByb2FjaCBmb3IgY2FuY2VsbGluZyBtYXAgcGFubmluZ1xuICAgICAgLy8gY29uc3QgY29udHJvbGxlciA9IHRoaXMuY29udGV4dC5kZWNrLnZpZXdNYW5hZ2VyLmNvbnRyb2xsZXJzW1xuICAgICAgLy8gICBPYmplY3Qua2V5cyh0aGlzLmNvbnRleHQuZGVjay52aWV3TWFuYWdlci5jb250cm9sbGVycylbMF1cbiAgICAgIC8vIF07XG4gICAgICAvLyBjb250cm9sbGVyLl9zdGF0ZS5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBfb25wYW5lbmQoeyBzcmNFdmVudCB9OiBhbnkpIHtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgIH0gPSB0aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vblN0b3BEcmFnZ2luZyh7XG4gICAgICBwaWNrcyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgICAgc291cmNlRXZlbnQ6IHNyY0V2ZW50LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfZWRpdGFibGVMYXllclN0YXRlOiB7XG4gICAgICAgIC4uLnRoaXMuc3RhdGUuX2VkaXRhYmxlTGF5ZXJTdGF0ZSxcbiAgICAgICAgcG9pbnRlckRvd25TY3JlZW5Db29yZHM6IG51bGwsXG4gICAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzOiBudWxsLFxuICAgICAgICBwb2ludGVyRG93blBpY2tzOiBudWxsLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIF9vbnBvaW50ZXJtb3ZlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB7IHNyY0V2ZW50IH0gPSBldmVudDtcbiAgICBjb25zdCBzY3JlZW5Db29yZHMgPSB0aGlzLmdldFNjcmVlbkNvb3JkcyhzcmNFdmVudCk7XG4gICAgY29uc3QgbWFwQ29vcmRzID0gdGhpcy5nZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIHBvaW50ZXJEb3duUGlja3MsXG4gICAgICBwb2ludGVyRG93blNjcmVlbkNvb3JkcyxcbiAgICAgIHBvaW50ZXJEb3duTWFwQ29vcmRzLFxuICAgIH0gPSB0aGlzLnN0YXRlLl9lZGl0YWJsZUxheWVyU3RhdGU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHBpY2tzID0gdGhpcy5nZXRQaWNrcyhzY3JlZW5Db29yZHMpO1xuXG4gICAgdGhpcy5vblBvaW50ZXJNb3ZlKHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmVlbkNvb3JkcyxcbiAgICAgIG1hcENvb3JkcyxcbiAgICAgIHBpY2tzLFxuICAgICAgcG9pbnRlckRvd25QaWNrcyxcbiAgICAgIHBvaW50ZXJEb3duU2NyZWVuQ29vcmRzLFxuICAgICAgcG9pbnRlckRvd25NYXBDb29yZHMsXG4gICAgICBzb3VyY2VFdmVudDogc3JjRXZlbnQsXG4gICAgfSk7XG4gIH1cblxuICBnZXRQaWNrcyhzY3JlZW5Db29yZHM6IFtudW1iZXIsIG51bWJlcl0pIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5kZWNrLnBpY2tNdWx0aXBsZU9iamVjdHMoe1xuICAgICAgeDogc2NyZWVuQ29vcmRzWzBdLFxuICAgICAgeTogc2NyZWVuQ29vcmRzWzFdLFxuICAgICAgbGF5ZXJJZHM6IFt0aGlzLnByb3BzLmlkXSxcbiAgICAgIHJhZGl1czogdGhpcy5wcm9wcy5waWNraW5nUmFkaXVzLFxuICAgICAgZGVwdGg6IHRoaXMucHJvcHMucGlja2luZ0RlcHRoLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2NyZWVuQ29vcmRzKHBvaW50ZXJFdmVudDogYW55KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBvaW50ZXJFdmVudC5jbGllbnRYIC1cbiAgICAgICAgKHRoaXMuY29udGV4dC5nbC5jYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLngsXG4gICAgICBwb2ludGVyRXZlbnQuY2xpZW50WSAtXG4gICAgICAgICh0aGlzLmNvbnRleHQuZ2wuY2FudmFzIGFzIEhUTUxDYW52YXNFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS55LFxuICAgIF07XG4gIH1cblxuICBnZXRNYXBDb29yZHMoc2NyZWVuQ29vcmRzOiBudW1iZXJbXSkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnZpZXdwb3J0LnVucHJvamVjdChbc2NyZWVuQ29vcmRzWzBdLCBzY3JlZW5Db29yZHNbMV1dKTtcbiAgfVxufVxuIl19 |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "0.18.1", | ||
"version": "0.18.5", | ||
"author": "Georgios Karnas <georgios@uber.com>", | ||
@@ -54,3 +54,3 @@ "repository": { | ||
"@danmarshall/deckgl-typings": "^3.4.8", | ||
"@nebula.gl/edit-modes": "0.18.1", | ||
"@nebula.gl/edit-modes": "0.18.5", | ||
"@turf/bbox": ">=4.0.0", | ||
@@ -90,3 +90,3 @@ "@turf/bbox-polygon": ">=4.0.0", | ||
}, | ||
"gitHead": "6d5fa782cd7de7ffdce809aee67db9da19d830c3" | ||
"gitHead": "e3cb5bc1ebbfc2d882fd01cc780c2c8483bdcda6" | ||
} |
@@ -56,7 +56,9 @@ <p align="right"> | ||
``` | ||
yarn add nebula.gl | ||
yarn add @nebula.gl/layers | ||
yarn add @nebula.gl/overlays | ||
yarn add @deck.gl/core | ||
yarn add @deck.gl/react | ||
yarn add @deck.gl/layers | ||
``` | ||
`nebula.gl` will automatically install a compatible version of `deck.gl`. | ||
### `EditableGeoJsonLayer` | ||
@@ -63,0 +65,0 @@ |
@@ -18,7 +18,2 @@ import { Position } from '@nebula.gl/edit-modes'; | ||
export type DoubleClickEvent = { | ||
groundCoords: Position; | ||
sourceEvent: any; | ||
}; | ||
export type StartDraggingEvent = { | ||
@@ -25,0 +20,0 @@ picks: DeckGLPick[]; |
@@ -10,6 +10,5 @@ /* eslint-env browser */ | ||
PointerMoveEvent, | ||
DoubleClickEvent, | ||
} from '@nebula.gl/edit-modes'; | ||
const EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend', 'dblclick']; | ||
const EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend']; | ||
@@ -23,6 +22,2 @@ export default class EditableLayer extends CompositeLayer<any> { | ||
onDoubleClick(event: DoubleClickEvent) { | ||
// default implementation - do nothing | ||
} | ||
onStartDragging(event: StartDraggingEvent) { | ||
@@ -40,3 +35,5 @@ // default implementation - do nothing | ||
onPointerMove(event: PointerMoveEvent) {} // default implementation - do nothing | ||
onPointerMove(event: PointerMoveEvent) { | ||
// default implementation - do nothing | ||
} | ||
// TODO: implement onCancelDragging (e.g. drag off screen) | ||
@@ -119,17 +116,2 @@ | ||
_ondblclick({ srcEvent }: any) { | ||
const screenCoords = this.getScreenCoords(srcEvent); | ||
const mapCoords = this.getMapCoords(screenCoords); | ||
// @ts-ignore | ||
const picks = this.getPicks(screenCoords); | ||
this.onDoubleClick({ | ||
mapCoords, | ||
// @ts-ignore | ||
screenCoords, | ||
picks, | ||
sourceEvent: srcEvent, | ||
}); | ||
} | ||
_onpanstart(event: any) { | ||
@@ -136,0 +118,0 @@ const screenCoords = this.getScreenCoords(event.srcEvent); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
105
1582680
15118
+ Added@nebula.gl/edit-modes@0.18.5(transitive)
- Removed@nebula.gl/edit-modes@0.18.1(transitive)
Updated@nebula.gl/edit-modes@0.18.5