文件操作 - reducers.ts
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/grafana/public/app/features/plugins/state/reducers.ts
编辑文件内容
import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import { PluginMeta, PanelPlugin } from '@grafana/data'; import { PluginsState } from 'app/types'; import { PluginDashboard } from '../../../types/plugins'; export const initialState: PluginsState = { plugins: [], searchQuery: '', hasFetched: false, dashboards: [], isLoadingPluginDashboards: false, panels: {}, }; const pluginsSlice = createSlice({ name: 'plugins', initialState, reducers: { pluginsLoaded: (state, action: PayloadAction<PluginMeta[]>) => { state.hasFetched = true; state.plugins = action.payload; }, setPluginsSearchQuery: (state, action: PayloadAction<string>) => { state.searchQuery = action.payload; }, pluginDashboardsLoad: (state, action: PayloadAction<undefined>) => { state.isLoadingPluginDashboards = true; state.dashboards = []; }, pluginDashboardsLoaded: (state, action: PayloadAction<PluginDashboard[]>) => { state.isLoadingPluginDashboards = false; state.dashboards = action.payload; }, panelPluginLoaded: (state, action: PayloadAction<PanelPlugin>) => { state.panels[action.payload.meta!.id] = action.payload; }, }, }); export const { pluginsLoaded, pluginDashboardsLoad, pluginDashboardsLoaded, setPluginsSearchQuery, panelPluginLoaded, } = pluginsSlice.actions; export const pluginsReducer = pluginsSlice.reducer; export default { plugins: pluginsReducer, };
修改文件时间
将文件时间修改为当前时间的前一年
删除文件