@perses-dev/dashboards 0.37.2 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/cjs/components/Dashboard/Dashboard.js +3 -2
  2. package/dist/cjs/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +12 -52
  3. package/dist/cjs/components/GridLayout/GridItemContent.js +3 -1
  4. package/dist/cjs/components/GridLayout/GridLayout.js +1 -0
  5. package/dist/cjs/components/Panel/Panel.js +8 -3
  6. package/dist/cjs/components/Panel/PanelHeader.js +7 -3
  7. package/dist/cjs/components/SaveDashboardButton/SaveDashboardButton.js +3 -1
  8. package/dist/cjs/components/Variables/EditVariablesButton.js +2 -0
  9. package/dist/cjs/components/Variables/TemplateVariable.js +22 -18
  10. package/dist/cjs/components/Variables/VariableEditor.js +271 -99
  11. package/dist/cjs/components/Variables/VariableList.js +38 -18
  12. package/dist/cjs/components/Variables/index.js +0 -2
  13. package/dist/cjs/context/DatasourceStoreProvider.js +22 -18
  14. package/dist/cjs/context/TemplateVariableProvider/TemplateVariableProvider.js +71 -24
  15. package/dist/cjs/context/TemplateVariableProvider/hydrationUtils.js +55 -5
  16. package/dist/cjs/context/TemplateVariableProvider/utils.js +39 -7
  17. package/dist/cjs/test/render.js +1 -1
  18. package/dist/cjs/views/ViewDashboard/DashboardApp.js +7 -2
  19. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +4 -3
  20. package/dist/components/Dashboard/Dashboard.d.ts +3 -1
  21. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -1
  22. package/dist/components/Dashboard/Dashboard.js +3 -2
  23. package/dist/components/Dashboard/Dashboard.js.map +1 -1
  24. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.d.ts +1 -1
  25. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.d.ts.map +1 -1
  26. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +11 -46
  27. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js.map +1 -1
  28. package/dist/components/GridLayout/GridItemContent.d.ts +2 -0
  29. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  30. package/dist/components/GridLayout/GridItemContent.js +3 -1
  31. package/dist/components/GridLayout/GridItemContent.js.map +1 -1
  32. package/dist/components/GridLayout/GridLayout.d.ts +2 -0
  33. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
  34. package/dist/components/GridLayout/GridLayout.js +1 -0
  35. package/dist/components/GridLayout/GridLayout.js.map +1 -1
  36. package/dist/components/Panel/Panel.d.ts +20 -0
  37. package/dist/components/Panel/Panel.d.ts.map +1 -1
  38. package/dist/components/Panel/Panel.js +8 -3
  39. package/dist/components/Panel/Panel.js.map +1 -1
  40. package/dist/components/Panel/PanelHeader.d.ts +2 -1
  41. package/dist/components/Panel/PanelHeader.d.ts.map +1 -1
  42. package/dist/components/Panel/PanelHeader.js +7 -3
  43. package/dist/components/Panel/PanelHeader.js.map +1 -1
  44. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
  45. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
  46. package/dist/components/SaveDashboardButton/SaveDashboardButton.d.ts.map +1 -1
  47. package/dist/components/SaveDashboardButton/SaveDashboardButton.js +3 -1
  48. package/dist/components/SaveDashboardButton/SaveDashboardButton.js.map +1 -1
  49. package/dist/components/Variables/EditVariablesButton.d.ts.map +1 -1
  50. package/dist/components/Variables/EditVariablesButton.js +3 -1
  51. package/dist/components/Variables/EditVariablesButton.js.map +1 -1
  52. package/dist/components/Variables/TemplateVariable.d.ts +2 -1
  53. package/dist/components/Variables/TemplateVariable.d.ts.map +1 -1
  54. package/dist/components/Variables/TemplateVariable.js +21 -17
  55. package/dist/components/Variables/TemplateVariable.js.map +1 -1
  56. package/dist/components/Variables/VariableEditor.d.ts +7 -0
  57. package/dist/components/Variables/VariableEditor.d.ts.map +1 -1
  58. package/dist/components/Variables/VariableEditor.js +261 -95
  59. package/dist/components/Variables/VariableEditor.js.map +1 -1
  60. package/dist/components/Variables/VariableList.d.ts +5 -0
  61. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  62. package/dist/components/Variables/VariableList.js +31 -17
  63. package/dist/components/Variables/VariableList.js.map +1 -1
  64. package/dist/components/Variables/index.d.ts +0 -2
  65. package/dist/components/Variables/index.d.ts.map +1 -1
  66. package/dist/components/Variables/index.js +0 -2
  67. package/dist/components/Variables/index.js.map +1 -1
  68. package/dist/context/DatasourceStoreProvider.d.ts +4 -3
  69. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -1
  70. package/dist/context/DatasourceStoreProvider.js +22 -18
  71. package/dist/context/DatasourceStoreProvider.js.map +1 -1
  72. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts +39 -10
  73. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts.map +1 -1
  74. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js +76 -27
  75. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js.map +1 -1
  76. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts +9 -2
  77. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts.map +1 -1
  78. package/dist/context/TemplateVariableProvider/hydrationUtils.js +60 -5
  79. package/dist/context/TemplateVariableProvider/hydrationUtils.js.map +1 -1
  80. package/dist/context/TemplateVariableProvider/utils.d.ts +27 -2
  81. package/dist/context/TemplateVariableProvider/utils.d.ts.map +1 -1
  82. package/dist/context/TemplateVariableProvider/utils.js +46 -4
  83. package/dist/context/TemplateVariableProvider/utils.js.map +1 -1
  84. package/dist/test/render.js +2 -2
  85. package/dist/test/render.js.map +1 -1
  86. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  87. package/dist/views/ViewDashboard/DashboardApp.js +9 -4
  88. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
  89. package/dist/views/ViewDashboard/ViewDashboard.d.ts +2 -1
  90. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  91. package/dist/views/ViewDashboard/ViewDashboard.js +4 -3
  92. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
  93. package/package.json +6 -6
  94. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +0 -399
  95. package/dist/cjs/components/Variables/VariableEditorForm/VariablePreview.js +0 -178
  96. package/dist/cjs/components/Variables/VariableEditorForm/index.js +0 -29
  97. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +0 -91
  98. package/dist/cjs/components/Variables/variable-model.js +0 -117
  99. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +0 -10
  100. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +0 -1
  101. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +0 -354
  102. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +0 -1
  103. package/dist/components/Variables/VariableEditorForm/VariablePreview.d.ts +0 -16
  104. package/dist/components/Variables/VariableEditorForm/VariablePreview.d.ts.map +0 -1
  105. package/dist/components/Variables/VariableEditorForm/VariablePreview.js +0 -122
  106. package/dist/components/Variables/VariableEditorForm/VariablePreview.js.map +0 -1
  107. package/dist/components/Variables/VariableEditorForm/index.d.ts +0 -3
  108. package/dist/components/Variables/VariableEditorForm/index.d.ts.map +0 -1
  109. package/dist/components/Variables/VariableEditorForm/index.js +0 -16
  110. package/dist/components/Variables/VariableEditorForm/index.js.map +0 -1
  111. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +0 -23
  112. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +0 -1
  113. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +0 -79
  114. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +0 -1
  115. package/dist/components/Variables/variable-model.d.ts +0 -16
  116. package/dist/components/Variables/variable-model.d.ts.map +0 -1
  117. package/dist/components/Variables/variable-model.js +0 -105
  118. package/dist/components/Variables/variable-model.js.map +0 -1
