grafana/public/app/features/variables/system/adapter.ts
Josh Hunt 3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

46 lines
1.3 KiB
TypeScript

import { ComponentType } from 'react';
import { LoadingState } from '@grafana/data';
import { VariableAdapter } from '../adapters';
import { VariableEditorProps } from '../editor/types';
import { VariablePickerProps } from '../pickers/types';
import { initialVariableModelState, SystemVariable, VariableHide } from '../types';
export const createSystemVariableAdapter = (): VariableAdapter<SystemVariable<any>> => {
return {
id: 'system',
description: '',
name: 'system',
initialState: {
...initialVariableModelState,
type: 'system',
hide: VariableHide.hideVariable,
skipUrlSync: true,
current: { value: { toString: () => '' } },
state: LoadingState.Done,
},
reducer: (state: any, action: any) => state,
picker: null as unknown as ComponentType<VariablePickerProps<SystemVariable<any>>>,
editor: null as unknown as ComponentType<VariableEditorProps<SystemVariable<any>>>,
dependsOn: () => {
return false;
},
setValue: async (variable, option, emitChanges = false) => {
return;
},
setValueFromUrl: async (variable, urlValue) => {
return;
},
updateOptions: async (variable) => {
return;
},
getSaveModel: (variable) => {
return {};
},
getValueForUrl: (variable) => {
return '';
},
};
};