{"version":3,"file":"processors.cjs","sources":["../../../../src/field/overrides/processors.ts"],"sourcesContent":["import { Action } from '../../types/action';\nimport { Field } from '../../types/dataFrame';\nimport { DataLink } from '../../types/dataLink';\nimport { FieldOverrideContext } from '../../types/fieldOverrides';\nimport { SelectableValue } from '../../types/select';\nimport { SliderMarks } from '../../types/slider';\nimport { ThresholdsConfig } from '../../types/thresholds';\nimport { ValueMapping } from '../../types/valueMapping';\n\nexport const identityOverrideProcessor = <T>(value: T) => {\n  return value;\n};\n\nexport interface NumberFieldConfigSettings {\n  placeholder?: string;\n  integer?: boolean;\n  min?: number;\n  max?: number;\n  step?: number;\n}\n\nexport const numberOverrideProcessor = (\n  value: unknown,\n  context: FieldOverrideContext,\n  settings?: NumberFieldConfigSettings\n) => {\n  if (value === undefined || value === null) {\n    return undefined;\n  }\n\n  return parseFloat(String(value));\n};\n\nexport const displayNameOverrideProcessor = (\n  value: unknown,\n  context: FieldOverrideContext,\n  settings?: StringFieldConfigSettings\n) => {\n  // clear the cached display name\n  delete context.field?.state?.displayName;\n  return stringOverrideProcessor(value, context, settings);\n};\n\nexport interface SliderFieldConfigSettings {\n  min: number;\n  max: number;\n  step?: number;\n  included?: boolean;\n  marks?: SliderMarks;\n  ariaLabelForHandle?: string;\n}\n\nexport interface DataLinksFieldConfigSettings {\n  showOneClick?: boolean;\n}\n\nexport const dataLinksOverrideProcessor = (\n  value: any,\n  _context: FieldOverrideContext,\n  _settings?: DataLinksFieldConfigSettings\n): DataLink[] => {\n  return value;\n};\n\nexport const actionsOverrideProcessor = (\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  value: any,\n  _context: FieldOverrideContext,\n  _settings?: DataLinksFieldConfigSettings\n): Action[] => {\n  return value;\n};\n\nexport interface ValueMappingFieldConfigSettings {}\n\nexport const valueMappingsOverrideProcessor = (\n  value: any,\n  _context: FieldOverrideContext,\n  _settings?: ValueMappingFieldConfigSettings\n): ValueMapping[] => {\n  return value; // !!!! likely not !!!!\n};\n\nexport interface SelectFieldConfigSettings<T> {\n  allowCustomValue?: boolean;\n\n  isClearable?: boolean;\n\n  /** The default options */\n  options: Array<SelectableValue<T>>;\n\n  /** Optionally use the context to define the options */\n  getOptions?: (context: FieldOverrideContext) => Promise<Array<SelectableValue<T>>>;\n}\n\nexport const selectOverrideProcessor = (\n  value: any,\n  _context: FieldOverrideContext,\n  _settings?: SelectFieldConfigSettings<any>\n) => {\n  return value;\n};\n\nexport interface StringFieldConfigSettings {\n  placeholder?: string;\n  maxLength?: number;\n  expandTemplateVars?: boolean;\n  useTextarea?: boolean;\n  rows?: number;\n}\n\nexport const stringOverrideProcessor = (\n  value: unknown,\n  context: FieldOverrideContext,\n  settings?: StringFieldConfigSettings\n) => {\n  if (value === null || value === undefined) {\n    return value;\n  }\n  if (settings && settings.expandTemplateVars && context.replaceVariables && typeof value === 'string') {\n    return context.replaceVariables(value, context.field!.state!.scopedVars);\n  }\n  return `${value}`;\n};\n\nexport interface ThresholdsFieldConfigSettings {\n  // Anything?\n}\n\nexport const thresholdsOverrideProcessor = (\n  value: any,\n  _context: FieldOverrideContext,\n  _settings?: ThresholdsFieldConfigSettings\n): ThresholdsConfig => {\n  return value; // !!!! likely not !!!!\n};\n\nexport interface UnitFieldConfigSettings {\n  isClearable?: boolean;\n}\n\nexport const unitOverrideProcessor = (\n  value: boolean,\n  _context: FieldOverrideContext,\n  _settings?: UnitFieldConfigSettings\n) => {\n  return value;\n};\n\nexport const booleanOverrideProcessor = (\n  value: boolean,\n  _context: FieldOverrideContext,\n  _settings?: ThresholdsFieldConfigSettings\n) => {\n  return value; // !!!! likely not !!!!\n};\n\nexport interface FieldColorConfigSettings {\n  /**\n   * When switching to a visualization that does not support by value coloring then Grafana will\n   * switch to a by series palette based color mode\n   */\n  byValueSupport?: boolean;\n  /**\n   * When switching to a visualization that has this set to true then Grafana will change color mode\n   * to from thresholds if it was set to a by series palette\n   */\n  preferThresholdsMode?: boolean;\n  /**\n   * Set to true if the visualization supports both by value and by series\n   * This will enable the Color by series UI option that sets the `color.seriesBy` option.\n   */\n  bySeriesSupport?: boolean;\n}\n\nexport interface StatsPickerConfigSettings {\n  /**\n   * Enable multi-selection in the stats picker\n   */\n  allowMultiple: boolean;\n  /**\n   * Default stats to be use in the stats picker\n   */\n  defaultStat?: string;\n}\n\nexport enum FieldNamePickerBaseNameMode {\n  IncludeAll = 'all',\n  ExcludeBaseNames = 'exclude',\n  OnlyBaseNames = 'only',\n}\n\nexport interface FieldNamePickerConfigSettings {\n  /**\n   * Function is a predicate, to test each element of the array.\n   * Return a value that coerces to true to keep the field, or to false otherwise.\n   */\n  filter?: (field: Field) => boolean;\n\n  /**\n   * Show this text when no values are found\n   */\n  noFieldsMessage?: string;\n\n  /**\n   * Sets the width to a pixel value.\n   */\n  width?: number;\n\n  /**\n   * Exclude names that can match a collection of values\n   */\n  baseNameMode?: FieldNamePickerBaseNameMode;\n\n  /**\n   * Placeholder text to display when nothing is selected.\n   */\n  placeholderText?: string;\n\n  /** When set to false, the value can not be removed */\n  isClearable?: boolean;\n}\n"],"names":["FieldNamePickerBaseNameMode"],"mappings":";;;;;AASO,MAAM,yBAAA,GAA4B,CAAI,KAAA,KAAa;AACxD,EAAA,OAAO,KAAA;AACT;AAUO,MAAM,uBAAA,GAA0B,CACrC,KAAA,EACA,OAAA,EACA,QAAA,KACG;AACH,EAAA,IAAI,KAAA,KAAU,KAAA,CAAA,IAAa,KAAA,KAAU,IAAA,EAAM;AACzC,IAAA,OAAO,KAAA,CAAA;AAAA,EACT;AAEA,EAAA,OAAO,UAAA,CAAW,MAAA,CAAO,KAAK,CAAC,CAAA;AACjC;AAEO,MAAM,4BAAA,GAA+B,CAC1C,KAAA,EACA,OAAA,EACA,QAAA,KACG;AArCL,EAAA,IAAA,EAAA,EAAA,EAAA;AAuCE,EAAA,CAAA,EAAA,GAAA,CAAO,EAAA,GAAA,OAAA,CAAQ,KAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,KAAA,KAAtB,IAAA,GAAA,IAAA,GAAA,OAAA,EAAA,CAA6B,WAAA;AAC7B,EAAA,OAAO,uBAAA,CAAwB,KAAA,EAAO,OAAA,EAAS,QAAQ,CAAA;AACzD;AAeO,MAAM,0BAAA,GAA6B,CACxC,KAAA,EACA,QAAA,EACA,SAAA,KACe;AACf,EAAA,OAAO,KAAA;AACT;AAEO,MAAM,wBAAA,GAA2B,CAEtC,KAAA,EACA,QAAA,EACA,SAAA,KACa;AACb,EAAA,OAAO,KAAA;AACT;AAIO,MAAM,8BAAA,GAAiC,CAC5C,KAAA,EACA,QAAA,EACA,SAAA,KACmB;AACnB,EAAA,OAAO,KAAA;AACT;AAcO,MAAM,uBAAA,GAA0B,CACrC,KAAA,EACA,QAAA,EACA,SAAA,KACG;AACH,EAAA,OAAO,KAAA;AACT;AAUO,MAAM,uBAAA,GAA0B,CACrC,KAAA,EACA,OAAA,EACA,QAAA,KACG;AACH,EAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,KAAA,CAAA,EAAW;AACzC,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,YAAY,QAAA,CAAS,kBAAA,IAAsB,QAAQ,gBAAA,IAAoB,OAAO,UAAU,QAAA,EAAU;AACpG,IAAA,OAAO,QAAQ,gBAAA,CAAiB,KAAA,EAAO,OAAA,CAAQ,KAAA,CAAO,MAAO,UAAU,CAAA;AAAA,EACzE;AACA,EAAA,OAAO,GAAG,KAAK,CAAA,CAAA;AACjB;AAMO,MAAM,2BAAA,GAA8B,CACzC,KAAA,EACA,QAAA,EACA,SAAA,KACqB;AACrB,EAAA,OAAO,KAAA;AACT;AAMO,MAAM,qBAAA,GAAwB,CACnC,KAAA,EACA,QAAA,EACA,SAAA,KACG;AACH,EAAA,OAAO,KAAA;AACT;AAEO,MAAM,wBAAA,GAA2B,CACtC,KAAA,EACA,QAAA,EACA,SAAA,KACG;AACH,EAAA,OAAO,KAAA;AACT;AA+BO,IAAK,2BAAA,qBAAAA,4BAAAA,KAAL;AACL,EAAAA,6BAAA,YAAA,CAAA,GAAa,KAAA;AACb,EAAAA,6BAAA,kBAAA,CAAA,GAAmB,SAAA;AACnB,EAAAA,6BAAA,eAAA,CAAA,GAAgB,MAAA;AAHN,EAAA,OAAAA,4BAAAA;AAAA,CAAA,EAAA,2BAAA,IAAA,EAAA;;;;;;;;;;;;;;;"}