export function getItemData()

in src/common/rectLegend.ts [603:662]


export function getItemData(
  name: string,
  rawData: ChartData,
  dataType: string,
  currentData?: ChartData,
): undefined | Types.LooseObject | (number | string)[] {
  if (!rawData) {
    return undefined;
  }

  let result = undefined;
  switch (dataType) {
    case 'single':
      if (rawData.children) {
        result = [name, currentData?.filter((el: any) => el.name === name)?.[0]?.value];
      } else {
        const originData = rawData[0];

        originData &&
          originData.data?.some((r: any) => {
            if ((Array.isArray(r) && r[0] === name) || (typeof r === 'object' && r.x === name)) {
              result = r;
              return true;
            }
            return false;
          });
      }

      return result;
    case 'multiple':
      rawData.some((r: Types.LooseObject) => {
        if (r.data && r.name === name) {
          result = r;
          return true;
        }
        return false;
      });

      return result;
    case 'graph':
      rawData?.nodes?.some((r: Types.LooseObject) => {
        if (r.name === name) {
          result = r.value;
          return true;
        }
        return false;
      });
    case 'tree':
      return result;
  }

  //   // if (Array.isArray(result)) {
  //   //   result = {
  //   //     data: result,
  //   //   };
  //   // }

  //   return result;
  // }
}