[UI] Expose procedures as entities #428

Merged
blacklight merged 44 commits from 341/procedure-entities-ui into master 2024-09-23 03:50:14 +02:00
Owner

Closes #341

Closes #341
blacklight added this to the v1.3.0 milestone 2024-09-23 03:48:36 +02:00
blacklight added the
ui
new feature
labels 2024-09-23 03:48:36 +02:00
blacklight self-assigned this 2024-09-23 03:48:36 +02:00
blacklight added 43 commits 2024-09-23 03:48:37 +02:00
- Don't propagate `close` events. This prevents underlying modals from
  being closed on cascade when the current modal is closed.

- Added logic to filter out <ESC> keystrokes that have already targeted
  the outermost open modal, so underlying modals won't be closed.

- Added `:before-close` property. This is a callback that can optionally
  be passed to the component and it will run some custom logic before
  the modal is closed. If it returns false then the modal will stay
  open.
- Added support for multiple element classes.

- Added `glow` property.

- Added support for absolute initial positioning.

- Added dynamic button size.

- Added FloatingButtons component to support groups of floating buttons.
- Adds the ability to select lines from the editor, which in turn will
  highlight them.

- Adds the ability to load a file and scroll at a specific line if the
  URL has with the `line` argument.

- Adds the ability to maximize the file editor modal.
This is to bridge the gap between pointer-based and touch-based devices
and provide a drag-and-drop implementation that exposes a consistent API
for both the interfaces.

These components work by wrapping an underlying draggable/droppable DOM
element and proxying the event handlers consistently when drag/touch
events are detected.

This allows to listen to high-level drag/drop events even on touch-based
interface based on touch start/move/end events.

Example usage:

```vue
<template>
  <div class="draggable" ref="draggable">
    I can be dragged.
  </div>

  <div class="droppable" ref="droppable">
    Drop elements here.
  </div>

  <Draggable :element="$refs.draggable"
             @drag="console.log('The element is being dragged')"
             @drop="console.log('The element is been dropped')" />

  <Droppable :element="$refs.droppable"
             @dragenter="console.log('Entering')"
             @dragleave="console.log('Leaving')"
             @dragover="console.log('Dragging over')"
             @drop="console.log('Dropped!')" />
</template>

<style lang="scss" scoped>
.draggable {
  &.dragged {
    opacity: 0.5;
  }
}

.droppable {
  &.active {
    border: 1px solid green;
  }

  &.selected {
    background: yellow;
  }
}
</style>
```
[#341] [UI] Implemented support for procedure entities.
All checks were successful
continuous-integration/drone/push Build is passing
15cf611c95
- Added UI panel.

- Added support for entity types.

- Enhanced ability to edit procedures.

- Added ability to create, rename, edit, duplicate and delete stored
  procedures.

- Added support for YAML dumps of non-Python procedures.

- Added support for visualizing Python procedures directly in their
  source files.
`Draggable` components should emit `dragend`, not `drop` events.

`drop` should only be emitted by `Droppable` components, or the receiver
of a component that uses both won't be able to tell if a `drop` event
came from a component being dragged, or from an element where a dragged
element was dropped.
Merge branch '341/procedure-entities' into 341/procedure-entities-ui
All checks were successful
continuous-integration/drone/push Build is passing
152c2020de
[#341] Added return block to ProcedureEditor.
All checks were successful
continuous-integration/drone/push Build is passing
b337bf7a53
[#341] Added for for/break/continue statements in procedure editor.
All checks were successful
continuous-integration/drone/push Build is passing
156a6379d0
[#341] Added support for setting variables in procedure editor.
All checks were successful
continuous-integration/drone/push Build is passing
e7e76087c0
[UI] Better handling of nested modals on the entities page.
All checks were successful
continuous-integration/drone/push Build is passing
f6b3d34eff
If a modal was spawned from within an entity in a group, then the whole
group needs to get its zIndex bumped.

Otherwise, the modal component will be "caged" within the scope of the
parent and other entity groups will be rendered above it.
The dark blue YAML style used by `stackoverflow-dark` isn't very
readable on black background.
[UI] Better color schemes for highlighed text.
All checks were successful
continuous-integration/drone/push Build is passing
b6c0029208
[#341] Adapted alarm UI to the changes to the ProcedureEditor component.
All checks were successful
continuous-integration/drone/push Build is passing
d1da4803cf
[UI] Don't propagate click events in FileBrowser.
All checks were successful
continuous-integration/drone/push Build is passing
419c227ff8
That could otherwise close the parent component when `FileBrowser` is
running in a `Modal`.
Merge branch '341/procedure-entities' into 341/procedure-entities-ui
All checks were successful
continuous-integration/drone/push Build is passing
393493550c
Merge branch 'master' into 341/procedure-entities-ui
All checks were successful
continuous-integration/drone/push Build is passing
e1547da794
blacklight added this to the ui project 2024-09-23 03:48:37 +02:00
blacklight added 1 commit 2024-09-23 03:48:52 +02:00
Merge branch 'master' into 341/procedure-entities-ui
All checks were successful
continuous-integration/drone/push Build is passing
54a4c21882
blacklight merged commit f42ed34f75 into master 2024-09-23 03:50:14 +02:00
blacklight deleted branch 341/procedure-entities-ui 2024-09-23 03:50:15 +02:00
Sign in to join this conversation.
No description provided.