69 Commits

Author SHA1 Message Date
Pablo Vazquez
e11c73c798 Setup Assistant: Cleanup rename CSS variable
From --wiz-progress- to --setup-progres-
2022-07-22 14:57:12 +02:00
Pablo Vazquez
2a12e2d693 Setup Assistant: Simplify logic to calculate progress-bar width
Thanks Francesco for the help.
2022-07-22 14:57:12 +02:00
Pablo Vazquez
87932ae674 Setup Assistant: increase font-size
To help readability.
2022-07-22 14:57:12 +02:00
Pablo Vazquez
e023ea281b Setup Assistant: Do not show empty <p> element when input is valid 2022-07-22 14:57:12 +02:00
Pablo Vazquez
637cd81f82 Cleanup: Use general purpose variables instead of task statuses 2022-07-22 14:57:12 +02:00
Pablo Vazquez
7510f75ad4 Setup Assistant: Remove icons from check messages
Looks inconsistent across platforms, the text and color should be enough.
2022-07-22 14:57:12 +02:00
Pablo Vazquez
5709d4b1ed Setup Assistant: Style invalid input type text
Also remove unused 'path-input' class.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
ab75d64609 Cleanup: Rename class
* Rename `.is-first-time-wizard` to `.is-setup-assistant`
2022-07-22 14:57:11 +02:00
Pablo Vazquez
976ed43de5 Cleanup: Move label styling to base.css 2022-07-22 14:57:11 +02:00
Pablo Vazquez
3c3ee45eb3 Cleanup CSS: re-order classes 2022-07-22 14:57:11 +02:00
Pablo Vazquez
61513e3c35 Cleanup: Indentation and spacing 2022-07-22 14:57:11 +02:00
Pablo Vazquez
eff5b21ecd Setup Assistant: Color progress bar
Progress bar element that resizes width depending on the current progress.

Introduces the `totalSetupSteps` property to be able to calculate its width
without using magic numbers.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
038eb678e8 Setup Assistant: Use larger buttons for back/next 2022-07-22 14:57:11 +02:00
Francesco Siddi
78af4fae61 Setup Screen: Address feedback on UX 2022-07-22 14:57:11 +02:00
Pablo Vazquez
b74c8558cf UI: Style text inputs 2022-07-22 14:57:11 +02:00
Francesco Siddi
08f52993ad Setup Screen: Overall UI/UX tweaks
- Added initial description and illustration
- Swap "Check" button for fields with a debounced @input event
- Turn Blender's list into a radio selector
- Tweak wording when paths are not found
- Add microtip library for tooltips
- Make navigation steps clickable, according to the state
2022-07-22 14:57:11 +02:00
Pablo Vazquez
9d7fe1e479 Setup Screen: align btn-bar to the right when only containing one button 2022-07-22 14:57:11 +02:00
Pablo Vazquez
35abc3e02c Setup Screen: Style in-progress text
* Rename: "... finding Blenders ..." to "Looking for Blender installs..."
* Rename: "... checking ..." to "Checking..."
2022-07-22 14:57:11 +02:00
Francesco Siddi
8b02085c5b Setup Screen: Use StepsWrapper
Similar to TabsWrapper, with Previous/Next navigation capabilities.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
a075a36911 Setup Screen: Expose all sections
For now, until proper next/back is introduced.
2022-07-22 14:57:11 +02:00
Pablo Vazquez
db39ca0d21 Setup Screen: Initial styling and layout adjustments 2022-07-22 14:57:11 +02:00
Sybren A. Stüvel
a97913bebb Web: add "Follow Task Log" button
The "Follow Task Log" button should make it easier to discover the task
log viewer in the footer pop-over.
2022-07-16 13:22:11 +02:00
Sybren A. Stüvel
9cebcc9f7c Fix T99391: get rid of the last occasional scrollbar in the middle column
My way to get things working (I wouldn't call this a "solution" as I don't
know the root cause) was to emit two consecutive "reshuffled" events when
changing tabs in the job details, and to recalculate the table height when
the job type (so not the job itself, but its type info) is loaded.
2022-07-16 10:51:43 +02:00
Sybren A. Stüvel
73f98f93a0 First-Time Wizard: reload the webpage after a succesful save
After saving the configuration, show a message & restart the webapp.

The restarting is done after 2 seconds, to give the Manager some time to
restart after receiving the new config.
2022-07-14 18:01:57 +02:00
Sybren A. Stüvel
10f56148d4 Allow saving configuration from the first-time wizard
This just updates the config and saves it to `flamenco-manager.yaml`.

Saving the configuration doesn't restart the Manager yet, that's for
another commit.
2022-07-14 17:27:17 +02:00
Sybren A. Stüvel
f68c4860f4 First-time wizard: tweak some wording 2022-07-14 13:34:02 +02:00
Sybren A. Stüvel
aec5ee49e0 First-Time Wizard: allow selecting Blender executables
The wizard now finds Blender in various ways, and lets the user select
which one to use.

Doesn't save anything yet, though.
2022-07-14 12:22:56 +02:00
Sybren A. Stüvel
20f13257f7 Move "blender finder" from Worker-specific to common location
Manager's first-time wizard will have to be able to find Blender as well.
2022-07-14 11:17:03 +02:00
Sybren A. Stüvel
aa9837b5f0 First incarnation of the first-time wizard
This adds a `-wizard` CLI option to the Manager, which opens a webbrowser
and shows the First-Time Wizard to aid in configuration of Flamenco.

