diff --git a/packages/graphic-walker/src/dataSourceProvider/memory.ts b/packages/graphic-walker/src/dataSourceProvider/memory.ts
index 62f92edc..8dddf39e 100644
--- a/packages/graphic-walker/src/dataSourceProvider/memory.ts
+++ b/packages/graphic-walker/src/dataSourceProvider/memory.ts
@@ -69,9 +69,6 @@ export function createMemoryProvider(initData?: string | null): IDataSourceProvi
async saveSpecs(datasetId, value) {
const dataSet = store.dataSources.find((x) => x.id === datasetId);
if (!dataSet) {
- if (!store.visDict[datasetId]) {
- throw new Error('cannot find dataset');
- }
store.visDict[datasetId] = JSON.parse(value);
listeners.forEach((cb) => cb(IDataSourceEventType.updateSpec, datasetId));
} else {
diff --git a/packages/graphic-walker/src/fields/datasetFields/multi.tsx b/packages/graphic-walker/src/fields/datasetFields/multi.tsx
index 2a4dc12c..aec6030a 100644
--- a/packages/graphic-walker/src/fields/datasetFields/multi.tsx
+++ b/packages/graphic-walker/src/fields/datasetFields/multi.tsx
@@ -213,9 +213,9 @@ const MultiDatasetFields = observer(() => {
const datasetNames = useContext(DatasetNamesContext);
return (
-
+
vizStore.setViewBaseDataset(d)}
options={datasets.map((ds) => ({
@@ -223,109 +223,34 @@ const MultiDatasetFields = observer(() => {
value: ds,
}))}
/>
-
-
-
-
-
- {(provided, snapshot) => (
-
- {dimensions.map((f, index) => {
- // TODO add support for fold
- if (!f.dataset && ![MEA_KEY_ID, MEA_VAL_ID].includes(f.fid)) {
- return (
-
- {(provided, snapshot) => {
- return (
-
-
-
-
- {f.name}
-
-
-
-
-
- {
-
-
-
- {f.name}
-
-
-
-
-
- }
-
- );
- }}
-
- );
- }
- return null;
- })}
-
- )}
-
-
- {(provided, snapshot) => (
-
- {measures.map((f, index) => {
- if (!f.dataset && ![MEA_KEY_ID, MEA_VAL_ID].includes(f.fid)) {
- return (
-
- {(provided, snapshot) => {
- return (
-
-
-
+
+
+
+
+ {(provided, snapshot) => (
+
+ {dimensions.map((f, index) => {
+ // TODO add support for fold
+ if (!f.dataset && ![MEA_KEY_ID, MEA_VAL_ID].includes(f.fid)) {
+ return (
+
+ {(provided, snapshot) => {
+ return (
+
-
-
- {f.name}
-
-
-
-
-
- {
@@ -335,22 +260,99 @@ const MultiDatasetFields = observer(() => {
- }
-
-
- );
- }}
-
- );
- }
- return null;
- })}
-
- )}
-
+ {
+
+
+
+ {f.name}
+
+
+
+
+
+ }
+
+ );
+ }}
+
+ );
+ }
+ return null;
+ })}
+
+ )}
+
+
+ {(provided, snapshot) => (
+
+ {measures.map((f, index) => {
+ if (!f.dataset && ![MEA_KEY_ID, MEA_VAL_ID].includes(f.fid)) {
+ return (
+
+ {(provided, snapshot) => {
+ return (
+
+
+
+
+
+ {f.name}
+
+
+
+
+
+ {
+
+
+
+ {f.name}
+
+
+
+
+
+ }
+
+
+ );
+ }}
+
+ );
+ }
+ return null;
+ })}
+
+ )}
+
+
+
{unReachedDatasets.length > 0 && (
-
+
Unlink datasets
{unReachedDatasets.map((ds) => (