diff --git a/src/App.tsx b/src/App.tsx index 48578b1..e22a461 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -355,7 +355,7 @@ export default function App() routeList.push({ name: `${app.label}`, key: app.name, - route: `${path}/savedFilter/:id`, + route: `${path}/savedView/:id`, component: , }); diff --git a/src/qqq/components/buttons/DefaultButtons.tsx b/src/qqq/components/buttons/DefaultButtons.tsx index c934f3f..982ab82 100644 --- a/src/qqq/components/buttons/DefaultButtons.tsx +++ b/src/qqq/components/buttons/DefaultButtons.tsx @@ -123,7 +123,7 @@ export function QActionsMenuButton({isOpen, onClickHandler}: QActionsMenuButtonP ); } -export function QSavedFiltersMenuButton({isOpen, onClickHandler}: QActionsMenuButtonProps): JSX.Element +export function QSavedViewsMenuButton({isOpen, onClickHandler}: QActionsMenuButtonProps): JSX.Element { return ( @@ -132,9 +132,9 @@ export function QSavedFiltersMenuButton({isOpen, onClickHandler}: QActionsMenuBu color="dark" onClick={onClickHandler} fullWidth - startIcon={filter_alt} + startIcon={visibility} > - saved filters  + Saved Views  keyboard_arrow_down diff --git a/src/qqq/components/horseshoe/Breadcrumbs.tsx b/src/qqq/components/horseshoe/Breadcrumbs.tsx index b31bb76..c319b98 100644 --- a/src/qqq/components/horseshoe/Breadcrumbs.tsx +++ b/src/qqq/components/horseshoe/Breadcrumbs.tsx @@ -92,7 +92,7 @@ function QBreadcrumbs({icon, title, route, light}: Props): JSX.Element let accumulatedPath = ""; for (let i = 0; i < routes.length; i++) { - if(routes[i] === "savedFilter") + if(routes[i] === "savedView") { continue; } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/lib/QBaseSeleniumTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/lib/QBaseSeleniumTest.java index 5ffd961..57ed9c1 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/lib/QBaseSeleniumTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/lib/QBaseSeleniumTest.java @@ -177,7 +177,7 @@ public class QBaseSeleniumTest .withRouteToFile("/metaData/table/city", "metaData/table/person.json") .withRouteToFile("/metaData/table/script", "metaData/table/script.json") .withRouteToFile("/metaData/table/scriptRevision", "metaData/table/scriptRevision.json") - .withRouteToFile("/processes/querySavedFilter/init", "processes/querySavedFilter/init.json"); + .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlAdvancedModeTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlAdvancedModeTest.java index 4f93909..f2bdfe4 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlAdvancedModeTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlAdvancedModeTest.java @@ -55,7 +55,7 @@ public class QueryScreenFilterInUrlAdvancedModeTest extends QBaseSeleniumTest .withRouteToFile("/data/person/query", "data/person/index.json") .withRouteToFile("/data/person/possibleValues/homeCityId", "data/person/possibleValues/homeCityId.json") .withRouteToFile("/data/person/variants", "data/person/variants.json") - .withRouteToFile("/processes/querySavedFilter/init", "processes/querySavedFilter/init.json"); + .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlBasicModeTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlBasicModeTest.java index fc76ad6..83d18e7 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlBasicModeTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenFilterInUrlBasicModeTest.java @@ -55,7 +55,7 @@ public class QueryScreenFilterInUrlBasicModeTest extends QBaseSeleniumTest .withRouteToFile("/data/person/query", "data/person/index.json") .withRouteToFile("/data/person/possibleValues/homeCityId", "data/person/possibleValues/homeCityId.json") .withRouteToFile("/data/person/variants", "data/person/variants.json") - .withRouteToFile("/processes/querySavedFilter/init", "processes/querySavedFilter/init.json"); + .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenTest.java index ae6b231..25520d1 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/QueryScreenTest.java @@ -48,7 +48,7 @@ public class QueryScreenTest extends QBaseSeleniumTest .withRouteToFile("/data/person/count", "data/person/count.json") .withRouteToFile("/data/person/query", "data/person/index.json") .withRouteToFile("/data/person/variants", "data/person/variants.json") - .withRouteToFile("/processes/querySavedFilter/init", "processes/querySavedFilter/init.json"); + .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedFiltersTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedViewsTest.java similarity index 85% rename from src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedFiltersTest.java rename to src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedViewsTest.java index ff03273..f58e9be 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedFiltersTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedViewsTest.java @@ -29,9 +29,9 @@ import org.junit.jupiter.api.Test; /******************************************************************************* - ** Test for Saved Filters functionality on the Query screen. + ** Test for Saved View functionality on the Query screen. *******************************************************************************/ -public class SavedFiltersTest extends QBaseSeleniumTest +public class SavedViewsTest extends QBaseSeleniumTest { /******************************************************************************* @@ -69,7 +69,7 @@ public class SavedFiltersTest extends QBaseSeleniumTest qSeleniumLib.gotoAndWaitForBreadcrumbHeader("/peopleApp/greetingsApp/person", "Person"); queryScreenLib.gotoAdvancedMode(); - qSeleniumLib.waitForSelectorContaining("BUTTON", "Saved Filters").click(); + qSeleniumLib.waitForSelectorContaining("BUTTON", "Saved Views").click(); qSeleniumLib.waitForSelectorContaining("LI", "Some People"); //////////////////////////////////////// @@ -78,15 +78,15 @@ public class SavedFiltersTest extends QBaseSeleniumTest qSeleniumJavalin.stop(); qSeleniumJavalin.clearRoutes(); addStandardRoutesForThisTest(qSeleniumJavalin); - qSeleniumJavalin.withRouteToFile("/processes/querySavedFilter/init", "processes/querySavedFilter/init-id=2.json"); + qSeleniumJavalin.withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init-id=2.json"); qSeleniumJavalin.restart(); - /////////////////////////////////////////////////////// - // go to a specific filter - assert that it's loaded // - /////////////////////////////////////////////////////// + ///////////////////////////////////////////////////// + // go to a specific view - assert that it's loaded // + ///////////////////////////////////////////////////// qSeleniumLib.waitForSelectorContaining("LI", "Some People").click(); - qSeleniumLib.waitForCondition("Current URL should have filter id", () -> driver.getCurrentUrl().endsWith("/person/savedFilter/2")); - qSeleniumLib.waitForSelectorContaining("DIV", "Current Filter: Some People"); + qSeleniumLib.waitForCondition("Current URL should have view id", () -> driver.getCurrentUrl().endsWith("/person/savedView/2")); + qSeleniumLib.waitForSelectorContaining("DIV", "Current View: Some People"); ////////////////////////////// // click into a view screen // @@ -97,11 +97,11 @@ public class SavedFiltersTest extends QBaseSeleniumTest ///////////////////////////////////////////////////// // take breadcrumb back to table query // - // assert the previously selected filter is loaded // + // assert the previously selected View is loaded // ///////////////////////////////////////////////////// qSeleniumLib.waitForSelectorContaining("A", "Person").click(); - qSeleniumLib.waitForCondition("Current URL should have filter id", () -> driver.getCurrentUrl().endsWith("/person/savedFilter/2")); - qSeleniumLib.waitForSelectorContaining("DIV", "Current Filter: Some People"); + qSeleniumLib.waitForCondition("Current URL should have View id", () -> driver.getCurrentUrl().endsWith("/person/savedView/2")); + qSeleniumLib.waitForSelectorContaining("DIV", "Current View: Some People"); qSeleniumLib.waitForSelectorContaining(".MuiBadge-badge", "1"); ////////////////////// @@ -127,8 +127,8 @@ public class SavedFiltersTest extends QBaseSeleniumTest /////////////////////////////////////////////////////////////////////////////// qSeleniumJavalin.beginCapture(); qSeleniumLib.waitForSelectorContaining("A", "Person").click(); - qSeleniumLib.waitForCondition("Current URL should have filter id", () -> driver.getCurrentUrl().endsWith("/person/savedFilter/2")); - qSeleniumLib.waitForSelectorContaining("DIV", "Current Filter: Some People") + qSeleniumLib.waitForCondition("Current URL should have filter id", () -> driver.getCurrentUrl().endsWith("/person/savedView/2")); + qSeleniumLib.waitForSelectorContaining("DIV", "Current View: Some People") .findElement(By.cssSelector("CIRCLE")); qSeleniumLib.waitForSelectorContaining(".MuiBadge-badge", "2"); CapturedContext capturedContext = qSeleniumJavalin.waitForCapturedPath("/data/person/query"); @@ -136,7 +136,7 @@ public class SavedFiltersTest extends QBaseSeleniumTest qSeleniumJavalin.endCapture(); //////////////////////////////////////////////////// - // navigate to the table with a filter in the URL // + // navigate to the table with a View in the URL // //////////////////////////////////////////////////// String filter = """ { @@ -152,7 +152,7 @@ public class SavedFiltersTest extends QBaseSeleniumTest """.replace('\n', ' ').replaceAll(" ", ""); qSeleniumLib.gotoAndWaitForBreadcrumbHeader("/peopleApp/greetingsApp/person?filter=" + URLEncoder.encode(filter, StandardCharsets.UTF_8), "Person"); qSeleniumLib.waitForSelectorContaining(".MuiBadge-badge", "1"); - qSeleniumLib.waitForSelectorContainingToNotExist("DIV", "Current Filter"); + qSeleniumLib.waitForSelectorContainingToNotExist("DIV", "Current View"); ////////////////////////////// // click into a view screen // @@ -166,7 +166,7 @@ public class SavedFiltersTest extends QBaseSeleniumTest ///////////////////////////////////////////////////////////////////////////////// qSeleniumJavalin.beginCapture(); qSeleniumLib.waitForSelectorContaining("A", "Person").click(); - qSeleniumLib.waitForCondition("Current URL should not have filter id", () -> !driver.getCurrentUrl().endsWith("/person/savedFilter/2")); + qSeleniumLib.waitForCondition("Current URL should not have filter id", () -> !driver.getCurrentUrl().endsWith("/person/savedView/2")); qSeleniumLib.waitForSelectorContaining(".MuiBadge-badge", "1"); capturedContext = qSeleniumJavalin.waitForCapturedPath("/data/person/query"); assertTrue(capturedContext.getBody().matches("(?s).*id.*LESS_THAN.*10.*")); diff --git a/src/test/resources/fixtures/processes/querySavedFilter/init-id=2.json b/src/test/resources/fixtures/processes/querySavedView/init-id=2.json similarity index 62% rename from src/test/resources/fixtures/processes/querySavedFilter/init-id=2.json rename to src/test/resources/fixtures/processes/querySavedView/init-id=2.json index fe19313..b0b601f 100644 --- a/src/test/resources/fixtures/processes/querySavedFilter/init-id=2.json +++ b/src/test/resources/fixtures/processes/querySavedView/init-id=2.json @@ -1,16 +1,16 @@ { "values": { "_qStepTimeoutMillis": "60000", - "savedFilterList": [ + "savedViewList": [ { - "tableName": "savedFilter", + "tableName": "savedView", "values": { "label": "Some People", "id": 2, "createDate": "2023-02-20T18:40:58Z", "modifyDate": "2023-02-20T18:40:58Z", "tableName": "person", - "filterJson": "{\"criteria\":[{\"fieldName\":\"firstName\",\"operator\":\"STARTS_WITH\",\"values\":[\"D\"]}],\"orderBys\":[{\"fieldName\":\"id\",\"isAscending\":false}],\"booleanOperator\":\"AND\"}", + "filterJson": "{\"filter\":{\"criteria\":[{\"fieldName\":\"firstName\",\"operator\":\"STARTS_WITH\",\"values\":[\"D\"]}],\"orderBys\":[{\"fieldName\":\"id\",\"isAscending\":false}],\"booleanOperator\":\"AND\"}}", "userId": "darin.kelkhoff@kingsrook.com" } } diff --git a/src/test/resources/fixtures/processes/querySavedFilter/init.json b/src/test/resources/fixtures/processes/querySavedView/init.json similarity index 63% rename from src/test/resources/fixtures/processes/querySavedFilter/init.json rename to src/test/resources/fixtures/processes/querySavedView/init.json index 23b8f4a..7f03dd5 100644 --- a/src/test/resources/fixtures/processes/querySavedFilter/init.json +++ b/src/test/resources/fixtures/processes/querySavedView/init.json @@ -1,28 +1,28 @@ { "values": { "_qStepTimeoutMillis": "60000", - "savedFilterList": [ + "savedViewList": [ { - "tableName": "savedFilter", + "tableName": "savedView", "values": { "label": "All People", "id": 1, "createDate": "2023-02-20T18:39:11Z", "modifyDate": "2023-02-20T18:39:11Z", "tableName": "person", - "filterJson": "{\"orderBys\":[{\"fieldName\":\"id\",\"isAscending\":false}],\"booleanOperator\":\"AND\"}", + "filterJson": "{\"filter\":{\"orderBys\":[{\"fieldName\":\"id\",\"isAscending\":false}],\"booleanOperator\":\"AND\"}}", "userId": "darin.kelkhoff@kingsrook.com" } }, { - "tableName": "savedFilter", + "tableName": "savedView", "values": { "label": "Some People", "id": 2, "createDate": "2023-02-20T18:40:58Z", "modifyDate": "2023-02-20T18:40:58Z", "tableName": "person", - "filterJson": "{\"criteria\":[{\"fieldName\":\"firstName\",\"operator\":\"STARTS_WITH\",\"values\":[\"D\"]}],\"orderBys\":[{\"fieldName\":\"id\",\"isAscending\":false}],\"booleanOperator\":\"AND\"}", + "filterJson": "{\"filter\":{\"criteria\":[{\"fieldName\":\"firstName\",\"operator\":\"STARTS_WITH\",\"values\":[\"D\"]}],\"orderBys\":[{\"fieldName\":\"id\",\"isAscending\":false}],\"booleanOperator\":\"AND\"}}", "userId": "darin.kelkhoff@kingsrook.com" } }