This is work in progress. The wizard is just one page, and doesn't save
anything yet to the configuration.
2022-07-14 11:17:03 +02:00
Pablo Vazquez
204d9d1156 Footer: Add arrow icon to indicate that can be expanded 2022-07-07 17:49:23 +02:00
Pablo Vazquez
b8c49acf71 Cleanup: Rename window-footer to app-footer
Follow the naming used in other places like app-version or #app.
2022-07-07 17:49:23 +02:00
Pablo Vazquez
f8c49981f6 WorkersView: Add missing class to footer 2022-07-07 16:00:04 +02:00
Sybren A. Stüvel
beb8684a38 Web: fix styling of last-rendered image in job details
Instead of putting the styling in `<style scoped>`, I moved it to the
global `base.css`. This made things work again.
2022-07-01 13:10:51 +02:00
Sybren A. Stüvel
d25151184d Add a "Last Rendered" view
Add a "Last Rendered" view to the webapp.

The Manager now stores (in the database) which job was the last
recipient of a rendered image, and serves that to the appropriate
OpenAPI endpoint.

A new SocketIO subscription + accompanying room makes it possible for
the web interface to receive all rendered images (if they survive the
queue, which discards images when it gets too full).
2022-07-01 12:34:40 +02:00
Sybren A. Stüvel
84d598c813 Web: reload the last-rendered image on SocketIO notification 2022-06-30 18:37:12 +02:00
Sybren A. Stüvel
37d8fbdf5e Web: remove 'settings' view
It's not in use, and better to not have it at all then.
2022-06-28 12:32:09 +02:00
Sybren A. Stüvel
f97f0a34c3 Manager: implement worker status change requests
Implement the OpenAPI `RequestWorkerStatusChange` operation, and handle
these changes in the web interface.
2022-05-31 17:22:03 +02:00
Sybren A. Stüvel
e18dab5c82 Web: make the worker list narrower, occupying only a single column 2022-05-31 15:48:00 +02:00
Sybren A. Stüvel
2e11c1c240 Manager: Implement SocketIO worker updates 2022-05-31 15:19:12 +02:00
Sybren A. Stüvel
2b89399206 Manager: handle allJobs subscription
SocketIO clients no longer automatically subscribe to the jobs updates.
This is now done explicitly via the `allJobs` subscription type, and
unsubscribing is also possible.
2022-05-31 15:00:37 +02:00
Sybren A. Stüvel
7bcfde22b5 Web: add worker details component 2022-05-31 11:34:24 +02:00
Sybren A. Stüvel
e492a31abb Web: cleanup, move job/task-related components into jobs subdir
Move job and task components into `components/jobs`.

No functional changes.
2022-05-30 19:18:01 +02:00
Sybren A. Stüvel
88346d8244 Web: first implementation of Workers overview
Show workers with their status, and allow clicking on a worker to activate
it and show its details (which currently is limited to just its ID). Does
include Vue Router handling of the active worker ID and CSS classes for
worker statuses.

This basically copies the `JobsTable` component to `workers/WorkersTable`.
The intention is that all the jobs-specific components will move into a
`jobs` subdirectory at some point.
2022-05-30 18:52:02 +02:00
Pablo Vazquez
74f875957f Web: Move overflow and position properties to affect all columns 2022-05-30 15:44:38 +02:00
Sybren A. Stüvel
81aec77059 Resize the Tasks table when necessary
The `JobDetails` component now emits a `reshuffled` event whenever its
contents have changed, so that other components can respond to any changes
in available space. This event now triggers a resize of the tasks table
on the next DOM tick (so that the new sizes of the HTML elements are
available).

The `TasksTable` component also recomputes the table size when the task
status filters change (because that might have triggered a show/hide of
the filter bar). It also computes the available height slightly differently
so that it's all done relative to the tabulator element.

There is just one TODO left, which is a hard-coded offset of 12 that
should be obtained dynamically from somewhere -- no idea where it comes
from or why it's necessary.
2022-05-30 15:08:34 +02:00
Pablo Vazquez
1310e5c9e2 Web: Set height for Tasks List on load and window resize
Calculate the Tasks List height by subtracting its offsetTop from
the Jobs Details column height.

Known issues:
There is a glitch in which the height can be sometimes longer or shorter
than expected, due to asynchronous loading of other components in Job Details
(such as Job Settings or table filters).
2022-05-25 17:14:21 +02:00
Sybren A. Stüvel
72487e3fb4 Web: only load task log tail when task log viewer is visible
The code to fetch the task log tail is moved from `JobsView.vue` to
`TaskLog.vue`, as that knows exactly when it's shown & hidden.

The subscriptions to the task log updates will have to be managed in the
same way; that's for another commit.
2022-05-24 16:04:03 +02:00
Sybren A. Stüvel
ae0f4a7ca4 Show task log tail in the web interface 2022-05-20 16:49:51 +02:00
Sybren A. Stüvel
4562e98df5 Web: store footer popover state in local storage
Keep the footer popover state in the local storage, restoring it on load:
- Visibility of the popover
- Current tab of the popover
2022-05-20 14:43:30 +02:00
Sybren A. Stüvel
7cdcaf443c Web: cleanup, remove unused imports 2022-05-20 13:41:39 +02:00