mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Canvas: Fix crash when trying to add wind turbine element (#84962)
This commit is contained in:
@@ -148,11 +148,11 @@ export function getDataLinks(
|
|||||||
|
|
||||||
// Text config
|
// Text config
|
||||||
const isTextTiedToFieldData =
|
const isTextTiedToFieldData =
|
||||||
elementConfig.text?.field &&
|
elementConfig?.text?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.text?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.text?.field);
|
||||||
const isTextColorTiedToFieldData =
|
const isTextColorTiedToFieldData =
|
||||||
elementConfig.color?.field &&
|
elementConfig?.color?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.color?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.color?.field);
|
||||||
|
|
||||||
// General element config
|
// General element config
|
||||||
const isElementBackgroundColorTiedToFieldData =
|
const isElementBackgroundColorTiedToFieldData =
|
||||||
@@ -167,36 +167,38 @@ export function getDataLinks(
|
|||||||
|
|
||||||
// Icon config
|
// Icon config
|
||||||
const isIconSVGTiedToFieldData =
|
const isIconSVGTiedToFieldData =
|
||||||
elementConfig.path?.field &&
|
elementConfig?.path?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.path?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.path?.field);
|
||||||
const isIconColorTiedToFieldData =
|
const isIconColorTiedToFieldData =
|
||||||
elementConfig.fill?.field &&
|
elementConfig?.fill?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.fill?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.fill?.field);
|
||||||
|
|
||||||
// Wind turbine config (maybe remove / not support this?)
|
// Wind turbine config (maybe remove / not support this?)
|
||||||
const isWindTurbineRPMTiedToFieldData =
|
const isWindTurbineRPMTiedToFieldData =
|
||||||
elementConfig.rpm?.field &&
|
elementConfig?.rpm?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.rpm?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.rpm?.field);
|
||||||
|
|
||||||
// Server config
|
// Server config
|
||||||
const isServerBlinkRateTiedToFieldData =
|
const isServerBlinkRateTiedToFieldData =
|
||||||
elementConfig.blinkRate?.field &&
|
elementConfig?.blinkRate?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.blinkRate?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.blinkRate?.field);
|
||||||
const isServerStatusColorTiedToFieldData =
|
const isServerStatusColorTiedToFieldData =
|
||||||
elementConfig.statusColor?.field &&
|
elementConfig?.statusColor?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.statusColor?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.statusColor?.field);
|
||||||
const isServerBulbColorTiedToFieldData =
|
const isServerBulbColorTiedToFieldData =
|
||||||
elementConfig.bulbColor?.field &&
|
elementConfig?.bulbColor?.field &&
|
||||||
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig.bulbColor?.field);
|
visibleFields.some((field) => getFieldDisplayName(field, frame) === elementConfig?.bulbColor?.field);
|
||||||
|
|
||||||
if (isTextTiedToFieldData) {
|
if (isTextTiedToFieldData) {
|
||||||
const field = visibleFields.filter((field) => getFieldDisplayName(field, frame) === elementConfig.text?.field)[0];
|
const field = visibleFields.filter(
|
||||||
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.text?.field
|
||||||
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isTextColorTiedToFieldData) {
|
if (isTextColorTiedToFieldData) {
|
||||||
const field = visibleFields.filter(
|
const field = visibleFields.filter(
|
||||||
(field) => getFieldDisplayName(field, frame) === elementConfig.color?.field
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.color?.field
|
||||||
)[0];
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
@@ -223,37 +225,41 @@ export function getDataLinks(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isIconSVGTiedToFieldData) {
|
if (isIconSVGTiedToFieldData) {
|
||||||
const field = visibleFields.filter((field) => getFieldDisplayName(field, frame) === elementConfig.path?.field)[0];
|
const field = visibleFields.filter(
|
||||||
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.path?.field
|
||||||
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isIconColorTiedToFieldData) {
|
if (isIconColorTiedToFieldData) {
|
||||||
const field = visibleFields.filter((field) => getFieldDisplayName(field, frame) === elementConfig.fill?.field)[0];
|
const field = visibleFields.filter(
|
||||||
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.fill?.field
|
||||||
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isWindTurbineRPMTiedToFieldData) {
|
if (isWindTurbineRPMTiedToFieldData) {
|
||||||
const field = visibleFields.filter((field) => getFieldDisplayName(field, frame) === elementConfig.rpm?.field)[0];
|
const field = visibleFields.filter((field) => getFieldDisplayName(field, frame) === elementConfig?.rpm?.field)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isServerBlinkRateTiedToFieldData) {
|
if (isServerBlinkRateTiedToFieldData) {
|
||||||
const field = visibleFields.filter(
|
const field = visibleFields.filter(
|
||||||
(field) => getFieldDisplayName(field, frame) === elementConfig.blinkRate?.field
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.blinkRate?.field
|
||||||
)[0];
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isServerStatusColorTiedToFieldData) {
|
if (isServerStatusColorTiedToFieldData) {
|
||||||
const field = visibleFields.filter(
|
const field = visibleFields.filter(
|
||||||
(field) => getFieldDisplayName(field, frame) === elementConfig.statusColor?.field
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.statusColor?.field
|
||||||
)[0];
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isServerBulbColorTiedToFieldData) {
|
if (isServerBulbColorTiedToFieldData) {
|
||||||
const field = visibleFields.filter(
|
const field = visibleFields.filter(
|
||||||
(field) => getFieldDisplayName(field, frame) === elementConfig.bulbColor?.field
|
(field) => getFieldDisplayName(field, frame) === elementConfig?.bulbColor?.field
|
||||||
)[0];
|
)[0];
|
||||||
addDataLinkForField(field, data, linkLookup, links);
|
addDataLinkForField(field, data, linkLookup, links);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user