@gingkoo/pandora-metabase 1.0.0-alpha.16 → 1.0.0-alpha.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @gingkoo/pandora-metabase v1.0.0-alpha.16
2
+ * @gingkoo/pandora-metabase v1.0.0-alpha.17
3
3
  */
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import * as React from 'react';
@@ -924,6 +924,7 @@ const changeFieldAlias = (list, curObj) => {
924
924
  return newList;
925
925
  };
926
926
  function splitByUnion(data) {
927
+ if (!data) return [];
927
928
  const original = cloneDeep(data);
928
929
  const result = [];
929
930
  let i = 0;
@@ -959,7 +960,8 @@ function splitByUnion(data) {
959
960
  }
960
961
  return result;
961
962
  }
962
- function reassembleByUnion(target) {
963
+ function reassembleByUnion(target = []) {
964
+ if (!target) return [];
963
965
  const result = [];
964
966
  let i = 0;
965
967
  const len = target.length;
@@ -1074,7 +1076,7 @@ const useStore = () => {
1074
1076
  };
1075
1077
  // 是否显示主表后面的字段按钮 (如果下面 没有聚合,或者选了聚合但是聚合里面没有选值的时候显示 主表字段按钮)
1076
1078
  const showMainColumn = useMemo(() => {
1077
- return metaList.map((item, groupIndex) => {
1079
+ return metaList?.map((item, groupIndex) => {
1078
1080
  // 过滤出所有汇总类型的项
1079
1081
  const summarizeItems = item.list.filter(v => v.type === TypeEnum.summarize);
1080
1082
  // 如果没有汇总项,默认显示主列
@@ -1129,7 +1131,7 @@ const useStore = () => {
1129
1131
  columns = await fetchColumnsFn.current(extra, datasourceId);
1130
1132
  setColumns(tableName, columns);
1131
1133
  }
1132
- const _columns = columns.map(v => {
1134
+ const _columns = columns?.map(v => {
1133
1135
  return {
1134
1136
  ...v,
1135
1137
  fieldUuid: v.fieldAlias || uuidv4('field')
@@ -1173,19 +1175,19 @@ const useStore = () => {
1173
1175
  };
1174
1176
  const setPreData = data => {
1175
1177
  if (data.length) {
1176
- let _metaList = data.map((item, groupIndex) => {
1178
+ let _metaList = data?.map((item, groupIndex) => {
1177
1179
  let newList = item.list?.map((v, i) => {
1178
1180
  let newMeta = item.list;
1179
1181
  // 设置右侧column
1180
1182
  if (v.table2?.datasourceId && v.columns.length < 1) {
1181
- fetchColumns(newMeta[i].table2, newMeta[i].table2.datasourceId, columns => {
1183
+ fetchColumns(newMeta[i].table2, newMeta[i].table2.datasourceId, (columns = []) => {
1182
1184
  if (v.isSubquery) {
1183
1185
  let newColumns = [];
1184
1186
  const items = getSubColumns(v.subquery);
1185
- newColumns = items.flatMap(item => item.columns);
1186
- newMeta[i].columns = newColumns;
1187
+ newColumns = items?.flatMap(item => item.columns);
1188
+ newMeta[i].columns = newColumns || [];
1187
1189
  } else {
1188
- newMeta[i].columns = columns;
1190
+ newMeta[i].columns = columns || [];
1189
1191
  }
1190
1192
  if (v.type === TypeEnum.joinData) {
1191
1193
  newMeta[i] = setQuotes(newMeta[i]);
@@ -1198,16 +1200,14 @@ const useStore = () => {
1198
1200
  }
1199
1201
  // 设置column
1200
1202
  if (v.table?.datasourceId && v.columns.length < 1) {
1201
- fetchColumns(newMeta[i].table, newMeta[i].table.datasourceId, columns => {
1203
+ fetchColumns(newMeta[i].table, newMeta[i].table.datasourceId, (columns = []) => {
1202
1204
  if (v.isSubquery) {
1203
1205
  let newColumns = [];
1204
1206
  const items = getSubColumns(v.subquery);
1205
1207
  newColumns = items.flatMap(item => item.columns);
1206
- newMeta[i].columns = newColumns;
1207
- v.columns = newColumns;
1208
+ newMeta[i].columns = newColumns || [];
1208
1209
  } else {
1209
- newMeta[i].columns = columns;
1210
- v.columns = columns;
1210
+ newMeta[i].columns = columns || [];
1211
1211
  }
1212
1212
  if (v.type === TypeEnum.joinData) {
1213
1213
  newMeta[i] = setQuotes(newMeta[i]);
@@ -1385,7 +1385,7 @@ const useStore = () => {
1385
1385
  setMeta(_metaList, groupIndex);
1386
1386
  };
1387
1387
  const setColumns = (tableId, columns) => {
1388
- const _columns = columns.map(v => {
1388
+ const _columns = columns?.map(v => {
1389
1389
  return {
1390
1390
  ...v,
1391
1391
  fieldUuid: v.fieldUuid || uuidv4('field')