superset transformProps 源码

  • 2022-10-20
  • 浏览 (297)

superset transformProps 代码

文件路径:/superset-frontend/src/visualizations/FilterBox/transformProps.ts

/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
import { FilterBoxChartProps } from './types';

const NOOP = () => {};

export default function transformProps(chartProps: FilterBoxChartProps) {
  const {
    datasource,
    formData,
    hooks,
    initialValues,
    queriesData,
    rawDatasource = {},
    rawFormData,
    width,
    height,
  } = chartProps;
  const {
    onAddFilter = NOOP,
    onFilterMenuOpen = NOOP,
    onFilterMenuClose = NOOP,
  } = hooks;
  const {
    sliceId,
    dateFilter,
    instantFiltering,
    showDruidTimeGranularity,
    showDruidTimeOrigin,
    showSqlaTimeColumn,
    showSqlaTimeGranularity,
  } = formData;
  const { verboseMap = {} } = datasource;
  const filterConfigs = formData.filterConfigs || [];

  const filtersFields = filterConfigs.map(flt => ({
    ...flt,
    key: flt.column,
    label: flt.label || verboseMap[flt.column] || flt.column,
  }));

  return {
    chartId: sliceId,
    width,
    height,
    datasource: rawDatasource,
    filtersChoices: queriesData[0].data,
    filtersFields,
    instantFiltering,
    onChange: onAddFilter,
    onFilterMenuOpen,
    onFilterMenuClose,
    origSelectedValues: initialValues || {},
    showDateFilter: dateFilter,
    showDruidTimeGrain: showDruidTimeGranularity,
    showDruidTimeOrigin,
    showSqlaTimeColumn,
    showSqlaTimeGrain: showSqlaTimeGranularity,
    // the original form data, needed for async select options
    rawFormData,
  };
}

相关信息

superset 源码目录

相关文章

superset FilterBoxChartPlugin 源码

superset types 源码

0  赞