@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 +15 -15
- package/lib/es/index.js.map +1 -1
- package/lib/es/utils.d.ts +1 -1
- package/package.json +1 -1
package/lib/es/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @gingkoo/pandora-metabase v1.0.0-alpha.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1388
|
+
const _columns = columns?.map(v => {
|
|
1389
1389
|
return {
|
|
1390
1390
|
...v,
|
|
1391
1391
|
fieldUuid: v.fieldUuid || uuidv4('field')
|