223 Commits

Author SHA1 Message Date
Pablo Vazquez
66ad722519 JobDetails: Add back ID
It was removed by mistake when the tabbed UI was introduced.
2022-07-05 19:59:07 +02:00
Pablo Vazquez
8a4bcc3bf9 TaskDetails: Move definition list items to match JobDetails
* Move activity to the bottom
* Move Failed by Workers higher as it is critical information
2022-07-05 19:59:07 +02:00
Pablo Vazquez
2e8dadc479 UI: Increase height of footer pop-over 2022-07-05 19:59:07 +02:00
Pablo Vazquez
337948d02a UI: Style ConnectionStatus indicator 2022-07-05 19:59:07 +02:00
Pablo Vazquez
8c71563a4e UI: Initial styling on footer popup 2022-07-05 19:59:07 +02:00
Sybren A. Stüvel
00af8ec72a Web: fix bad this reference in the TabWrapper component 2022-07-05 19:01:18 +02:00
Francesco Siddi
df79864847 JobDetail: Emit reshuffled event on tab clicks
This way the tasks table properly resizes, accommodating for the
content changes of the tab group above it.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
d5275f51e1 UI: Use accent color for active tab items 2022-07-05 18:31:13 +02:00
Pablo Vazquez
d87e0aa019 Last-rendered: Remove outline when nothing has been rendered yet
Dotted/dashed lines are usually used for drop-boxes.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
a072aaaa8b JobDetail: Rename tabs titles
To set the context in the first tab title.

* Settings -> Job Settings
* Job Details -> Details
2022-07-05 18:31:13 +02:00
Pablo Vazquez
ccd12ea7b0 JobDetails: Remove column title
It's already clear we are viewing a job by the surrounding elements.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
30b734712c UI: Style tabs component 2022-07-05 18:31:13 +02:00
Francesco Siddi
c3d0e71439 Use tabs to organize Job details
WIP
2022-07-05 18:31:13 +02:00
Francesco Siddi
f6b593f660 Add Tab components
With these components it is possible organize content through tabs.

Use the following:

<TabsWrapper>
  <TabItem title="Tab 1">Tab 1 content</TabItem>
  <TabItem title="Tab 2">Tab 2 content</TabItem>
</TabsWrapper>

Inspired by work from matheus-alpe.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
9649ed18ea StatusFilterBar: Style tweaks to indicators
* Only dim indicators when list is filtered and status not active
* Slightly smaller size to better fit the action-bar
2022-07-05 18:31:13 +02:00
Pablo Vazquez
964e9cb1a3 Tables: Align status-filter-bars with action-bars
Saves some space and they are related actions anyway.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
a5e5dbd1eb WorkersTable: Add function to recalculate table height
Copy-paste of TasksTable `recalcTableHeight`.

Even though the function does not work well 100%, it's better than not
having the table resize.

When the issue gets fixed, it should be copied over to TasksTable and JobsTable.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
69a6279f24 JobsTable: Add function to recalculate table height
Copy-paste of TasksTable `recalcTableHeight`.

Even though the function does not work well 100%, it's better than not
having the table resize.

