@quillsql/react 2.16.74 → 2.16.76
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/dist/index.cjs +28 -11
- package/dist/index.js +28 -11
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -63264,7 +63264,7 @@ async function loadReportForUseForm({
|
|
|
63264
63264
|
draftSessionId
|
|
63265
63265
|
});
|
|
63266
63266
|
const pivotRows = pivotResult.report?.pivotRows;
|
|
63267
|
-
const rowField = effectivePivot?.rowField;
|
|
63267
|
+
const rowField = pivotResult.report?.pivotResultRowField ?? effectivePivot?.rowField;
|
|
63268
63268
|
const rowFieldTrimmed = String(rowField ?? "").trim();
|
|
63269
63269
|
const hasRowBucketKey = !rowFieldTrimmed || Array.isArray(pivotRows) && pivotRows.some(
|
|
63270
63270
|
(row) => row && typeof row === "object" && Object.prototype.hasOwnProperty.call(row, rowFieldTrimmed)
|
|
@@ -63671,6 +63671,31 @@ function useReport(reportIdArg, options = {}) {
|
|
|
63671
63671
|
() => getSchemaForeignKeyMapping(schemaForReportBuilderState),
|
|
63672
63672
|
[schemaForReportBuilderState]
|
|
63673
63673
|
);
|
|
63674
|
+
const datasourceJoinOptionsByTable = (0, import_react61.useMemo)(() => {
|
|
63675
|
+
const tableNames = new Set(
|
|
63676
|
+
schemaForReportBuilderState.map((table2) => String(table2.name ?? "").trim()).filter(Boolean)
|
|
63677
|
+
);
|
|
63678
|
+
const compatibleByTable = new Map(
|
|
63679
|
+
Array.from(tableNames, (tableName) => [tableName, /* @__PURE__ */ new Set()])
|
|
63680
|
+
);
|
|
63681
|
+
for (const [tableName, mappings] of Object.entries(schemaForeignKeyMap)) {
|
|
63682
|
+
if (!tableNames.has(tableName)) continue;
|
|
63683
|
+
for (const mapping of mappings) {
|
|
63684
|
+
const foreignTableName = String(mapping.foreignTable ?? "").trim();
|
|
63685
|
+
if (!foreignTableName || foreignTableName === tableName || !tableNames.has(foreignTableName)) {
|
|
63686
|
+
continue;
|
|
63687
|
+
}
|
|
63688
|
+
compatibleByTable.get(tableName)?.add(foreignTableName);
|
|
63689
|
+
compatibleByTable.get(foreignTableName)?.add(tableName);
|
|
63690
|
+
}
|
|
63691
|
+
}
|
|
63692
|
+
return new Map(
|
|
63693
|
+
Array.from(compatibleByTable, ([tableName, compatibleTables]) => [
|
|
63694
|
+
tableName,
|
|
63695
|
+
Array.from(compatibleTables)
|
|
63696
|
+
])
|
|
63697
|
+
);
|
|
63698
|
+
}, [schemaForReportBuilderState, schemaForeignKeyMap]);
|
|
63674
63699
|
const reportBuilderBaseTableNamesKey = (sourceReport?.reportBuilderState?.tables ?? []).map((t) => String(t?.name ?? "").trim()).filter(Boolean).join("\0") ?? "";
|
|
63675
63700
|
const selectedBaseTableNamesForFieldOptions = (0, import_react61.useMemo)(() => {
|
|
63676
63701
|
const fromPicker = schemaDatasourceIds?.map((id) => String(id ?? "").trim()).filter(Boolean) ?? [];
|
|
@@ -63757,9 +63782,6 @@ function useReport(reportIdArg, options = {}) {
|
|
|
63757
63782
|
queryColumnsBootstrapKey
|
|
63758
63783
|
]);
|
|
63759
63784
|
const datasourceOptions = (0, import_react61.useMemo)(() => {
|
|
63760
|
-
const tableNames = new Set(
|
|
63761
|
-
schemaForReportBuilderState.map((table2) => String(table2.name ?? "").trim()).filter(Boolean)
|
|
63762
|
-
);
|
|
63763
63785
|
const seen = /* @__PURE__ */ new Set();
|
|
63764
63786
|
const result = [];
|
|
63765
63787
|
for (const table2 of schemaForReportBuilderState) {
|
|
@@ -63769,16 +63791,11 @@ function useReport(reportIdArg, options = {}) {
|
|
|
63769
63791
|
result.push({
|
|
63770
63792
|
value: name2,
|
|
63771
63793
|
label: toTitleCaseLabel(name2),
|
|
63772
|
-
joinOptions:
|
|
63773
|
-
[name2],
|
|
63774
|
-
schemaForeignKeyMap
|
|
63775
|
-
).filter(
|
|
63776
|
-
(candidate) => candidate !== name2 && tableNames.has(candidate)
|
|
63777
|
-
)
|
|
63794
|
+
joinOptions: datasourceJoinOptionsByTable.get(name2) ?? []
|
|
63778
63795
|
});
|
|
63779
63796
|
}
|
|
63780
63797
|
return result;
|
|
63781
|
-
}, [schemaForReportBuilderState,
|
|
63798
|
+
}, [schemaForReportBuilderState, datasourceJoinOptionsByTable]);
|
|
63782
63799
|
const queryBuilderFieldConfigByName = (0, import_react61.useMemo)(() => {
|
|
63783
63800
|
const configByName = buildQueryBuilderFieldConfigByName(
|
|
63784
63801
|
schemaForReportBuilderState
|
package/dist/index.js
CHANGED
|
@@ -63476,7 +63476,7 @@ async function loadReportForUseForm({
|
|
|
63476
63476
|
draftSessionId
|
|
63477
63477
|
});
|
|
63478
63478
|
const pivotRows = pivotResult.report?.pivotRows;
|
|
63479
|
-
const rowField = effectivePivot?.rowField;
|
|
63479
|
+
const rowField = pivotResult.report?.pivotResultRowField ?? effectivePivot?.rowField;
|
|
63480
63480
|
const rowFieldTrimmed = String(rowField ?? "").trim();
|
|
63481
63481
|
const hasRowBucketKey = !rowFieldTrimmed || Array.isArray(pivotRows) && pivotRows.some(
|
|
63482
63482
|
(row) => row && typeof row === "object" && Object.prototype.hasOwnProperty.call(row, rowFieldTrimmed)
|
|
@@ -63883,6 +63883,31 @@ function useReport(reportIdArg, options = {}) {
|
|
|
63883
63883
|
() => getSchemaForeignKeyMapping(schemaForReportBuilderState),
|
|
63884
63884
|
[schemaForReportBuilderState]
|
|
63885
63885
|
);
|
|
63886
|
+
const datasourceJoinOptionsByTable = useMemo33(() => {
|
|
63887
|
+
const tableNames = new Set(
|
|
63888
|
+
schemaForReportBuilderState.map((table2) => String(table2.name ?? "").trim()).filter(Boolean)
|
|
63889
|
+
);
|
|
63890
|
+
const compatibleByTable = new Map(
|
|
63891
|
+
Array.from(tableNames, (tableName) => [tableName, /* @__PURE__ */ new Set()])
|
|
63892
|
+
);
|
|
63893
|
+
for (const [tableName, mappings] of Object.entries(schemaForeignKeyMap)) {
|
|
63894
|
+
if (!tableNames.has(tableName)) continue;
|
|
63895
|
+
for (const mapping of mappings) {
|
|
63896
|
+
const foreignTableName = String(mapping.foreignTable ?? "").trim();
|
|
63897
|
+
if (!foreignTableName || foreignTableName === tableName || !tableNames.has(foreignTableName)) {
|
|
63898
|
+
continue;
|
|
63899
|
+
}
|
|
63900
|
+
compatibleByTable.get(tableName)?.add(foreignTableName);
|
|
63901
|
+
compatibleByTable.get(foreignTableName)?.add(tableName);
|
|
63902
|
+
}
|
|
63903
|
+
}
|
|
63904
|
+
return new Map(
|
|
63905
|
+
Array.from(compatibleByTable, ([tableName, compatibleTables]) => [
|
|
63906
|
+
tableName,
|
|
63907
|
+
Array.from(compatibleTables)
|
|
63908
|
+
])
|
|
63909
|
+
);
|
|
63910
|
+
}, [schemaForReportBuilderState, schemaForeignKeyMap]);
|
|
63886
63911
|
const reportBuilderBaseTableNamesKey = (sourceReport?.reportBuilderState?.tables ?? []).map((t) => String(t?.name ?? "").trim()).filter(Boolean).join("\0") ?? "";
|
|
63887
63912
|
const selectedBaseTableNamesForFieldOptions = useMemo33(() => {
|
|
63888
63913
|
const fromPicker = schemaDatasourceIds?.map((id) => String(id ?? "").trim()).filter(Boolean) ?? [];
|
|
@@ -63969,9 +63994,6 @@ function useReport(reportIdArg, options = {}) {
|
|
|
63969
63994
|
queryColumnsBootstrapKey
|
|
63970
63995
|
]);
|
|
63971
63996
|
const datasourceOptions = useMemo33(() => {
|
|
63972
|
-
const tableNames = new Set(
|
|
63973
|
-
schemaForReportBuilderState.map((table2) => String(table2.name ?? "").trim()).filter(Boolean)
|
|
63974
|
-
);
|
|
63975
63997
|
const seen = /* @__PURE__ */ new Set();
|
|
63976
63998
|
const result = [];
|
|
63977
63999
|
for (const table2 of schemaForReportBuilderState) {
|
|
@@ -63981,16 +64003,11 @@ function useReport(reportIdArg, options = {}) {
|
|
|
63981
64003
|
result.push({
|
|
63982
64004
|
value: name2,
|
|
63983
64005
|
label: toTitleCaseLabel(name2),
|
|
63984
|
-
joinOptions:
|
|
63985
|
-
[name2],
|
|
63986
|
-
schemaForeignKeyMap
|
|
63987
|
-
).filter(
|
|
63988
|
-
(candidate) => candidate !== name2 && tableNames.has(candidate)
|
|
63989
|
-
)
|
|
64006
|
+
joinOptions: datasourceJoinOptionsByTable.get(name2) ?? []
|
|
63990
64007
|
});
|
|
63991
64008
|
}
|
|
63992
64009
|
return result;
|
|
63993
|
-
}, [schemaForReportBuilderState,
|
|
64010
|
+
}, [schemaForReportBuilderState, datasourceJoinOptionsByTable]);
|
|
63994
64011
|
const queryBuilderFieldConfigByName = useMemo33(() => {
|
|
63995
64012
|
const configByName = buildQueryBuilderFieldConfigByName(
|
|
63996
64013
|
schemaForReportBuilderState
|