javascript — аннотация Highcharts SVG не перемещается вместе с другими фигурами

Аннотация Highcharts SVG не перемещается вместе с другими фигурами

в моем проекте Highcharts я успешно делаю все формы в одной аннотации перетаскиваемыми, но когда я добавляю SVG (тип этой фигуры — «путь»), SVG не перемещается вместе с другими фигурами в аннотации.

Мне нужно иметь некоторые индивидуальные формы в аннотации. Кто-нибудь может указать, в чем проблема для этого SVG? Можно ли поместить SVG в аннотацию и при этом быть перетаскиваемым? Или это какая-то ошибка, которую я сделал, которая вызывает проблему?

Мой пример здесь. https://jsfiddle.net/roy_jaide/754xuhtk/ Как видите, метка, круг и линия перетаскиваются, но форма SVG просто не движется вообще.

Спасибо за чтение моего вопроса, и очень признателен, если любое решение предоставлено.

  Highcharts.Annotation.prototype.onDrag = function (e) { if (this.chart.isInsidePlot(e.chartX - this.chart.plotLeft, e.chartY - this.chart.plotTop)) { var translation = this.mouseMoveToTranslation(e), xAxis = this.chart.xAxis[0], yAxis = this.chart.yAxis[0], xStep = this.options.stepX, yStep = this.options.stepY, pxStep = xAxis.toPixels(xStep) - xAxis.toPixels(0), pyStep = yAxis.toPixels(yStep) - yAxis.toPixels(0); if (this.options.draggable === 'x') { //for now, it's exclusive for age handle this.potentialTranslationX  = translation.x; if (Math.abs(this.potentialTranslationX) {amp}gt;= Math.abs(pxStep)) { translation.x = (this.potentialTranslationX {amp}gt; 0) ? pxStep : -pxStep; translation.y = 0; this.currentXValue  = (this.potentialTranslationX {amp}gt; 0) ? xStep : -xStep; this.potentialTranslationX -= (this.potentialTranslationX {amp}gt; 0) ? pxStep : -pxStep; //minus the step and continue to cumulate //this.potentialTranslation = 0; //not correct, the mouse will go faster than the handle if (this.points.length) { this.translate(translation.x, 0); } else { this.shapes.forEach(function (shape) { shape.translate(translation.x, 0); }); this.labels.forEach(function (label) { label.translate(translation.x, 0); label.text = label.annotation.options.preText   label.annotation.currentXValue; }); } } } this.redraw(false); } } 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector