wegue icon indicating copy to clipboard operation
wegue copied to clipboard

Improve box model for floating windows.

Open fschmenger opened this issue 3 years ago • 0 comments

Currently, all floating windows (module cards) are descendants of <v-app> as implemented in WguAppTemplate.vue. Thus all windows are relative to the vuetify root container. This results in a couple of problems:

  • Positioning css / config settings has to add offsets, so the windows are not overlapped by the toolbar or footer.
  • Mixed configurations with sidebar and floating windows don't go well together - as the opened sidebar may overlap floating windows.
    • A special case of this is the AttributeTable, which always takes full parent container width and therefore will be partially hidden by the sidebar.
  • If the window is draggable, then points 1 and 2 apply, since the window can be dragged under the toolbar, footer or sidebar.

Proposed solution: Make floating windows descendants of the <v-content app> app container. Here's a snippet:

<v-content app>
      <v-container id="ol-map-container" fluid fill-height class="pa-0"> .... </v-container>
      <!-- Initialize floating windows here: --->
       <template v-for="(moduleWin, index) in floatingWins">
        <component
          :is="moduleWin.type" :key="index" :color="baseColor"
          v-bind="moduleWin"
        />
    </template>
</v-content>

Expected side effects:

  • Floating windows will be shifted by the width of the sidebar, once the sidebar is opened / closed.
    • @chrismayer @JakobMiksch Maybe you could have a word on this, whether this behavior would be ok for you!?
  • Positioning of the windows in app-conf and css code have to be altered to obtain same results.

This issue is somewhat linked to #215 and could be reviewed in the same run.

fschmenger avatar Sep 07 '21 12:09 fschmenger