From e4fadd01d9e934787a67e17ea9b3f3df6fd38f81 Mon Sep 17 00:00:00 2001 From: Limezy Date: Fri, 3 Mar 2023 23:28:16 +0700 Subject: [PATCH] Fix 4952 (#4967) * First try * Support old embeds --- public/images/google-datastudio.png | Bin 3161 -> 0 bytes public/images/google-lookerstudio.png | Bin 0 -> 3987 bytes shared/editor/embeds/GoogleDataStudio.test.ts | 29 --------------- .../editor/embeds/GoogleLookerStudio.test.ts | 34 ++++++++++++++++++ ...eDataStudio.tsx => GoogleLookerStudio.tsx} | 14 ++++---- shared/editor/embeds/index.tsx | 10 +++--- 6 files changed, 47 insertions(+), 40 deletions(-) delete mode 100644 public/images/google-datastudio.png create mode 100644 public/images/google-lookerstudio.png delete mode 100644 shared/editor/embeds/GoogleDataStudio.test.ts create mode 100644 shared/editor/embeds/GoogleLookerStudio.test.ts rename shared/editor/embeds/{GoogleDataStudio.tsx => GoogleLookerStudio.tsx} (56%) diff --git a/public/images/google-datastudio.png b/public/images/google-datastudio.png deleted file mode 100644 index 11c0654ce13843ce3f7e1d1ffd1d0348c1e61f6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3161 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 literal 0 HcmV?d00001 diff --git a/shared/editor/embeds/GoogleDataStudio.test.ts b/shared/editor/embeds/GoogleDataStudio.test.ts deleted file mode 100644 index c190ad573..000000000 --- a/shared/editor/embeds/GoogleDataStudio.test.ts +++ /dev/null @@ -1,29 +0,0 @@ -import GoogleDataStudio from "./GoogleDataStudio"; - -describe("GoogleDataStudio", () => { - const match = GoogleDataStudio.ENABLED[0]; - - test("to be enabled on share link", () => { - expect( - "https://datastudio.google.com/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( - match - ) - ).toBeTruthy(); - }); - - test("to not be enabled elsewhere", () => { - expect("https://datastudio.google.com/u/0/".match(match)).toBe(null); - expect("https://datastudio.google.com".match(match)).toBe(null); - expect("https://www.google.com".match(match)).toBe(null); - expect( - "https://datastudioogoogle.com/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( - match - ) - ).toBe(null); - expect( - "https://datastudio.googleecom/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( - match - ) - ).toBe(null); - }); -}); diff --git a/shared/editor/embeds/GoogleLookerStudio.test.ts b/shared/editor/embeds/GoogleLookerStudio.test.ts new file mode 100644 index 000000000..0e8709756 --- /dev/null +++ b/shared/editor/embeds/GoogleLookerStudio.test.ts @@ -0,0 +1,34 @@ +import GoogleLookerStudio from "./GoogleLookerStudio"; + +describe("GoogleLookerStudio", () => { + const match = GoogleLookerStudio.ENABLED[0]; + + test("to be enabled on share link", () => { + expect( + "https://lookerstudio.google.com/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( + match + ) + ).toBeTruthy(); + expect( + "https://datastudio.google.com/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( + match + ) + ).toBeTruthy(); + }); + + test("to not be enabled elsewhere", () => { + expect("https://lookerstudio.google.com/u/0/".match(match)).toBe(null); + expect("https://lookerstudio.google.com".match(match)).toBe(null); + expect("https://www.google.com".match(match)).toBe(null); + expect( + "https://lookerstudioogoogle.com/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( + match + ) + ).toBe(null); + expect( + "https://lookerstudio.googleecom/embed/reporting/aab01789-f3a2-4ff3-9cba-c4c94c4a92e8/page/7zFD".match( + match + ) + ).toBe(null); + }); +}); diff --git a/shared/editor/embeds/GoogleDataStudio.tsx b/shared/editor/embeds/GoogleLookerStudio.tsx similarity index 56% rename from shared/editor/embeds/GoogleDataStudio.tsx rename to shared/editor/embeds/GoogleLookerStudio.tsx index d5816095b..4f9f60c4f 100644 --- a/shared/editor/embeds/GoogleDataStudio.tsx +++ b/shared/editor/embeds/GoogleLookerStudio.tsx @@ -3,30 +3,30 @@ import Frame from "../components/Frame"; import Image from "../components/Image"; import { EmbedProps as Props } from "."; -function GoogleDataStudio(props: Props) { +function GoogleLookerStudio(props: Props) { return ( } canonicalUrl={props.attrs.href} - title="Google Data Studio" + title="Google Looker Studio" border /> ); } -GoogleDataStudio.ENABLED = [ +GoogleLookerStudio.ENABLED = [ new RegExp( - "^https?://datastudio\\.google\\.com/(embed|u/0)/reporting/(.*)/page/(.*)(/edit)?$" + "^https?://(lookerstudio|datastudio)\\.google\\.com/(embed|u/0)/reporting/(.*)/page/(.*)(/edit)?$" ), ]; -export default GoogleDataStudio; +export default GoogleLookerStudio; diff --git a/shared/editor/embeds/index.tsx b/shared/editor/embeds/index.tsx index 88db748c1..c24fb230c 100644 --- a/shared/editor/embeds/index.tsx +++ b/shared/editor/embeds/index.tsx @@ -20,11 +20,11 @@ import Framer from "./Framer"; import Gist from "./Gist"; import Gliffy from "./Gliffy"; import GoogleCalendar from "./GoogleCalendar"; -import GoogleDataStudio from "./GoogleDataStudio"; import GoogleDocs from "./GoogleDocs"; import GoogleDrawings from "./GoogleDrawings"; import GoogleDrive from "./GoogleDrive"; import GoogleForms from "./GoogleForms"; +import GoogleLookerStudio from "./GoogleLookerStudio"; import GoogleSheets from "./GoogleSheets"; import GoogleSlides from "./GoogleSlides"; import Grist from "./Grist"; @@ -248,10 +248,12 @@ const embeds: EmbedDescriptor[] = [ component: GoogleCalendar, }), new EmbedDescriptor({ - title: "Google Data Studio", + title: "Google Looker Studio", keywords: "bi business intelligence", - icon: Google Data Studio, - component: GoogleDataStudio, + icon: ( + Google Looker Studio + ), + component: GoogleLookerStudio, }), new EmbedDescriptor({ title: "Google Forms",