When the issue gets fixed, it should be copied over to TasksTable and WorkersTable.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
ba0116c589 Cleanup: Remove unused class from TasksTable
There is no styling for that class so remove it to avoid confusion.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
c082f4389b Jobs: add titles to definition list labels
That way if the label does not fit in the view, you can mouse over to
read the full label.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
5fd0292dc1 Tasks: add titles to definition list labels
That way if the label does not fit in the view, you can mouse over to
read the full label.
2022-07-05 18:31:13 +02:00
Pablo Vazquez
60afcc4206 Tasks Table: Add title to section 2022-07-05 18:31:13 +02:00
Sybren A. Stüvel
feaf9545a6 Revert "Move the webapp from /app/… to /app/v3/…"
This reverts commit fcb261f5d336c4362339e6da5b35a340ec5aa6e1. The
`/app/v3` URL didn't look nice enough.
2022-07-05 11:51:05 +02:00
Sybren A. Stüvel
2c932ebad5 Show Worker's "last seen" timestamp in web interface & API responses 2022-07-04 12:49:56 +02:00
Sybren A. Stüvel
fcb261f5d3 Move the webapp from /app/… to /app/v3/…
This will help in the future to host multiple (major) versions of Flamenco
on the same system, redirecting based on their URL prefix.
2022-07-04 12:22:41 +02:00
Sybren A. Stüvel
ae0125edcd Web: fix URL of 'nothing rendered yet' image 2022-07-01 13:32:43 +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
f5f63455d6 Web: add comment to explain URL of last-rendered image
No functional changes.
2022-06-30 19:27:54 +02:00
Sybren A. Stüvel
0a0035eb5b Web: better styling of last-rendered image 2022-06-30 19:27:43 +02:00
Sybren A. Stüvel
2457a63518 Manager: Show "nothing rendered yet" image in job details
Show a "nothing rendered yet" image in the job details when there is no
last-rendered image yet.
2022-06-30 19:20:19 +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
b082433757 Web: show last-rendered image in job details
It doesn't update automatically yet (still needs SocketIO notifications),
and there is no check yet for whether there is actually any last-rendered
image at all, but at least there is a component that shows the image.
2022-06-28 17:37:09 +02:00
Sybren A. Stüvel
6d9e5d5299 Web: fix JavaScript issue that only pops up in production
Fix an issue ("`this` is undefined) that only pops up when serving the
static files from `yarn build`, and not when using the Vite devserver.
2022-06-28 10:47:16 +02:00
Sybren A. Stüvel
e0b9866fd4 Web: resize columns after their data was updated
When data is updated, resize columns in the job/task/worker tables. For
example, status change requests of Workers require more space, for example
going from `awake` to `awake → offline`.
2022-06-20 11:44:08 +02:00
Sybren A. Stüvel
64c8fa851d Show assigned worker in task details
Show the worker assigned to the task in the task details view, as link
to the worker itself.
2022-06-17 16:36:55 +02:00
Sybren A. Stüvel
857704c184 Web: worker nickname → name
See 55676b000efbd04cd895da9068f375dfad473ff4
2022-06-17 15:55:36 +02:00
Sybren A. Stüvel
81f81d0e0a Show task failure list in the web frontend
Show the task failure list in the web frontend's `TaskDetails` component.
2022-06-17 11:37:56 +02:00
Sybren A. Stüvel
92d6693871 Show Task's "last touched" in the web interface 2022-06-09 11:59:43 +02:00
Sybren A. Stüvel
7c43b9e1bc Web: include status by name in job & task tables
Having only the status dot was hard to read. It requires you to learn &
remember the different colours, or to mouse-over and wait to see the
tooltip. For accessibility, we shouldn't be using just the colour to
convey information in the interface.
2022-06-09 11:01:03 +02:00
Sybren A. Stüvel
b41feee313 Web: reduce workers table height
The 720px was almost filling up the entire height, making it hard to add
anything new at the top. Soon it should be auto-resizing anyway, making
this less relevant.
2022-06-03 13:02:23 +02:00
Sybren A. Stüvel
375a6666c2 Web: move Worker status change requests to drop-down
This basically copies the drop-down approach from Flamenco Manager 2.
2022-06-03 13:01:47 +02:00
Sybren A. Stüvel
3818d4df83 Web: add simple worker action bar
UI/UX needs improvements, but there now are some buttons to manage Workers.
They request forced status changes, so nothing lazy yet. Still have to
consider how to include that in the UI. Could probably follow the
Flamenco 2 Manager design.
2022-06-02 18:42:34 +02:00
Sybren A. Stüvel
72fd1ac761 Web: simplify log tail fetching a bit 2022-06-02 18:29:16 +02:00
Sybren A. Stüvel
326e54e45a Web: fix job & task subscriptions
Making the UUID optional (rF221ed17fa27193086ec5c9201d48f7cd826e75a4) made
the generated JavaScript code ignore the 3rd parameter. Apparently the
constructor parameters are only for the mandatory properties, and the
rest has to be set on a per-property basis.
2022-06-02 18:29:03 +02:00
Sybren A. Stüvel
ce2e11c35c Web: handle corner case where worker is deselected 2022-06-02 16:45:37 +02:00
Sybren A. Stüvel
3ce225b6e1 Web: remove debug console log 2022-06-02 12:33:38 +02:00
Sybren A. Stüvel
bc33f55b3c Web: update for extraction of status change requests to struct
See recent OpenAPI change.
2022-06-02 12:33:32 +02:00
Sybren A. Stüvel
3e1137ca65 Web: fix status_requested not disappearing from Tabulator 2022-05-31 17:28:40 +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
68cd14db2d Fix: add missing <span> around state transition arrow 2022-05-31 15:51:31 +02:00