Giter VIP home page Giter VIP logo

iot-application's Issues

Invalidation state on dashboard table inline editing should not persist

What's happening?

When editing a dashboard name or description through inline editing on the dashboards page (/dashboards), validation errors persist after canceling changes.

What should happen?

Validation errors should be reset after canceling changes.

Steps to reproduce:

  1. Go to the dashboards page (/dashboards).
  2. (optional) Create a dashboard.
  3. Trigger inline editing on the name or description of the dashboard.
  4. Trigger a validation error by removing the name/description or exceeding max characters (currently 40 for name and 200 for description).
  5. Cancel making the change by clicking the "X".
  6. Trigger inline editing again.
  7. Observe a valid name/description with a visible validation error.

[UX] Homepage for Centurion

Acceptance criteria

  • Display "getting started" container using expandable container component with action stripe from cloudscape library
  • "Getting started" container should remain expanded (default state)
  • Use key value pair component within the "getting started" container to display information
  • Use accurate spacing/padding information as provided in the cloudscape
  • Use accurate font + font styling

Overview

  • Current state: No homepage. User needs to open the hamburger menu to access the list of dashboards or even to create a dashboard.
  • Proposed solution: Refer to the image below -
    • Overview section to provide a high-level information about Centurion with the ability to hide.
    • Dashboard table for creating, viewing and deleting the dashboard.
    • Users can further edit their dashboard once they view it.
Screenshot 2023-08-08 at 8 32 12 PM

NOTES

  1. use https://refresh.cloudscape.aws.dev/
  2. external link https://cloudscape.design/
  3. use the visual refresh version as shown in the parent ticket screenshot / figma
  4. use the design tokens where ever necessary for spacing and colors
  5. https://cloudscape.design/components/app-layout/?tabId=api --> understand how app-layout works

Tasks

  1. 1 pts UX design med priority
  2. 3 pts UX design med priority
  3. 3 pts
  4. 2 pts
  5. 2 pts

Configure Prettier to work on root

Prettier is not running at the root of the project, which is needed on for our Playwright tests. Improve our tests by making this work.

[UX] Add footer throughout

Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1

Acceptance criteria

  1. the footer should be rendered as shown
  2. the footer component from the cloudscape should be used (https://refresh.cloudscape.aws.dev/)
  3. the links can be dummy for now,

------ NOTES----

  1. use https://refresh.cloudscape.aws.dev/
  2. external link https://cloudscape.design/
  3. use the visual refresh version as shown in the parent ticket screenshot / figma
  4. use the design tokens where ever necessary for spacing and colors
  5. https://cloudscape.design/components/app-layout/?tabId=api --> understand how app-layout works

Dashboard state persist across to another dashboard incorrectly

Describe the bug

After saving widgets on a dashboard, the widgets would appear on another dashboard incorrectly.

To Reproduce
Steps to reproduce the behavior:

  1. Go to /dashboards
  2. Click on Create, fill out the modal inputs, and proceed to create a dashboard
  3. Click on newly created dashboard and add a widget
  4. Go back to /dashboards
  5. Click on Create, fill out the modal inputs, and proceed to create another dashboard
  6. Click on newly created dashboard
  7. See a widget on the newly created dashboard
  8. Refresh the page and the widget is no longer there

Expected behavior

the widget(s) state on the dashboard should reflect the select dashboard's configuration

Screenshots

Screen.Recording.2023-04-13.at.11.29.24.AM.mov

Desktop (please complete the following information):

  • OS: MacOS 13.2.1 (22D68)
  • Browser Chrome
  • Version Version 111.0.5563.64 (Official Build) (x86_64)

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Upgrade to TypeScript 5

Enable new TypeScript features and improved dev/build performance by upgrading the repo to use TypeScript 5.

Farewell

(This is not an real issue)

Hi team, it is very nice working will y'all. Unfortunately I won't be able to attend the celebration of the launch of app kit and application. Feel free to reach out to me if you want to talk. My email address is lixiao.bill at gmail.com.

Thanks,
Bill

Display dashboard name in breadcrumbs on dashboard page

On the dashboards page (/dashboards/$dashboardId), the breadcrumbs are displaying a hard-coded "Dashboard Name". It should be displaying the name of the dashboard.

To achieve this change, there likely needs to be a mutation to the breadcrumbs on mount, after the dashboard is fetched.

Migrate from Jest to Vitest on core

Align with the client and migrate from Jest to Vitest on the backend. This will speed up our tests and enable features such as in-source testing and TypeScript type testing.

Create dashboard Page

Rework needed for the creation flow. It should match the cloudscape pattern.

User Action: Click "Create dashboard" → Fills the form → Dashboard created. The user goes back to the "List of dashboards" view page.

Newly created dashboard is pre-selected and the user clicks on "View" to edit the dashboard in the "Edit" mode.

Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1

Tasks

Revise notification dismissal on client-side navigation

Notifications are expected to have the UX behavior (defined by Cloudscape)[https://cloudscape.design/components/flashbar/?tabId=usage].

There are two issues with our implementation:

  1. A side-effect occurs. Users of the useApplication hook must understand that navigate dismisses notifications. This is problematic when creating a dashboard, as a navigation needs to occur and then a success notification needs to appear. If the emission of the notification occurs before navigation, the notification will be dismissed. (note: this behavior is documented in the useApplication hook.
  2. navigate dismisses all notifications, but the UX guidance is to persist notifications relevant to pages across navigation. This will require adding context to the notification structure about which pages it should be visible on.

Increase dashboard name max length to 100 characters

The max number of characters for a dashboard name is currently set at 40 characters. We have decided this is too limiting and plan to increase it to 100 characters.

This may be accomplished by updating the Dashboard entity on the back-end with a single line change. After making the change, while the server is live, run yarn gen:types at the root of the project to complete the client-side change.

There are a few tests on core which will need to be updated which catch 400 Bad Request errors for the length validation.

Resolve conflicting styles

Our import of the Amplify stylesheet, which is required for the login page, is impacting dashboard styling (e.g., component icon rendering). We need to resolve the conflicting styles.

[UX] Delete dashboard

Single select option to select any dashboard and click “Delete” btn to delete. A modal will appear to confirm action. (No additional confirmation needed in the modal)

Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1

Tasks

[UX] Modify flow: View dashboard

Current state: Users are directed to an empty "View mode" state, even if they have no content or are creating the dashboard for the first time.
Proposed solution:
No content//Creating the dashboard for the first time: 
Direct the users to the “edit mode” dashboard 
NOTE: Left and right panels should remain closed in the empty state as well as when no widget is added or selected on the canvas.
With content:
Users are directed to the “View mode” where they will be able to view their saved dashboard and monitor their assets.
They can click on the “Edit” button to make any further changes to the dashboard
NOTE: Left and right panels should remain closed in the empty state as well as when no widget is added or selected on the canvas.

Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.