@techie_doubts/editor-plugin-chart 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * TOAST UI Editor : Chart Plugin
3
- * @version 3.1.0 | Sat Feb 28 2026
3
+ * @version 3.1.1 | Sun Mar 01 2026
4
4
  * @author NHN Cloud FE Development Lab <dl_javascript@nhn.com>
5
5
  * @license MIT
6
6
  */
@@ -6458,6 +6458,7 @@ var chart = {
6458
6458
  pie: (tui_chart_2026_root_toastui_Chart_default()).pieChart,
6459
6459
  };
6460
6460
  var chartMap = {};
6461
+ var chartRenderVersionMap = {};
6461
6462
  var effectiveDarkMode = null;
6462
6463
  var chartStyleInjected = false;
6463
6464
  var DARK_CHART_THEME = {
@@ -7044,13 +7045,36 @@ function destroyChart() {
7044
7045
  if (!container) {
7045
7046
  chartMap[id].destroy();
7046
7047
  delete chartMap[id];
7048
+ delete chartRenderVersionMap[id];
7047
7049
  }
7048
7050
  });
7049
7051
  }
7052
+ function clearChartById(id, chartContainer) {
7053
+ var existed = chartMap[id];
7054
+ if (existed) {
7055
+ existed.destroy();
7056
+ delete chartMap[id];
7057
+ }
7058
+ if (chartContainer) {
7059
+ chartContainer.innerHTML = '';
7060
+ }
7061
+ }
7050
7062
  function doRenderChart(id, text, usageStatistics, pluginOptions, chartContainer) {
7063
+ var renderVersion = (chartRenderVersionMap[id] || 0) + 1;
7064
+ chartRenderVersionMap[id] = renderVersion;
7051
7065
  chartContainer.setAttribute('data-chart-text', encodeURIComponent(text));
7066
+ clearChartById(id, chartContainer);
7052
7067
  try {
7053
7068
  parse(text, function (parsedInfo) {
7069
+ if (chartRenderVersionMap[id] !== renderVersion) {
7070
+ return;
7071
+ }
7072
+ if (!chartContainer.isConnected) {
7073
+ return;
7074
+ }
7075
+ if (chartContainer.getAttribute('data-chart-id') !== id) {
7076
+ return;
7077
+ }
7054
7078
  var _a = parsedInfo || {}, data = _a.data, options = _a.options;
7055
7079
  var chartOptions = setDefaultOptions(options, pluginOptions, chartContainer, data);
7056
7080
  var chartType = chartOptions.editorChart.type;
@@ -7062,9 +7086,11 @@ function doRenderChart(id, text, usageStatistics, pluginOptions, chartContainer)
7062
7086
  (CATEGORY_CHART_TYPES.indexOf(chartType) > -1 &&
7063
7087
  data.categories.length !== data.series[0].data.length)) {
7064
7088
  chartContainer.innerHTML = 'invalid chart data';
7089
+ delete chartMap[id];
7065
7090
  }
7066
7091
  else if (SUPPORTED_CHART_TYPES.indexOf(chartType) < 0) {
7067
7092
  chartContainer.innerHTML = "invalid chart type. type: bar, column, line, area, pie";
7093
+ delete chartMap[id];
7068
7094
  }
7069
7095
  else {
7070
7096
  var toastuiChart = chart[chartType];
@@ -7076,6 +7102,7 @@ function doRenderChart(id, text, usageStatistics, pluginOptions, chartContainer)
7076
7102
  }
7077
7103
  catch (e) {
7078
7104
  chartContainer.innerHTML = 'invalid chart data';
7105
+ delete chartMap[id];
7079
7106
  }
7080
7107
  }
7081
7108
  function renderChart(id, text, usageStatistics, pluginOptions, retryCount) {
@@ -7102,6 +7129,7 @@ function reRenderAllCharts(usageStatistics, pluginOptions, forceDark) {
7102
7129
  chartMap[id].destroy();
7103
7130
  delete chartMap[id];
7104
7131
  }
7132
+ delete chartRenderVersionMap[id];
7105
7133
  container.innerHTML = '';
7106
7134
  var text = decodeURIComponent(container.getAttribute('data-chart-text'));
7107
7135
  doRenderChart(id, text, usageStatistics, pluginOptions, container);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techie_doubts/editor-plugin-chart",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "TOAST UI Editor : Chart Plugin",
5
5
  "keywords": [
6
6
  "nhn",