(idx: number, field: K, newValue: ArcOption[K]) => {\n let arcs = value?.slice() ?? [];\n arcs[idx][field] = newValue;\n onChange(arcs);\n };\n\n return (\n <>\n {value?.map((arc, i) => {\n return (\n \n {\n updateField(i, 'field', val);\n }}\n item={{\n settings: {\n filter: (field: Field) => field.name.includes('arc__'),\n },\n id: `arc-field-${i}`,\n name: `arc-field-${i}`,\n }}\n />\n {\n updateField(i, 'color', val);\n }}\n />\n
\n );\n })}\n \n >\n );\n};\n\nconst getStyles = () => {\n return {\n section: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0 8px;\n margin-bottom: 8px;\n `,\n };\n};\n","import { PanelPlugin } from '@grafana/data';\n\nimport { NodeGraphPanel } from './NodeGraphPanel';\nimport { ArcOptionsEditor } from './editor/ArcOptionsEditor';\nimport { NodeGraphOptions } from './types';\n\nexport const plugin = new PanelPlugin(NodeGraphPanel).setPanelOptions((builder, context) => {\n builder.addNestedOptions({\n category: ['Nodes'],\n path: 'nodes',\n build: (builder) => {\n builder.addUnitPicker({\n name: 'Main stat unit',\n path: 'mainStatUnit',\n });\n builder.addUnitPicker({\n name: 'Secondary stat unit',\n path: 'secondaryStatUnit',\n });\n builder.addCustomEditor({\n name: 'Arc sections',\n path: 'arcs',\n id: 'arcs',\n editor: ArcOptionsEditor,\n });\n },\n });\n builder.addNestedOptions({\n category: ['Edges'],\n path: 'edges',\n build: (builder) => {\n builder.addUnitPicker({\n name: 'Main stat unit',\n path: 'mainStatUnit',\n });\n builder.addUnitPicker({\n name: 'Secondary stat unit',\n path: 'secondaryStatUnit',\n });\n },\n });\n});\n"],"names":["NodeGraphPanel","width","height","data","options","getLinks","memoizedGetNodeGraphDataFrames","NodeGraph","ArcOptionsEditor","value","onChange","context","styles","getStyles","addArc","newArc","removeArc","idx","copy","updateField","field","newValue","arcs","arc","i","FieldNamePicker","val","ColorPicker","Button","PanelPlugin","builder"],"sourceRoot":""}