{
+ on:click={async () => {
await projectHandler.openProject();
}}
icon={File_open}
@@ -78,7 +78,7 @@
id={`open-project`}
color="var(--text-color)"
justifyContent="center"
- click={async () => {
+ on:click={async () => {
await projectHandler.openRecentProject(
recentProject,
);
diff --git a/src/lib/components/topBar/DropDownCheckBox.svelte b/src/lib/components/topBar/DropDownCheckBox.svelte
index ad133e2c..df854996 100644
--- a/src/lib/components/topBar/DropDownCheckBox.svelte
+++ b/src/lib/components/topBar/DropDownCheckBox.svelte
@@ -1,56 +1,59 @@
{#key unique}
- {
- checkboxStates[name].update(() => {
- if (checked) {
- onUnCheck();
- } else {
- onCheck();
- }
- return !checked;
- });
+ toggle();
unique = {};
}}
/>
diff --git a/src/lib/components/topBar/TopBar.svelte b/src/lib/components/topBar/TopBar.svelte
index 7432bde8..6f521ab9 100644
--- a/src/lib/components/topBar/TopBar.svelte
+++ b/src/lib/components/topBar/TopBar.svelte
@@ -2,7 +2,7 @@
import { onMount } from "svelte";
import type { projectHandler as ProjectHandler } from "$lib/classes/projectHandler/ProjectHandler";
import TopBarButton from "$lib/components/topBar/TopBarButton.svelte";
- import DropDownButton from "$lib/components/topBar/DropDownButton.svelte";
+ import Button from "$lib/components/overlayMenu/elements/Button.svelte";
import DropDownCheckBox from "$lib/components/topBar/DropDownCheckBox.svelte";
import {
Note_add,
@@ -18,6 +18,7 @@
Settings_input_composite,
Help,
Error,
+ Zoom_in,
} from "svelte-google-materialdesign-icons";
import SettingsView from "$lib/components/settings/SettingsView.svelte";
import { showSettings } from "$lib/components/settings/showSettings";
@@ -35,7 +36,7 @@
-
-
- {
- projectHandler.openNewProject();
- }}
- />
- {
- await projectHandler.openProject();
- }}
- />
- {
- console.log("Recent Projects");
- }}
- />
- {
- await projectHandler.quickSaveProject();
- }}
- />
- {
- await projectHandler.saveProject();
- }}
- />
- {
- await projectHandler.exportProject();
- }}
- />
- {
- await projectHandler.importProject();
- }}
- />
- {
- console.log("Export as Png");
- }}
- />
- {
- console.log("Export without border as Png");
- }}
- />
-
-
+
+
-
-
- {
- console.log("Move All Nodes Left");
- }}
- />
- {
- console.log("Move All Nodes Right");
- }}
- />
- {
- console.log("Move All Nodes Up");
- }}
- />
- {
- console.log("Move All Nodes Down");
- }}
- />
-
-
+
+ {
+ console.log("Move All Nodes Left");
+ }}
+ />
+ {
+ console.log("Move All Nodes Right");
+ }}
+ />
+ {
+ console.log("Move All Nodes Up");
+ }}
+ />
+ {
+ console.log("Move All Nodes Down");
+ }}
+ />
+
-
-
- {
- console.log("checked Project Panel");
- }}
- on:unchecked={() => {
- console.log("unchecked Project Panel");
- }}
- />
- {
- console.log("checked Query Panel");
- }}
- on:unchecked={() => {
- console.log("unchecked Query Panel");
- }}
- />
- {
- console.log("checked Autoscaling");
- }}
- on:unchecked={() => {
- console.log("unchecked Autoscaling");
- }}
- />
- {
- console.log("Scaling");
- }}
- />
- {
- console.log("Split canvas");
- }}
- />
-
-
+
+ {
+ console.log("checked Project Panel");
+ }}
+ on:unchecked={() => {
+ console.log("unchecked Project Panel");
+ }}
+ />
+ {
+ console.log("checked Query Panel");
+ }}
+ on:unchecked={() => {
+ console.log("unchecked Query Panel");
+ }}
+ />
+ {
+ console.log("checked Autoscaling");
+ }}
+ on:unchecked={() => {
+ console.log("unchecked Autoscaling");
+ }}
+ />
+ {
+ console.log("Scaling");
+ }}
+ />
+ {
+ console.log("Split canvas");
+ }}
+ />
+
-
-
- {
- console.log("checked UI cache");
- }}
- on:unchecked={() => {
- console.log("unchecked UI cache");
- }}
- />
- {
- console.log("checked Periodic query execution");
- }}
- on:unchecked={() => {
- console.log("unchecked Periodic query execution");
- }}
- />
- {
- console.log("Engine options");
- }}
- />
- {
- $showSettings = true;
- }}
- />
-
-
+
+ {
+ console.log("checked UI cache");
+ }}
+ on:unchecked={() => {
+ console.log("unchecked UI cache");
+ }}
+ />
+ {
+ console.log("checked Periodic query execution");
+ }}
+ on:unchecked={() => {
+ console.log("unchecked Periodic query execution");
+ }}
+ />
+ {
+ console.log("Engine options");
+ }}
+ />
+ {
+ $showSettings = true;
+ }}
+ />
+
-
-
- {
- console.log("Modelling Help");
- }}
- />
- {
- $showAboutUI = true;
- }}
- />
-
-
+
+ {
+ console.log("Modelling Help");
+ }}
+ />
+ {
+ $showAboutUI = true;
+ }}
+ />
+
-
-
diff --git a/src/lib/components/topBar/TopBarButton.svelte b/src/lib/components/topBar/TopBarButton.svelte
index 1939ff42..afb44cf6 100644
--- a/src/lib/components/topBar/TopBarButton.svelte
+++ b/src/lib/components/topBar/TopBarButton.svelte
@@ -1,40 +1,22 @@
-
- {
- visible = true;
- }}
- on:mouseleave={() => {
- visible = false;
- }}
->
-
- {name}
-
-
- {#if visible}
-
-
-
- {/if}
-
-
+
+ {name}
+
+
+
+
diff --git a/src/lib/components/topBar/TopBarDropDown.svelte b/src/lib/components/topBar/TopBarDropDown.svelte
deleted file mode 100644
index 522293a2..00000000
--- a/src/lib/components/topBar/TopBarDropDown.svelte
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
diff --git a/src/lib/components/topBar/aboutUI/AboutUI.svelte b/src/lib/components/topBar/aboutUI/AboutUI.svelte
index eb11f465..fcee3a98 100644
--- a/src/lib/components/topBar/aboutUI/AboutUI.svelte
+++ b/src/lib/components/topBar/aboutUI/AboutUI.svelte
@@ -17,6 +17,7 @@
{
$showAboutUI = false;
}}>Close {
+test.beforeEach(async ({ page, browserName }) => {
+ // TODO: remove this check when Firefox and WebKit supports popover: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/popover#browser_compatibility
+ test.skip(
+ browserName === "firefox" || browserName === "webkit",
+ "Popover not supported yet",
+ );
+
await page.goto("/");
await page.waitForLoadState();
await page.waitForLoadState("load");
@@ -9,10 +15,8 @@ test.beforeEach(async ({ page }) => {
await page.waitForLoadState("load");
await page.waitForLoadState("domcontentloaded");
- await page.getByRole("button", { name: "Options", exact: true }).hover();
- await page
- .getByRole("button", { name: "settings Settings", exact: true })
- .click();
+ await page.getByRole("button", { name: "Options", exact: true }).click();
+ await page.getByRole("button", { name: "Settings", exact: true }).click();
});
test("can create valid color", async ({ page }) => {
diff --git a/tests/lib/components/settings/fontSettings.test.ts b/tests/lib/components/settings/fontSettings.test.ts
index 6fc56042..39ce89ca 100644
--- a/tests/lib/components/settings/fontSettings.test.ts
+++ b/tests/lib/components/settings/fontSettings.test.ts
@@ -2,7 +2,13 @@ import { test, expect, type Dialog } from "@playwright/test";
const testFilesPath = "tests/lib/components/settings/testfiles";
-test.beforeEach(async ({ page }) => {
+test.beforeEach(async ({ page, browserName }) => {
+ // TODO: remove this check when Firefox and WebKit supports popover: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/popover#browser_compatibility
+ test.skip(
+ browserName === "firefox" || browserName === "webkit",
+ "Popover not supported yet",
+ );
+
await page.goto("/");
await page.waitForLoadState();
await page.waitForLoadState("load");
@@ -11,10 +17,8 @@ test.beforeEach(async ({ page }) => {
await page.waitForLoadState("load");
await page.waitForLoadState("domcontentloaded");
- await page.getByRole("button", { name: "Options", exact: true }).hover();
- await page
- .getByRole("button", { name: "settings Settings", exact: true })
- .click();
+ await page.getByRole("button", { name: "Options", exact: true }).click();
+ await page.getByRole("button", { name: "Settings", exact: true }).click();
await page.getByRole("button", { name: "Font", exact: true }).click();
});
diff --git a/tests/lib/components/settings/settings.test.ts b/tests/lib/components/settings/settings.test.ts
index 00012cbc..51e71b75 100644
--- a/tests/lib/components/settings/settings.test.ts
+++ b/tests/lib/components/settings/settings.test.ts
@@ -1,6 +1,12 @@
import { test, expect, type Page, type Locator } from "@playwright/test";
-test.beforeEach(async ({ page }) => {
+test.beforeEach(async ({ page, browserName }) => {
+ // TODO: remove this check when Firefox and WebKit supports popover: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/popover#browser_compatibility
+ test.skip(
+ browserName === "firefox" || browserName === "webkit",
+ "Popover not supported yet",
+ );
+
await page.goto("/");
await page.waitForLoadState();
await page.waitForLoadState("load");
@@ -9,10 +15,8 @@ test.beforeEach(async ({ page }) => {
await page.waitForLoadState("load");
await page.waitForLoadState("domcontentloaded");
- await page.getByRole("button", { name: "Options", exact: true }).hover();
- await page
- .getByRole("button", { name: "settings Settings", exact: true })
- .click();
+ await page.getByRole("button", { name: "Options", exact: true }).click();
+ await page.getByRole("button", { name: "Settings", exact: true }).click();
});
async function getTabButtons(page: Page): Promise
{
diff --git a/tests/lib/components/topBar/aboutUI/about.test.ts b/tests/lib/components/topBar/aboutUI/about.test.ts
index dfb0f866..f1dc6e72 100644
--- a/tests/lib/components/topBar/aboutUI/about.test.ts
+++ b/tests/lib/components/topBar/aboutUI/about.test.ts
@@ -1,14 +1,19 @@
import { test, expect } from "@playwright/test";
-test.beforeEach(async ({ page }) => {
+test.beforeEach(async ({ page, browserName }) => {
+ // TODO: remove this check when Firefox and WebKit supports popover: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/popover#browser_compatibility
+ test.skip(
+ browserName === "firefox" || browserName === "webkit",
+ "Popover not supported yet",
+ );
+
await page.goto("/");
await page.click("#start-new-project");
});
test("Navigating to Help, then About", async ({ page }) => {
await page.getByRole("button", { name: "Help", exact: true }).click();
-
- await page.getByRole("button", { name: "error About" }).click();
+ await page.getByRole("button", { name: "About", exact: true }).click();
const aboutBox = await page
.locator("dialog")
diff --git a/tests/lib/components/topBar/topbar.test.ts b/tests/lib/components/topBar/topbar.test.ts
index 710efac2..3da14370 100644
--- a/tests/lib/components/topBar/topbar.test.ts
+++ b/tests/lib/components/topBar/topbar.test.ts
@@ -1,6 +1,12 @@
import { test, expect } from "@playwright/test";
-test.beforeEach(async ({ page }) => {
+test.beforeEach(async ({ page, browserName }) => {
+ // TODO: remove this check when Firefox and WebKit supports popover: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/popover#browser_compatibility
+ test.skip(
+ browserName === "firefox" || browserName === "webkit",
+ "Popover not supported yet",
+ );
+
await page.goto("/");
await page.click("#start-new-project");
});