当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript vis.Vis类代码示例

本文整理汇总了TypeScript中ui/vis.Vis的典型用法代码示例。如果您正苦于以下问题:TypeScript Vis类的具体用法?TypeScript Vis怎么用?TypeScript Vis使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Vis类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: async

export const buildPipeline = async (
  vis: Vis,
  params: { searchSource: SearchSource; timeRange?: any }
) => {
  const { searchSource } = params;
  const { indexPattern } = vis;
  const query = searchSource.getField('query');
  const filters = searchSource.getField('filter');
  const visState = vis.getCurrentState();
  const uiState = vis.getUiState();

  // context
  let pipeline = `kibana | kibana_context `;
  if (query) {
    pipeline += prepareJson('query', query);
  }
  if (filters) {
    pipeline += prepareJson('filters', filters);
  }
  if (vis.savedSearchId) {
    pipeline += prepareString('savedSearchId', vis.savedSearchId);
  }
  pipeline += '| ';

  // request handler
  if (vis.type.requestHandler === 'courier') {
    pipeline += `esaggs
    ${prepareString('index', indexPattern.id)}
    metricsAtAllLevels=${vis.isHierarchical()}
    partialRows=${vis.type.requiresPartialRows || vis.params.showPartialRows || false}
    ${prepareJson('aggConfigs', visState.aggs)} | `;
  }

  const schemas = getSchemas(vis, params.timeRange);
  if (buildPipelineVisFunction[vis.type.name]) {
    pipeline += buildPipelineVisFunction[vis.type.name](visState, schemas, uiState);
  } else if (vislibCharts.includes(vis.type.name)) {
    const visConfig = visState.params;
    visConfig.dimensions = await buildVislibDimensions(vis, params);

    pipeline += `vislib ${prepareJson('visConfig', visState.params)}`;
  } else {
    pipeline += `visualization type='${vis.type.name}'
    ${prepareJson('visConfig', visState.params)}
    metricsAtAllLevels=${vis.isHierarchical()}
    partialRows=${vis.type.requiresPartialRows || vis.params.showPartialRows || false} `;
    if (indexPattern) {
      pipeline += `${prepareString('index', indexPattern.id)}`;
    }
  }

  return pipeline;
};
开发者ID:spalger,项目名称:kibana,代码行数:53,代码来源:build_pipeline.ts

示例2: tabifyGetColumns

export const getTableAggs = (vis: Vis): AggConfig[] => {
  if (!vis.aggs || !vis.aggs.getResponseAggs) {
    return [];
  }
  const columns = tabifyGetColumns(vis.aggs.getResponseAggs(), !vis.isHierarchical());
  return columns.map((c: any) => c.aggConfig);
};
开发者ID:elastic,项目名称:kibana,代码行数:7,代码来源:utilities.ts

示例3:

export const getSchemas = (vis: Vis): Schemas => {
  let cnt = 0;
  const schemas: Schemas = {
    metric: [],
  };
  const responseAggs = vis.aggs.getResponseAggs();
  const isHierarchical = vis.isHierarchical();
  const metrics = responseAggs.filter((agg: AggConfig) => agg.type.type === 'metrics');
  responseAggs.forEach((agg: AggConfig) => {
    if (!agg.enabled) {
      return;
    }
    let schemaName = agg.schema ? agg.schema.name || agg.schema : null;
    if (typeof schemaName === 'object') {
      schemaName = null;
    }
    if (!schemaName) {
      return;
    }
    if (schemaName === 'split') {
      schemaName = `split_${agg.params.row ? 'row' : 'column'}`;
    }
    if (!schemas[schemaName]) {
      schemas[schemaName] = [];
    }
    if (!isHierarchical || agg.type.type !== 'metrics') {
      schemas[schemaName].push(cnt++);
    }
    if (isHierarchical && agg.type.type !== 'metrics') {
      metrics.forEach(() => {
        schemas.metric.push(cnt++);
      });
    }
  });
  return schemas;
};
开发者ID:gingerwizard,项目名称:kibana,代码行数:36,代码来源:build_pipeline.ts

示例4: setBounds

export const getSchemas = (vis: Vis, timeRange?: any): Schemas => {
  const createFormat = (agg: AggConfig): SchemaFormat => {
    const format: SchemaFormat = agg.params.field ? agg.params.field.format.toJSON() : {};
    const formats: any = {
      date_range: () => ({ id: 'string' }),
      percentile_ranks: () => ({ id: 'percent' }),
      count: () => ({ id: 'number' }),
      cardinality: () => ({ id: 'number' }),
      date_histogram: () => ({
        id: 'date',
        params: {
          pattern: agg.buckets.getScaledDateFormat(),
        },
      }),
      terms: () => ({
        id: 'terms',
        params: {
          id: format.id,
          otherBucketLabel: agg.params.otherBucketLabel,
          missingBucketLabel: agg.params.missingBucketLabel,
          ...format.params,
        },
      }),
      range: () => ({
        id: 'range',
        params: { id: format.id, ...format.params },
      }),
    };

    return formats[agg.type.name] ? formats[agg.type.name]() : format;
  };

  const createSchemaConfig = (accessor: number, agg: AggConfig): SchemaConfig => {
    if (agg.type.name === 'date_histogram') {
      agg.params.timeRange = timeRange;
      setBounds(agg, true);
    }

    const hasSubAgg = [
      'derivative',
      'moving_avg',
      'serial_diff',
      'cumulative_sum',
      'sum_bucket',
      'avg_bucket',
      'min_bucket',
      'max_bucket',
    ].includes(agg.type.name);

    const format = createFormat(
      hasSubAgg ? agg.params.customMetric || agg.aggConfigs.byId[agg.params.metricAgg] : agg
    );

    const params: SchemaConfigParams = {};

    if (agg.type.name === 'geohash_grid') {
      params.precision = agg.params.precision;
      params.useGeocentroid = agg.params.useGeocentroid;
    }

    return {
      accessor,
      format,
      params,
      aggType: agg.type.name,
    };
  };

  let cnt = 0;
  const schemas: Schemas = {
    metric: [],
  };
  const responseAggs = vis.aggs.getResponseAggs().filter((agg: AggConfig) => agg.enabled);
  const isHierarchical = vis.isHierarchical();
  const metrics = responseAggs.filter((agg: AggConfig) => agg.type.type === 'metrics');
  responseAggs.forEach((agg: AggConfig) => {
    if (!agg.enabled) {
      cnt++;
      return;
    }
    let skipMetrics = false;
    let schemaName = agg.schema ? agg.schema.name || agg.schema : null;
    if (typeof schemaName === 'object') {
      schemaName = null;
    }
    if (!schemaName) {
      if (agg.type.name === 'geo_centroid') {
        schemaName = 'geo_centroid';
      } else {
        cnt++;
        return;
      }
    }
    if (schemaName === 'split') {
      schemaName = `split_${agg.params.row ? 'row' : 'column'}`;
      skipMetrics = responseAggs.length - metrics.length > 1;
    }
    if (!schemas[schemaName]) {
      schemas[schemaName] = [];
    }
//.........这里部分代码省略.........
开发者ID:spalger,项目名称:kibana,代码行数:101,代码来源:build_pipeline.ts


注:本文中的ui/vis.Vis类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。