A comprehensive word cloud chart plugin for Apache Superset that creates interactive visualizations from text frequency data
—
Core plugin classes for registering word cloud charts with Apache Superset, supporting both modern and legacy API versions.
Modern chart plugin implementation for current Superset versions with full feature support.
/**
* Modern word cloud chart plugin extending ChartPlugin
* Supports the latest Superset chart API with full control panel integration
*/
class WordCloudChartPlugin extends ChartPlugin<WordCloudFormData> {
constructor();
}Usage Example:
import { WordCloudChartPlugin } from '@superset-ui/plugin-chart-word-cloud';
// Register the modern plugin
const plugin = new WordCloudChartPlugin();
plugin.configure({ key: 'word-cloud' }).register();Features:
WordCloudFormData typeLegacy chart plugin implementation for backward compatibility with older Superset versions.
/**
* Legacy word cloud chart plugin for backward compatibility
* Uses legacy API with simplified form data structure
*/
class LegacyWordCloudChartPlugin extends ChartPlugin<LegacyWordCloudFormData> {
constructor();
}Usage Example:
import { LegacyWordCloudChartPlugin } from '@superset-ui/plugin-chart-word-cloud';
// Register the legacy plugin
const legacyPlugin = new LegacyWordCloudChartPlugin();
legacyPlugin.configure({ key: 'legacy-word-cloud' }).register();Features:
LegacyWordCloudFormData typeuseLegacyApi: true)Both plugins are configured with the following components:
interface PluginConfiguration {
buildQuery: (formData: FormData) => QueryContext;
loadChart: () => Promise<React.ComponentType>;
metadata: ChartMetadata;
transformProps: (chartProps: ChartProps) => WordCloudProps;
controlPanel?: ControlPanelConfig;
}Generates query configuration for data fetching from Superset backend with optional sorting by metric:
/**
* Builds query context for data fetching from Superset backend
* Configures sorting by metric when sort_by_metric is enabled
* @param formData - Chart form data configuration containing metric and sort preferences
* @returns Query context with ordering and filtering options
*/
function buildQuery(formData: WordCloudFormData): QueryContext;Implementation Details:
metric and sort_by_metric from form datasort_by_metric is true, adds descending order by the specified metricbuildQueryContext from @superset-ui/core for consistent query structureMetadata configuration for plugin registration:
interface ChartMetadata {
category: string;
credits: string[];
description: string;
exampleGallery: Array<{ url: string }>;
name: string;
tags: string[];
thumbnail: string;
useLegacyApi?: boolean;
}Modern Plugin Metadata:
Legacy Plugin Metadata:
useLegacyApi: true flag// Step 1: Import the desired plugin
import { WordCloudChartPlugin } from '@superset-ui/plugin-chart-word-cloud';
// Step 2: Create plugin instance
const plugin = new WordCloudChartPlugin();
// Step 3: Configure with unique key
plugin.configure({ key: 'word-cloud' });
// Step 4: Register with Superset
plugin.register();The registration key ('word-cloud') is used throughout Superset to identify and reference this chart type in dashboards, explore view, and chart configuration.
Install with Tessl CLI
npx tessl i tessl/npm-superset-ui--plugin-chart-word-cloud