Skip to content

To-Dos wrt Vue 3 and Framework7 v7 upgrade #3378

@florian-h05

Description

@florian-h05

After #3350 is merged, the following tasks need to be tackled:

High Priority

  • (BUG) Blockly multi drag/drop not working - recommended solution is upgrading the library, but it requires blockley v11 -> will be fixed by Moved to blockly v11 and respective plugin versions #3398
  • Take care of TODO-V3.1 comments
  • Refactor to use Vue router instead of F7 Router as F7 Router has serious bugs with navigation??
  • (BUG) Duplicate entries in model treeview on drag & drop sometimes, see To-Dos wrt Vue 3 and Framework7 v7 upgrade #3378 (comment) => fixed by Model: Show non semantic children in model tree #3476??
  • Write down which manual changes are required for swiper
  • (BUG) ECharts localisation not working
  • (BUG) Model drag & drop not working
  • Store menu pinned state.
  • (BUG) on initial loading of setup-wizard, the UI is unresponsive. Corrects itself on reloading
  • Test floorplan pages
  • Test map views with markers
  • Test embedded SVG state tracking
  • (BUG) slider does not appear for dimmer items on item-detail page on ios devices.
  • Test masonry layout
  • (BUG) back button from settings/items, settings/things - the URL in the address bar does not change.
  • (BUG) Item state preview is missing in production build
  • (BUG) Add link and edit link not working on Items details page
  • Test Web Audio Support
  • (BUG) on item-detail->oh-label-card->oh-trend - the width setting is only correct AFTER the page is display - doesn't seem to be reactive
  • oh-swiper: Automatically map parameters object properties onto config object to ease transition => manual changes are needed anyway

Low Priority

  • Run Prettier & enable prettier format checking in CI
  • Upgrade marked: 13 -> 14 breaks markdown list rendering, to be investigated
  • Clean up tabs - there's a lot of unecessary code that is handled automatically by Vue, e.g. @click=switchTab
  • Clean-up command emits/listening for generic-widget-component, I haven't found a place 'command' is emitted from
  • Refactor $oh.api from using Framework7 Requests to:
    a. Use the fetch API directly
    b. use a typed API client, e.g. hey-api/openapi-ts
    and take care of MainUI on Vue 3: Beta testing bug reporting #3381 (comment)
  • Document common coding practices:
    • v-?? should show up first in any html element
    • use vue3 principles of reactivity where possible (vs. direct DOM manipulation)
    • new components should use typescript & composition API where possible
    • import components through <script setup> to make sure Vite "sees them as used" and doesn't three shake
    • Props are one-way down data binding from parent to child and should not be mutated by the child component
    • for conditional HTML attributes on elements: Use condition ? true : null to unset them if condition is false
    • use computed values instead of method calls for getting prop values in template => methods re-evaluated on every rerender, computed values cached if dependencies didn't change
  • Convert i18n to non-legacy mode since this is deprecated

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions