Удалить маркеры серии из серий в диаграммах TradingView с использованием легкой библиотеки диаграммJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Удалить маркеры серии из серий в диаграммах TradingView с использованием легкой библиотеки диаграмм

Сообщение Anonymous »

Привет, я пытаюсь нарисовать диаграмму и маркеры в серии, используя библиотеку с легкой диаграммой в торговле. Ниже приведен мой код, как я добавляю маркер в серию. < /P>

Код: Выделить всё

(function anonymous(instance, properties, context
< /code>
) {< /p>
let seriesID = properties.seriesid;
let markerID = properties.markerid;
let duplicate = false;

if(instance.data.mainMarkers.filter(kkk => kkk.markerId === markerID).length>0){
duplicate =true;
}
instance.data.allPaneData.forEach( a=>{
if(a.name === seriesID){
if(a.markersArr.filter(aaa => aaa.markerId === markerID).length>0){
duplicate = true;
}
}
});
if(duplicate === false){
function formateTime(timestemp){
let date = new Date(timestemp);
return{
year: date.getFullYear(),
month: date.getMonth()+1,
day: date.getDate()
}
}
let markerObj = {
time: formateTime(properties.time),
position: properties.position,
color: properties.color,
shape: properties.shape,
text: properties.marker_text,
size: properties.size,
markerId : markerID,
//marker_obj : null,
}

function setObject(obj,series){
series.markerObject = obj;
}

if (seriesID !== null) {
instance.data.allPaneData.filter(item => item.name === seriesID).forEach(item2 => {
item2.markersArr.push(markerObj);
let seriesmarker = LightweightCharts.createSeriesMarkers(item2.series,item2.markersArr);
if(item2.markerObject == null){
setObject(seriesmarker,item2);
}
//item2.markerObject.setMarkers(item2.markersArr);
});

} else {

instance.data.mainMarkers.push(markerObj);
let mainMarker=LightweightCharts.createSeriesMarkers(instance.data.allSeriesData[0].series,instance.data.mainMarkers);
instance.data.markerObject = mainMarker
//instance.data.markerObject.setMarkers(instance.data.mainMarkers);
}
}
< /code>
и ниже мой код для удаления маркера из серии < /p>
(function anonymous(instance, properties, context
< /code>
) {< /p>
let seriesID = properties.seriesid;
let markerID = properties.markerid;
let newarr=[];
if (seriesID == null) {
instance.data.mainMarkers.forEach((val, index) => {
if (val.markerId === markerID) {
instance.data.mainMarkers.splice(index, 1);

}
});
instance.data.markerObject.setMarkers(instance.data.mainMarkers);
}else {

instance.data.allPaneData.forEach(chartObject => {
if (chartObject.name === seriesID) {
chartObject.markersArr.forEach((val, index) => {
if (val.markerId === markerID) {
chartObject.markersArr.splice(index, 1);
}
chartObject.markerObject.setMarkers(chartObject.markersArr);
})

}

});
}
})
Теперь проблема в том, что он только удаляет 1 маркер из массива, даже если я передаю пустой массив, он ничего не делает.

Подробнее здесь: https://stackoverflow.com/questions/795 ... ght-charti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»