From a7465b3a98fb2236370c56b2faabb5677b6157cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atte=20Kein=C3=A4nen?= <atte.keinanen@gmail.com> Date: Tue, 2 May 2017 17:30:56 -0700 Subject: [PATCH] Have a correct url and show the lineage correctly --- frontend/src/metabase/query_builder/actions.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/frontend/src/metabase/query_builder/actions.js b/frontend/src/metabase/query_builder/actions.js index 4eb8d420800..3390ab934e4 100644 --- a/frontend/src/metabase/query_builder/actions.js +++ b/frontend/src/metabase/query_builder/actions.js @@ -160,15 +160,15 @@ export const initializeQB = createThunkAction(INITIALIZE_QB, (location, params) card = serializedCard ? deserializeCardFromUrl(serializedCard) : {} // load the card either from `cardId` parameter or the serialized card - const cardId = params.cardId || card.id - if (cardId) { - const loadedCard = await loadCard(cardId); - + if (params.cardId) { + card = await loadCard(params.cardId); // when we are loading from a card id we want an explicit clone of the card we loaded which is unmodified - originalCard = Utils.copy(loadedCard); - - // the serialized card often differs from the card stored in db so merge the properties to fetched card if needed - card = {...loadedCard, ...card}; + originalCard = Utils.copy(card); + } else if (card.id) { + // deserialized card contains the card id, so just populate originalCard + originalCard = await loadCard(card.id); + // strip the card id from the deserialized card so that we have a correct url and show lineage correctly + card = _.omit(card, "id"); } MetabaseAnalytics.trackEvent("QueryBuilder", "Query Loaded", card.dataset_query.type); -- GitLab