當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript selectors.getTimeZone函數代碼示例

本文整理匯總了TypeScript中app/features/profile/state/selectors.getTimeZone函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript getTimeZone函數的具體用法?TypeScript getTimeZone怎麽用?TypeScript getTimeZone使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了getTimeZone函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: return

  return (dispatch, getState) => {
    const {
      datasourceInstance,
      queries,
      showingGraph,
      showingTable,
      datasourceError,
      containerWidth,
      mode,
      range,
    } = getState().explore[exploreId];

    if (datasourceError) {
      // let's not run any queries if data source is in a faulty state
      return;
    }

    if (!hasNonEmptyQuery(queries)) {
      dispatch(clearQueriesAction({ exploreId }));
      dispatch(stateSave(replaceUrl)); // Remember to save to state and update location
      return;
    }

    // Some datasource's query builders allow per-query interval limits,
    // but we're using the datasource interval limit for now
    const interval = datasourceInstance.interval;

    const timeZone = getTimeZone(getState().user);
    const updatedRange = getTimeRange(timeZone, range.raw);

    dispatch(runQueriesAction({ exploreId, range: updatedRange }));
    // Keep table queries first since they need to return quickly
    if ((ignoreUIState || showingTable) && mode === ExploreMode.Metrics) {
      dispatch(
        runQueriesForType(exploreId, 'Table', {
          interval,
          format: 'table',
          instant: true,
          valueWithRefId: true,
        })
      );
    }
    if ((ignoreUIState || showingGraph) && mode === ExploreMode.Metrics) {
      dispatch(
        runQueriesForType(exploreId, 'Graph', {
          interval,
          format: 'time_series',
          instant: false,
          maxDataPoints: containerWidth,
        })
      );
    }
    if (mode === ExploreMode.Logs) {
      dispatch(runQueriesForType(exploreId, 'Logs', { interval, format: 'logs' }));
    }

    dispatch(stateSave(replaceUrl));
  };
開發者ID:grafana,項目名稱:grafana,代碼行數:58,代碼來源:actions.ts

示例2: async

 return async (dispatch, getState) => {
   const timeZone = getTimeZone(getState().user);
   const range = getTimeRange(timeZone, rawRange);
   dispatch(loadExploreDatasourcesAndSetDatasource(exploreId, datasourceName));
   dispatch(
     initializeExploreAction({
       exploreId,
       containerWidth,
       eventBridge,
       queries,
       range,
       ui,
     })
   );
 };
開發者ID:johntdyer,項目名稱:grafana,代碼行數:15,代碼來源:actions.ts

示例3: return

  return (dispatch, getState) => {
    const itemState = getState().explore[exploreId];
    if (!itemState.initialized) {
      return;
    }

    const { urlState, update, containerWidth, eventBridge } = itemState;
    const { datasource, queries, range: urlRange, ui } = urlState;
    const refreshQueries = queries.map(q => ({ ...q, ...generateEmptyQuery(itemState.queries) }));
    const timeZone = getTimeZone(getState().user);
    const range = getTimeRangeFromUrl(urlRange, timeZone);

    // need to refresh datasource
    if (update.datasource) {
      const initialQueries = ensureQueries(queries);
      dispatch(initializeExplore(exploreId, datasource, initialQueries, range, containerWidth, eventBridge, ui));
      return;
    }

    if (update.range) {
      dispatch(changeTimeAction({ exploreId, range }));
    }

    // need to refresh ui state
    if (update.ui) {
      dispatch(updateUIStateAction({ ...ui, exploreId }));
    }

    // need to refresh queries
    if (update.queries) {
      dispatch(setQueriesAction({ exploreId, queries: refreshQueries }));
    }

    // always run queries when refresh is needed
    if (update.queries || update.ui || update.range) {
      dispatch(runQueries(exploreId));
    }
  };
開發者ID:johntdyer,項目名稱:grafana,代碼行數:38,代碼來源:actions.ts


注:本文中的app/features/profile/state/selectors.getTimeZone函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。