@@ -14,20 +14,22 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  import { useEffect, useMemo, useState } from 'react';
15
15
  import { Select, FormControl, InputLabel, MenuItem, Box, LinearProgress, TextField } from '@mui/material';
16
16
  import { DEFAULT_ALL_VALUE } from '@perses-dev/core';
17
+ import { useListVariablePluginValues } from '@perses-dev/plugin-system';
17
18
  import { useTemplateVariable, useTemplateVariableActions } from '../../context';
18
- import { useListVariablePluginValues } from './variable-model';
19
- export function TemplateVariable({ name }) {
19
+ export function TemplateVariable({ name , source }) {
20
20
  var ref;
21
- const ctx = useTemplateVariable(name);
21
+ const ctx = useTemplateVariable(name, source);
22
22
  const kind = (ref = ctx.definition) === null || ref === void 0 ? void 0 : ref.kind;
23
23
  switch(kind){
24
24
  case 'TextVariable':
25
25
  return /*#__PURE__*/ _jsx(TextVariable, {
26
- name: name
26
+ name: name,
27
+ source: source
27
28
  });
28
29
  case 'ListVariable':
29
30
  return /*#__PURE__*/ _jsx(ListVariable, {
30
- name: name
31
+ name: name,
32
+ source: source
31
33
  });
32
34
  }
33
35
  return /*#__PURE__*/ _jsxs("div", {
@@ -37,9 +39,9 @@ export function TemplateVariable({ name }) {
37
39
  ]
38
40
  });
39
41
  }
40
- function ListVariable({ name }) {
42
+ function ListVariable({ name , source }) {
41
43
  var ref, ref1, ref2, ref3;
42
- const ctx = useTemplateVariable(name);
44
+ const ctx = useTemplateVariable(name, source);
43
45
  const definition = ctx.definition;
44
46
  const variablesOptionsQuery = useListVariablePluginValues(definition);
45
47
  const { setVariableValue , setVariableLoading , setVariableOptions } = useTemplateVariableActions();
@@ -48,15 +50,16 @@ function ListVariable({ name }) {
48
50
  var ref4;
49
51
  const title = (ref4 = (ref = definition === null || definition === void 0 ? void 0 : definition.spec.display) === null || ref === void 0 ? void 0 : ref.name) !== null && ref4 !== void 0 ? ref4 : name;
50
52
  useEffect(()=>{
51
- setVariableLoading(name, variablesOptionsQuery.isFetching);
53
+ setVariableLoading(name, variablesOptionsQuery.isFetching, source);
52
54
  if (variablesOptionsQuery.data) {
53
- setVariableOptions(name, variablesOptionsQuery.data);
55
+ setVariableOptions(name, variablesOptionsQuery.data, source);
54
56
  }
55
57
  }, [
56
58
  variablesOptionsQuery,
57
59
  name,
58
60
  setVariableLoading,
59
- setVariableOptions
61
+ setVariableOptions,
62
+ source
60
63
  ]);
61
64
  let value = (ref1 = ctx.state) === null || ref1 === void 0 ? void 0 : ref1.value;
62
65
  const options = (ref2 = ctx.state) === null || ref2 === void 0 ? void 0 : ref2.options;
@@ -104,14 +107,15 @@ function ListVariable({ name }) {
104
107
  const firstOption = finalOptions === null || finalOptions === void 0 ? void 0 : finalOptions[0];
105
108
  // If there is no value but there are options, set the value to the first option.
106
109
  if (!value && firstOption) {
107
- setVariableValue(name, firstOption.value);
110
+ setVariableValue(name, firstOption.value, source);
108
111
  }
109
112
  }, [
110
113
  finalOptions,
111
114
  setVariableValue,
112
115
  value,
113
116
  name,
114
- allowMultiple
117
+ allowMultiple,
118
+ source
115
119
  ]);
116
120
  return /*#__PURE__*/ _jsx(Box, {
117
121
  display: 'flex',
@@ -134,11 +138,11 @@ function ListVariable({ name }) {
134
138
  // Must be selected
135
139
  if (e.target.value === null || e.target.value.length === 0) {
136
140
  if (allowAllValue) {
137
- setVariableValue(name, DEFAULT_ALL_VALUE);
141
+ setVariableValue(name, DEFAULT_ALL_VALUE, source);
138
142
  }
139
143
  return;
140
144
  }
141
- setVariableValue(name, e.target.value);
145
+ setVariableValue(name, e.target.value, source);
142
146
  },
143
147
  multiple: allowMultiple,
144
148
  children: [
@@ -163,9 +167,9 @@ function ListVariable({ name }) {
163
167
  })
164
168
  });
165
169
  }
166
- function TextVariable({ name }) {
170
+ function TextVariable({ name , source }) {
167
171
  var ref;
168
- const { state , definition } = useTemplateVariable(name);
172
+ const { state , definition } = useTemplateVariable(name, source);
169
173
  var ref1;
170
174
  const [tempValue, setTempValue] = useState((ref1 = state === null || state === void 0 ? void 0 : state.value) !== null && ref1 !== void 0 ? ref1 : '');
171
175
  const { setVariableValue } = useTemplateVariableActions();
@@ -179,7 +183,7 @@ function TextVariable({ name }) {
179
183
  return /*#__PURE__*/ _jsx(TextField, {
180
184
  value: tempValue,
181
185
  onChange: (e)=>setTempValue(e.target.value),
182
- onBlur: ()=>setVariableValue(name, tempValue),
186
+ onBlur: ()=>setVariableValue(name, tempValue, source),
183
187
  placeholder: name,
184
188
  label: (ref2 = (ref = definition === null || definition === void 0 ? void 0 : definition.spec.display) === null || ref === void 0 ? void 0 : ref.name) !== null && ref2 !== void 0 ? ref2 : name
185
189
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Variables/TemplateVariable.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useEffect, useMemo, useState } from 'react';\nimport { Select, FormControl, InputLabel, MenuItem, Box, LinearProgress, TextField } from '@mui/material';\nimport { DEFAULT_ALL_VALUE, ListVariableDefinition, VariableName, VariableValue } from '@perses-dev/core';\nimport { useTemplateVariable, useTemplateVariableActions } from '../../context';\nimport { useListVariablePluginValues } from './variable-model';\ntype TemplateVariableProps = {\n name: VariableName;\n};\n\nexport function TemplateVariable({ name }: TemplateVariableProps) {\n const ctx = useTemplateVariable(name);\n const kind = ctx.definition?.kind;\n switch (kind) {\n case 'TextVariable':\n return <TextVariable name={name} />;\n case 'ListVariable':\n return <ListVariable name={name} />;\n }\n\n return <div>Unsupported Variable Kind: ${kind}</div>;\n}\n\nfunction ListVariable({ name }: TemplateVariableProps) {\n const ctx = useTemplateVariable(name);\n const definition = ctx.definition as ListVariableDefinition;\n const variablesOptionsQuery = useListVariablePluginValues(definition);\n const { setVariableValue, setVariableLoading, setVariableOptions } = useTemplateVariableActions();\n\n const allowMultiple = definition?.spec.allow_multiple === true;\n const allowAllValue = definition?.spec.allow_all_value === true;\n const title = definition?.spec.display?.name ?? name;\n\n useEffect(() => {\n setVariableLoading(name, variablesOptionsQuery.isFetching);\n if (variablesOptionsQuery.data) {\n setVariableOptions(name, variablesOptionsQuery.data);\n }\n }, [variablesOptionsQuery, name, setVariableLoading, setVariableOptions]);\n\n let value = ctx.state?.value;\n const options = ctx.state?.options;\n const loading = ctx.state?.loading;\n\n // Make sure value is an array if allowMultiple is true\n if (allowMultiple && !Array.isArray(value)) {\n value = typeof value === 'string' ? [value] : [];\n }\n\n const finalOptions = useMemo(() => {\n let computedOptions = options ? [...options] : [];\n\n // Add the all value if it's allowed\n if (allowAllValue) {\n computedOptions = [{ value: DEFAULT_ALL_VALUE, label: 'All' }, ...computedOptions];\n }\n return computedOptions;\n }, [options, allowAllValue]);\n\n const valueIsInOptions = useMemo(\n () =>\n Boolean(\n finalOptions.find((v) => {\n if (allowMultiple) {\n return (value as string[]).includes(v.value);\n }\n return value === v.value;\n })\n ),\n [finalOptions, value, allowMultiple]\n );\n\n let selectValue = value;\n if (!valueIsInOptions) {\n selectValue = allowMultiple ? [] : '';\n }\n\n useEffect(() => {\n const firstOption = finalOptions?.[0];\n\n // If there is no value but there are options, set the value to the first option.\n if (!value && firstOption) {\n setVariableValue(name, firstOption.value);\n }\n }, [finalOptions, setVariableValue, value, name, allowMultiple]);\n\n return (\n <Box display={'flex'}>\n <FormControl fullWidth>\n <InputLabel id={name}>{title}</InputLabel>\n <Select\n sx={{ minWidth: 100, maxWidth: 250 }}\n id={name}\n label={title}\n value={selectValue}\n onChange={(e) => {\n // Must be selected\n if (e.target.value === null || e.target.value.length === 0) {\n if (allowAllValue) {\n setVariableValue(name, DEFAULT_ALL_VALUE);\n }\n return;\n }\n setVariableValue(name, e.target.value as VariableValue);\n }}\n multiple={allowMultiple}\n >\n {loading && (\n <MenuItem value=\"loading\" disabled>\n Loading\n </MenuItem>\n )}\n\n {finalOptions.length === 0 && (\n <MenuItem value=\"empty\" disabled>\n No options\n </MenuItem>\n )}\n {finalOptions.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n {loading && <LinearProgress />}\n </FormControl>\n </Box>\n );\n}\n\nfunction TextVariable({ name }: TemplateVariableProps) {\n const { state, definition } = useTemplateVariable(name);\n const [tempValue, setTempValue] = useState(state?.value ?? '');\n const { setVariableValue } = useTemplateVariableActions();\n\n useEffect(() => {\n setTempValue(state?.value ?? '');\n }, [state?.value]);\n\n return (\n <TextField\n value={tempValue}\n onChange={(e) => setTempValue(e.target.value)}\n onBlur={() => setVariableValue(name, tempValue)}\n placeholder={name}\n label={definition?.spec.display?.name ?? name}\n />\n );\n}\n"],"names":["useEffect","useMemo","useState","Select","FormControl","InputLabel","MenuItem","Box","LinearProgress","TextField","DEFAULT_ALL_VALUE","useTemplateVariable","useTemplateVariableActions","useListVariablePluginValues","TemplateVariable","name","ctx","kind","definition","TextVariable","ListVariable","div","variablesOptionsQuery","setVariableValue","setVariableLoading","setVariableOptions","allowMultiple","spec","allow_multiple","allowAllValue","allow_all_value","title","display","isFetching","data","value","state","options","loading","Array","isArray","finalOptions","computedOptions","label","valueIsInOptions","Boolean","find","v","includes","selectValue","firstOption","fullWidth","id","sx","minWidth","maxWidth","onChange","e","target","length","multiple","disabled","map","option","tempValue","setTempValue","onBlur","placeholder"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Variables/TemplateVariable.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useEffect, useMemo, useState } from 'react';\nimport { Select, FormControl, InputLabel, MenuItem, Box, LinearProgress, TextField } from '@mui/material';\nimport { DEFAULT_ALL_VALUE, ListVariableDefinition, VariableName, VariableValue } from '@perses-dev/core';\nimport { useListVariablePluginValues } from '@perses-dev/plugin-system';\nimport { useTemplateVariable, useTemplateVariableActions } from '../../context';\n\ntype TemplateVariableProps = {\n name: VariableName;\n source?: string;\n};\n\nexport function TemplateVariable({ name, source }: TemplateVariableProps) {\n const ctx = useTemplateVariable(name, source);\n const kind = ctx.definition?.kind;\n switch (kind) {\n case 'TextVariable':\n return <TextVariable name={name} source={source} />;\n case 'ListVariable':\n return <ListVariable name={name} source={source} />;\n }\n\n return <div>Unsupported Variable Kind: ${kind}</div>;\n}\n\nfunction ListVariable({ name, source }: TemplateVariableProps) {\n const ctx = useTemplateVariable(name, source);\n const definition = ctx.definition as ListVariableDefinition;\n const variablesOptionsQuery = useListVariablePluginValues(definition);\n const { setVariableValue, setVariableLoading, setVariableOptions } = useTemplateVariableActions();\n\n const allowMultiple = definition?.spec.allow_multiple === true;\n const allowAllValue = definition?.spec.allow_all_value === true;\n const title = definition?.spec.display?.name ?? name;\n\n useEffect(() => {\n setVariableLoading(name, variablesOptionsQuery.isFetching, source);\n if (variablesOptionsQuery.data) {\n setVariableOptions(name, variablesOptionsQuery.data, source);\n }\n }, [variablesOptionsQuery, name, setVariableLoading, setVariableOptions, source]);\n\n let value = ctx.state?.value;\n const options = ctx.state?.options;\n const loading = ctx.state?.loading;\n\n // Make sure value is an array if allowMultiple is true\n if (allowMultiple && !Array.isArray(value)) {\n value = typeof value === 'string' ? [value] : [];\n }\n\n const finalOptions = useMemo(() => {\n let computedOptions = options ? [...options] : [];\n\n // Add the all value if it's allowed\n if (allowAllValue) {\n computedOptions = [{ value: DEFAULT_ALL_VALUE, label: 'All' }, ...computedOptions];\n }\n return computedOptions;\n }, [options, allowAllValue]);\n\n const valueIsInOptions = useMemo(\n () =>\n Boolean(\n finalOptions.find((v) => {\n if (allowMultiple) {\n return (value as string[]).includes(v.value);\n }\n return value === v.value;\n })\n ),\n [finalOptions, value, allowMultiple]\n );\n\n let selectValue = value;\n if (!valueIsInOptions) {\n selectValue = allowMultiple ? [] : '';\n }\n\n useEffect(() => {\n const firstOption = finalOptions?.[0];\n\n // If there is no value but there are options, set the value to the first option.\n if (!value && firstOption) {\n setVariableValue(name, firstOption.value, source);\n }\n }, [finalOptions, setVariableValue, value, name, allowMultiple, source]);\n\n return (\n <Box display={'flex'}>\n <FormControl fullWidth>\n <InputLabel id={name}>{title}</InputLabel>\n <Select\n sx={{ minWidth: 100, maxWidth: 250 }}\n id={name}\n label={title}\n value={selectValue}\n onChange={(e) => {\n // Must be selected\n if (e.target.value === null || e.target.value.length === 0) {\n if (allowAllValue) {\n setVariableValue(name, DEFAULT_ALL_VALUE, source);\n }\n return;\n }\n setVariableValue(name, e.target.value as VariableValue, source);\n }}\n multiple={allowMultiple}\n >\n {loading && (\n <MenuItem value=\"loading\" disabled>\n Loading\n </MenuItem>\n )}\n\n {finalOptions.length === 0 && (\n <MenuItem value=\"empty\" disabled>\n No options\n </MenuItem>\n )}\n {finalOptions.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n {loading && <LinearProgress />}\n </FormControl>\n </Box>\n );\n}\n\nfunction TextVariable({ name, source }: TemplateVariableProps) {\n const { state, definition } = useTemplateVariable(name, source);\n const [tempValue, setTempValue] = useState(state?.value ?? '');\n const { setVariableValue } = useTemplateVariableActions();\n\n useEffect(() => {\n setTempValue(state?.value ?? '');\n }, [state?.value]);\n\n return (\n <TextField\n value={tempValue}\n onChange={(e) => setTempValue(e.target.value)}\n onBlur={() => setVariableValue(name, tempValue, source)}\n placeholder={name}\n label={definition?.spec.display?.name ?? name}\n />\n );\n}\n"],"names":["useEffect","useMemo","useState","Select","FormControl","InputLabel","MenuItem","Box","LinearProgress","TextField","DEFAULT_ALL_VALUE","useListVariablePluginValues","useTemplateVariable","useTemplateVariableActions","TemplateVariable","name","source","ctx","kind","definition","TextVariable","ListVariable","div","variablesOptionsQuery","setVariableValue","setVariableLoading","setVariableOptions","allowMultiple","spec","allow_multiple","allowAllValue","allow_all_value","title","display","isFetching","data","value","state","options","loading","Array","isArray","finalOptions","computedOptions","label","valueIsInOptions","Boolean","find","v","includes","selectValue","firstOption","fullWidth","id","sx","minWidth","maxWidth","onChange","e","target","length","multiple","disabled","map","option","tempValue","setTempValue","onBlur","placeholder"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO,CAAC;AACrD,SAASC,MAAM,EAAEC,WAAW,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,cAAc,EAAEC,SAAS,QAAQ,eAAe,CAAC;AAC1G,SAASC,iBAAiB,QAA6D,kBAAkB,CAAC;AAC1G,SAASC,2BAA2B,QAAQ,2BAA2B,CAAC;AACxE,SAASC,mBAAmB,EAAEC,0BAA0B,QAAQ,eAAe,CAAC;AAOhF,OAAO,SAASC,gBAAgB,CAAC,EAAEC,IAAI,CAAA,EAAEC,MAAM,CAAA,EAAyB,EAAE;QAE3DC,GAAc;IAD3B,MAAMA,GAAG,GAAGL,mBAAmB,CAACG,IAAI,EAAEC,MAAM,CAAC,AAAC;IAC9C,MAAME,IAAI,GAAGD,CAAAA,GAAc,GAAdA,GAAG,CAACE,UAAU,cAAdF,GAAc,WAAM,GAApBA,KAAAA,CAAoB,GAApBA,GAAc,CAAEC,IAAI,AAAC;IAClC,OAAQA,IAAI;QACV,KAAK,cAAc;YACjB,qBAAO,KAACE,YAAY;gBAACL,IAAI,EAAEA,IAAI;gBAAEC,MAAM,EAAEA,MAAM;cAAI,CAAC;QACtD,KAAK,cAAc;YACjB,qBAAO,KAACK,YAAY;gBAACN,IAAI,EAAEA,IAAI;gBAAEC,MAAM,EAAEA,MAAM;cAAI,CAAC;KACvD;IAED,qBAAO,MAACM,KAAG;;YAAC,8BAA4B;YAACJ,IAAI;;MAAO,CAAC;AACvD,CAAC;AAED,SAASG,YAAY,CAAC,EAAEN,IAAI,CAAA,EAAEC,MAAM,CAAA,EAAyB,EAAE;aAiBjDC,IAAS,EACLA,IAAS,EACTA,IAAS;IAlBzB,MAAMA,GAAG,GAAGL,mBAAmB,CAACG,IAAI,EAAEC,MAAM,CAAC,AAAC;IAC9C,MAAMG,UAAU,GAAGF,GAAG,CAACE,UAAU,AAA0B,AAAC;IAC5D,MAAMI,qBAAqB,GAAGZ,2BAA2B,CAACQ,UAAU,CAAC,AAAC;IACtE,MAAM,EAAEK,gBAAgB,CAAA,EAAEC,kBAAkB,CAAA,EAAEC,kBAAkB,CAAA,EAAE,GAAGb,0BAA0B,EAAE,AAAC;IAElG,MAAMc,aAAa,GAAGR,CAAAA,UAAU,aAAVA,UAAU,WAAM,GAAhBA,KAAAA,CAAgB,GAAhBA,UAAU,CAAES,IAAI,CAACC,cAAc,MAAK,IAAI,AAAC;IAC/D,MAAMC,aAAa,GAAGX,CAAAA,UAAU,aAAVA,UAAU,WAAM,GAAhBA,KAAAA,CAAgB,GAAhBA,UAAU,CAAES,IAAI,CAACG,eAAe,MAAK,IAAI,AAAC;QAClDZ,IAA8B;IAA5C,MAAMa,KAAK,GAAGb,CAAAA,IAA8B,GAA9BA,OAAAA,UAAU,aAAVA,UAAU,WAAM,GAAhBA,KAAAA,CAAgB,GAAhBA,UAAU,CAAES,IAAI,CAACK,OAAO,4BAAM,GAA9Bd,KAAAA,CAA8B,OAAJJ,IAAI,cAA9BI,IAA8B,cAA9BA,IAA8B,GAAIJ,IAAI,AAAC;IAErDf,SAAS,CAAC,IAAM;QACdyB,kBAAkB,CAACV,IAAI,EAAEQ,qBAAqB,CAACW,UAAU,EAAElB,MAAM,CAAC,CAAC;QACnE,IAAIO,qBAAqB,CAACY,IAAI,EAAE;YAC9BT,kBAAkB,CAACX,IAAI,EAAEQ,qBAAqB,CAACY,IAAI,EAAEnB,MAAM,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,EAAE;QAACO,qBAAqB;QAAER,IAAI;QAAEU,kBAAkB;QAAEC,kBAAkB;QAAEV,MAAM;KAAC,CAAC,CAAC;IAElF,IAAIoB,KAAK,GAAGnB,CAAAA,IAAS,GAATA,GAAG,CAACoB,KAAK,cAATpB,IAAS,WAAO,GAAhBA,KAAAA,CAAgB,GAAhBA,IAAS,CAAEmB,KAAK,AAAC;IAC7B,MAAME,OAAO,GAAGrB,CAAAA,IAAS,GAATA,GAAG,CAACoB,KAAK,cAATpB,IAAS,WAAS,GAAlBA,KAAAA,CAAkB,GAAlBA,IAAS,CAAEqB,OAAO,AAAC;IACnC,MAAMC,OAAO,GAAGtB,CAAAA,IAAS,GAATA,GAAG,CAACoB,KAAK,cAATpB,IAAS,WAAS,GAAlBA,KAAAA,CAAkB,GAAlBA,IAAS,CAAEsB,OAAO,AAAC;IAEnC,uDAAuD;IACvD,IAAIZ,aAAa,IAAI,CAACa,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;QAC1CA,KAAK,GAAG,OAAOA,KAAK,KAAK,QAAQ,GAAG;YAACA,KAAK;SAAC,GAAG,EAAE,CAAC;IACnD,CAAC;IAED,MAAMM,YAAY,GAAGzC,OAAO,CAAC,IAAM;QACjC,IAAI0C,eAAe,GAAGL,OAAO,GAAG;eAAIA,OAAO;SAAC,GAAG,EAAE,AAAC;QAElD,oCAAoC;QACpC,IAAIR,aAAa,EAAE;YACjBa,eAAe,GAAG;gBAAC;oBAAEP,KAAK,EAAE1B,iBAAiB;oBAAEkC,KAAK,EAAE,KAAK;iBAAE;mBAAKD,eAAe;aAAC,CAAC;QACrF,CAAC;QACD,OAAOA,eAAe,CAAC;IACzB,CAAC,EAAE;QAACL,OAAO;QAAER,aAAa;KAAC,CAAC,AAAC;IAE7B,MAAMe,gBAAgB,GAAG5C,OAAO,CAC9B,IACE6C,OAAO,CACLJ,YAAY,CAACK,IAAI,CAAC,CAACC,CAAC,GAAK;YACvB,IAAIrB,aAAa,EAAE;gBACjB,OAAO,AAACS,KAAK,CAAca,QAAQ,CAACD,CAAC,CAACZ,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,OAAOA,KAAK,KAAKY,CAAC,CAACZ,KAAK,CAAC;QAC3B,CAAC,CAAC,CACH,EACH;QAACM,YAAY;QAAEN,KAAK;QAAET,aAAa;KAAC,CACrC,AAAC;IAEF,IAAIuB,WAAW,GAAGd,KAAK,AAAC;IACxB,IAAI,CAACS,gBAAgB,EAAE;QACrBK,WAAW,GAAGvB,aAAa,GAAG,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;IAED3B,SAAS,CAAC,IAAM;QACd,MAAMmD,WAAW,GAAGT,YAAY,aAAZA,YAAY,WAAK,GAAjBA,KAAAA,CAAiB,GAAjBA,YAAY,AAAE,CAAC,CAAC,CAAC,AAAC;QAEtC,iFAAiF;QACjF,IAAI,CAACN,KAAK,IAAIe,WAAW,EAAE;YACzB3B,gBAAgB,CAACT,IAAI,EAAEoC,WAAW,CAACf,KAAK,EAAEpB,MAAM,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,EAAE;QAAC0B,YAAY;QAAElB,gBAAgB;QAAEY,KAAK;QAAErB,IAAI;QAAEY,aAAa;QAAEX,MAAM;KAAC,CAAC,CAAC;IAEzE,qBACE,KAACT,GAAG;QAAC0B,OAAO,EAAE,MAAM;kBAClB,cAAA,MAAC7B,WAAW;YAACgD,SAAS;;8BACpB,KAAC/C,UAAU;oBAACgD,EAAE,EAAEtC,IAAI;8BAAGiB,KAAK;kBAAc;8BAC1C,MAAC7B,MAAM;oBACLmD,EAAE,EAAE;wBAAEC,QAAQ,EAAE,GAAG;wBAAEC,QAAQ,EAAE,GAAG;qBAAE;oBACpCH,EAAE,EAAEtC,IAAI;oBACR6B,KAAK,EAAEZ,KAAK;oBACZI,KAAK,EAAEc,WAAW;oBAClBO,QAAQ,EAAE,CAACC,CAAC,GAAK;wBACf,mBAAmB;wBACnB,IAAIA,CAAC,CAACC,MAAM,CAACvB,KAAK,KAAK,IAAI,IAAIsB,CAAC,CAACC,MAAM,CAACvB,KAAK,CAACwB,MAAM,KAAK,CAAC,EAAE;4BAC1D,IAAI9B,aAAa,EAAE;gCACjBN,gBAAgB,CAACT,IAAI,EAAEL,iBAAiB,EAAEM,MAAM,CAAC,CAAC;4BACpD,CAAC;4BACD,OAAO;wBACT,CAAC;wBACDQ,gBAAgB,CAACT,IAAI,EAAE2C,CAAC,CAACC,MAAM,CAACvB,KAAK,EAAmBpB,MAAM,CAAC,CAAC;oBAClE,CAAC;oBACD6C,QAAQ,EAAElC,aAAa;;wBAEtBY,OAAO,kBACN,KAACjC,QAAQ;4BAAC8B,KAAK,EAAC,SAAS;4BAAC0B,QAAQ;sCAAC,SAEnC;0BAAW,AACZ;wBAEApB,YAAY,CAACkB,MAAM,KAAK,CAAC,kBACxB,KAACtD,QAAQ;4BAAC8B,KAAK,EAAC,OAAO;4BAAC0B,QAAQ;sCAAC,YAEjC;0BAAW,AACZ;wBACApB,YAAY,CAACqB,GAAG,CAAC,CAACC,MAAM,iBACvB,KAAC1D,QAAQ;gCAAoB8B,KAAK,EAAE4B,MAAM,CAAC5B,KAAK;0CAC7C4B,MAAM,CAACpB,KAAK;+BADAoB,MAAM,CAAC5B,KAAK,CAEhB,AACZ,CAAC;;kBACK;gBACRG,OAAO,kBAAI,KAAC/B,cAAc,KAAG;;UAClB;MACV,CACN;AACJ,CAAC;AAED,SAASY,YAAY,CAAC,EAAEL,IAAI,CAAA,EAAEC,MAAM,CAAA,EAAyB,EAAE;;IAC7D,MAAM,EAAEqB,KAAK,CAAA,EAAElB,UAAU,CAAA,EAAE,GAAGP,mBAAmB,CAACG,IAAI,EAAEC,MAAM,CAAC,AAAC;QACrBqB,IAAY;IAAvD,MAAM,CAAC4B,SAAS,EAAEC,YAAY,CAAC,GAAGhE,QAAQ,CAACmC,CAAAA,IAAY,GAAZA,KAAK,aAALA,KAAK,WAAO,GAAZA,KAAAA,CAAY,GAAZA,KAAK,CAAED,KAAK,cAAZC,IAAY,cAAZA,IAAY,GAAI,EAAE,CAAC,AAAC;IAC/D,MAAM,EAAEb,gBAAgB,CAAA,EAAE,GAAGX,0BAA0B,EAAE,AAAC;IAE1Db,SAAS,CAAC,IAAM;YACDqC,GAAY;QAAzB6B,YAAY,CAAC7B,CAAAA,GAAY,GAAZA,KAAK,aAALA,KAAK,WAAO,GAAZA,KAAAA,CAAY,GAAZA,KAAK,CAAED,KAAK,cAAZC,GAAY,cAAZA,GAAY,GAAI,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE;QAACA,KAAK,aAALA,KAAK,WAAO,GAAZA,KAAAA,CAAY,GAAZA,KAAK,CAAED,KAAK;KAAC,CAAC,CAAC;QAQRjB,IAA8B;IANzC,qBACE,KAACV,SAAS;QACR2B,KAAK,EAAE6B,SAAS;QAChBR,QAAQ,EAAE,CAACC,CAAC,GAAKQ,YAAY,CAACR,CAAC,CAACC,MAAM,CAACvB,KAAK,CAAC;QAC7C+B,MAAM,EAAE,IAAM3C,gBAAgB,CAACT,IAAI,EAAEkD,SAAS,EAAEjD,MAAM,CAAC;QACvDoD,WAAW,EAAErD,IAAI;QACjB6B,KAAK,EAAEzB,CAAAA,IAA8B,GAA9BA,OAAAA,UAAU,aAAVA,UAAU,WAAM,GAAhBA,KAAAA,CAAgB,GAAhBA,UAAU,CAAES,IAAI,CAACK,OAAO,4BAAM,GAA9Bd,KAAAA,CAA8B,OAAJJ,IAAI,cAA9BI,IAA8B,cAA9BA,IAA8B,GAAIJ,IAAI;MAC7C,CACF;AACJ,CAAC"}
@@ -1,8 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { VariableDefinition } from '@perses-dev/core';
3
+ import { VariableState } from '@perses-dev/plugin-system';
4
+ import { ExternalVariableDefinition } from '../../context';
3
5
  export declare function VariableEditor(props: {
4
6
  variableDefinitions: VariableDefinition[];
7
+ externalVariableDefinitions: ExternalVariableDefinition[];
5
8
  onChange: (variableDefinitions: VariableDefinition[]) => void;
6
9
  onCancel: () => void;
7
10
  }): JSX.Element;
11
+ export declare function VariableName(props: {
12
+ name: string;
13
+ state: VariableState | undefined;
14
+ }): JSX.Element;
8
15
  //# sourceMappingURL=VariableEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariableEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Variables/VariableEditor.tsx"],"names":[],"mappings":";AA+BA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AA8BtD,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,QAAQ,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,eA+LA"}
1
+ {"version":3,"file":"VariableEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Variables/VariableEditor.tsx"],"names":[],"mappings":";AAiCA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOtD,OAAO,EAA4B,aAAa,EAAkB,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAuC,MAAM,eAAe,CAAC;AAsBhG,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,2BAA2B,EAAE,0BAA0B,EAAE,CAAC;IAC1D,QAAQ,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,eA8QA;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,eAoBrF"}