mirror of
https://github.com/getredash/redash.git
synced 2026-03-23 04:00:09 -04:00
* Improve sizing for Number inputs
Co-Authored-By: Ran Byron <ranbena@gmail.com>
* Migrate WidgetDialog
* Start migrating Widget
* Update textbox to use HtmlContent
* QueryLink migration and some updates
* Add visualization rendering
* Render widget
* Add delete button
* Update AutoHeight
* Add widget bottom
* Add Drodpown button
* Split Widget component
* Update with #4056 and trigger netlify
* In progress: use composition
* Add header and footer
* Update widget actions positioning
* Re-render when refreshing from widget
* Add workaround to force DashboardGrid re-render
* VisualizationWidgetFooter component
* VisualizationWidget menu
* Separate RestrictedWidget
* Update tests
* Update margin for Parameters
* Remove widget files
* Revert "Improve sizing for Number inputs"
This reverts commit a02ce8f0aa.
* Some cleanup
* Move refresh logic to the Dashboard
* Add loadingWidgets logic to the public dashboard
* Add onLoadWidget
* Remove parameter from URL when empty
* Recreate widget array instead of loadingWidgets
* Add comment about re-rendering + whitespace missing
* CR changes
* Use plain html instead of string syntax
Co-Authored-By: Ran Byron <ranbena@gmail.com>
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { VisualizationType } from '@/visualizations';
|
|
import { VisualizationName } from '@/visualizations/VisualizationName';
|
|
|
|
function QueryLink({ query, visualization, readOnly }) {
|
|
const getUrl = () => {
|
|
let hash = null;
|
|
if (visualization) {
|
|
if (visualization.type === 'TABLE') {
|
|
// link to hard-coded table tab instead of the (hidden) visualization tab
|
|
hash = 'table';
|
|
} else {
|
|
hash = visualization.id;
|
|
}
|
|
}
|
|
|
|
return query.getUrl(false, hash);
|
|
};
|
|
|
|
return (
|
|
<a href={readOnly ? null : getUrl()} className="query-link">
|
|
<VisualizationName visualization={visualization} />{' '}
|
|
<span>{query.name}</span>
|
|
</a>
|
|
);
|
|
}
|
|
|
|
QueryLink.propTypes = {
|
|
query: PropTypes.object.isRequired, // eslint-disable-line react/forbid-prop-types
|
|
visualization: VisualizationType,
|
|
readOnly: PropTypes.bool,
|
|
};
|
|
|
|
QueryLink.defaultProps = {
|
|
visualization: null,
|
|
readOnly: false,
|
|
};
|
|
|
|
export default QueryLink;
|