Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
variables
/
interval
/
File Content:
adapter.ts
import { cloneDeep } from 'lodash'; import { dispatch } from '../../../store/store'; import { VariableAdapter } from '../adapters'; import { optionPickerFactory } from '../pickers'; import { setOptionAsCurrent, setOptionFromUrl } from '../state/actions'; import { IntervalVariableModel } from '../types'; import { toKeyedVariableIdentifier } from '../utils'; import { IntervalVariableEditor } from './IntervalVariableEditor'; import { updateAutoValue, updateIntervalVariableOptions } from './actions'; import { initialIntervalVariableModelState, intervalVariableReducer } from './reducer'; export const createIntervalVariableAdapter = (): VariableAdapter<IntervalVariableModel> => { return { id: 'interval', description: 'Define a timespan interval (ex 1m, 1h, 1d)', name: 'Interval', initialState: initialIntervalVariableModelState, reducer: intervalVariableReducer, picker: optionPickerFactory<IntervalVariableModel>(), editor: IntervalVariableEditor, dependsOn: () => { return false; }, setValue: async (variable, option, emitChanges = false) => { await dispatch(updateAutoValue(toKeyedVariableIdentifier(variable))); await dispatch(setOptionAsCurrent(toKeyedVariableIdentifier(variable), option, emitChanges)); }, setValueFromUrl: async (variable, urlValue) => { await dispatch(updateAutoValue(toKeyedVariableIdentifier(variable))); await dispatch(setOptionFromUrl(toKeyedVariableIdentifier(variable), urlValue)); }, updateOptions: async (variable) => { await dispatch(updateIntervalVariableOptions(toKeyedVariableIdentifier(variable))); }, getSaveModel: (variable) => { const { index, id, state, global, rootStateKey, ...rest } = cloneDeep(variable); return rest; }, getValueForUrl: (variable) => { return variable.current.value; }, }; };
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
IntervalVariableEditor.tsx
1689 bytes
0644
actions.test.ts
9506 bytes
0644
actions.ts
2044 bytes
0644
adapter.ts
1881 bytes
0644
reducer.test.ts
4931 bytes
0644
reducer.ts
1769 bytes
0644
N4ST4R_ID | Naxtarrr