From adb93f19e42c778d879a75d209a8c7b9bc22b59c Mon Sep 17 00:00:00 2001 From: "Mahatthana (Kelvin) Nomsawadi" <me@bboykelvin.dev> Date: Wed, 31 May 2023 18:02:11 +0700 Subject: [PATCH] Fix basic actions aren't showing in the order of CUD (#31184) --- frontend/src/metabase/entities/actions/actions.ts | 15 +++++++++------ .../ModelActionDetails/ModelActionDetails.tsx | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/src/metabase/entities/actions/actions.ts b/frontend/src/metabase/entities/actions/actions.ts index bac60a06118..1b93c859c12 100644 --- a/frontend/src/metabase/entities/actions/actions.ts +++ b/frontend/src/metabase/entities/actions/actions.ts @@ -57,11 +57,14 @@ const defaultImplicitActionCreateOptions = { const enableImplicitActionsForModel = async (modelId: number, options = defaultImplicitActionCreateOptions) => async (dispatch: Dispatch) => { - if (options.insert) { + // We're ordering actions that's most recently created first. + // So if we want to show Create, Update, Delete, then we need + // to create them in the reverse order. + if (options.delete) { await ActionsApi.create({ - name: t`Create`, + name: t`Delete`, type: "implicit", - kind: "row/create", + kind: "row/delete", model_id: modelId, }); } @@ -75,11 +78,11 @@ const enableImplicitActionsForModel = }); } - if (options.delete) { + if (options.insert) { await ActionsApi.create({ - name: t`Delete`, + name: t`Create`, type: "implicit", - kind: "row/delete", + kind: "row/create", model_id: modelId, }); } diff --git a/frontend/src/metabase/models/components/ModelDetailPage/ModelActionDetails/ModelActionDetails.tsx b/frontend/src/metabase/models/components/ModelDetailPage/ModelActionDetails/ModelActionDetails.tsx index 34a1569a0c4..e279a918251 100644 --- a/frontend/src/metabase/models/components/ModelDetailPage/ModelActionDetails/ModelActionDetails.tsx +++ b/frontend/src/metabase/models/components/ModelDetailPage/ModelActionDetails/ModelActionDetails.tsx @@ -218,7 +218,7 @@ function NoActionsState({ function mostRecentFirst(action: WritebackAction) { const createdAt = parseTimestamp(action["created_at"]); - return -createdAt.unix(); + return -createdAt.valueOf(); } // eslint-disable-next-line import/no-default-export -- deprecated usage -- GitLab