From 49a7e0a19dd78898f780a94d753f63bec54733ea Mon Sep 17 00:00:00 2001 From: Mark Silverwood <3482679+SlicedSilver@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:42:21 +0000 Subject: [PATCH] Update framework tutorials for v5 --- .../vuejs/assets/composition-api.vue | 33 +- .../tutorials/vuejs/assets/options-api.vue | 33 +- .../tutorials/vuejs/assets/web-component.js | 31 +- .../webcomponents/assets/lw-chart-v5.js | 290 ------------------ .../webcomponents/assets/lw-chart.js | 22 +- 5 files changed, 99 insertions(+), 310 deletions(-) delete mode 100644 website/tutorials/webcomponents/assets/lw-chart-v5.js diff --git a/website/tutorials/vuejs/assets/composition-api.vue b/website/tutorials/vuejs/assets/composition-api.vue index 703e081fa2..237d8087d5 100644 --- a/website/tutorials/vuejs/assets/composition-api.vue +++ b/website/tutorials/vuejs/assets/composition-api.vue @@ -7,7 +7,15 @@ import { defineExpose, defineProps, } from 'vue'; -import { createChart } from 'lightweight-charts'; +import { + createChart, + LineSeries, + AreaSeries, + BarSeries, + CandlestickSeries, + HistogramSeries, + BaselineSeries, +} from 'lightweight-charts'; const props = defineProps({ type: { @@ -36,9 +44,22 @@ const props = defineProps({ }, }); -// Function to get the correct series constructor name for current series type. -function getChartSeriesConstructorName(type) { - return `add${type.charAt(0).toUpperCase() + type.slice(1)}Series`; +function getChartSeriesDefinition(type) { + switch (type.toLowerCase()) { + case 'line': + return LineSeries; + case 'area': + return AreaSeries; + case 'bar': + return BarSeries; + case 'candlestick': + return CandlestickSeries; + case 'histogram': + return HistogramSeries; + case 'baseline': + return BaselineSeries; + } + return LineSeries; } // Lightweight Charts™ instances are stored as normal JS variables @@ -68,8 +89,8 @@ const resizeHandler = () => { // Creates the chart series and sets the data. const addSeriesAndData = props => { - const seriesConstructor = getChartSeriesConstructorName(props.type); - series = chart[seriesConstructor](props.seriesOptions); + const seriesDefinition = getChartSeriesDefinition(props.type); + series = chart.addSeries(seriesDefinition, props.seriesOptions); series.setData(props.data); }; diff --git a/website/tutorials/vuejs/assets/options-api.vue b/website/tutorials/vuejs/assets/options-api.vue index ed8480f7eb..ce464ff856 100644 --- a/website/tutorials/vuejs/assets/options-api.vue +++ b/website/tutorials/vuejs/assets/options-api.vue @@ -1,20 +1,41 @@