186 Commits

Author SHA1 Message Date
Sybren A. Stüvel
1bb4ada72b OAPI: regenerate code 2022-05-20 12:58:57 +02:00
Sybren A. Stüvel
0a3009d6ed Web: fix race condition where job/task update comes in before table is init
Tabulator can't handle data changes before it's been initialised. If
there is a race condition and a job/task update comes in before that, just
ignore the update.

It might be better to use Vue's `nextTick()` function to defer the update
until Tabulator is ready to receive it, but doing so in a reliable way
might be tricky.
2022-05-20 12:18:40 +02:00
Sybren A. Stüvel
30a30f154b Web: always show active status filters
Fix a bug where the filter would only show available statuses and thus
make it impossible to disable a filter that's no longer available.

For example, when showing only `active` tasks, and no task is active any
more, it would remove the "filter circle" for `active` status, and thus
make it impossible to disable the filter. Now the filter will always
show all enabled statuses, even when there is no more job/task
with that status.
2022-05-20 12:17:06 +02:00
Sybren A. Stüvel
34bccd9277 Cleanup, web: rename subscribedJob to subscribedJobID
The prop contains the job ID, not the job itself, which is now reflected
in the name.

No functional changes.
2022-05-20 11:27:23 +02:00
Sybren A. Stüvel
adc8738e5b Web: log SocketIO connection status in notifications history 2022-05-20 11:22:59 +02:00
Sybren A. Stüvel
a74ad07642 OAPI: Regenerate code 2022-05-20 10:49:25 +02:00
Sybren A. Stüvel
7b664475ca Rename job status requeued to requeueing 2022-05-19 17:25:53 +02:00
Sybren A. Stüvel
ce43eead9a OAPI: regenerate code 2022-05-19 17:24:59 +02:00
Sybren A. Stüvel
507985e258 OAPI: rename job status requeued to requeueing
Rename job status `requeued` to `requeueing`, because it indicates a
process that's (if things are working well) happening currently.
2022-05-19 17:22:35 +02:00
Sybren A. Stüvel
1aed4bf729 Web: nicer styling for notification history placeholder
The `user-select: none` mirrors the 'hint text' in the columns when
there is no active job/task.
2022-05-19 16:53:47 +02:00
Sybren A. Stüvel
f4299018ef Web: expose the API interface as window.API
This makes developing/debugging things a bit easier.
2022-05-19 16:15:36 +02:00
Sybren A. Stüvel
fd0ff82352 Use new job setting visibility rules
Update the Blender add-on, web interface, and job compiler script to use
the new visibility settings of job settings.
2022-05-19 16:15:13 +02:00
Sybren A. Stüvel
1086fcbc28 OAPI: Regenerate code 2022-05-19 16:04:10 +02:00
Sybren A. Stüvel
22ce5a3e13 Web: only show tasks table if there is job data to show
Without this, the tasks table would be shown (off-screen, so you'd have
to scroll to see it) when there is an active job ID, but no data loaded
due to the backend being unavailable.
2022-05-19 15:42:57 +02:00
Sybren A. Stüvel
d5be85daad Web: show SocketIO connection status in the notifications popover as well
Move the connection status indicator to its own component, and use that
in both the notification bar and the popover.
2022-05-19 15:42:07 +02:00
Sybren A. Stüvel
3274e2c551 Web: cleanup, move objectEmpty(o) function to main.js
No functional changes.
2022-05-19 15:41:23 +02:00
Sybren A. Stüvel
6a0e4c6e56 Web: cleanup, simplify plain(x) function a bit 2022-05-19 15:40:37 +02:00
Sybren A. Stüvel
744fabea78 OAPI: rename pkg/api/flamenco-manager.yaml to flamenco-openapi.yaml
Rename `pkg/api/flamenco-manager.yaml` to `flamenco-openapi.yaml`, to
distinguish the OpenAPI definition file from the Flamenco Manager
configuration file of the same name (but in a different directory).

No functional changes.
2022-05-19 15:22:37 +02:00
Sybren A. Stüvel
0242f2d217 Web: show job updates in the notifications popover 2022-05-19 15:18:19 +02:00
Sybren A. Stüvel
cc62cab1d6 Update code to handle the JobUpdate to SocketIOJobUpdate rename
No functional changes.
2022-05-19 15:18:06 +02:00
Sybren A. Stüvel
b928896066 OAPI: regenerate code 2022-05-19 15:17:19 +02:00
Sybren A. Stüvel
6f6e73e068 Web: show placeholder when there are no notifications yet 2022-05-19 15:01:10 +02:00
Sybren A. Stüvel
916ea2015a Web: always show scrollbar in notification history
Force a visible scroll bar, so that the notification history table
always has the same available width. Without this, Tabulator won't
properly act on the reduction in width when the scrollbar appears, and
will show a horizontal scrollbar as well.
2022-05-19 15:00:37 +02:00
Sybren A. Stüvel
03a021e14f Web: don't deactivate current task when clicking on current job 2022-05-19 14:28:54 +02:00
Sybren A. Stüvel
4602ef2523 Web: show task status changes in the notifications
This of course only shows notifications about tasks of the active job,
as otherwise things would get messy.
2022-05-19 14:28:37 +02:00
Sybren A. Stüvel
12d5b2a1fc OAPI: regenerate code 2022-05-19 14:11:33 +02:00
Sybren A. Stüvel
919e629bd7 Web: expose notifs as window-global variable for debugging 2022-05-19 14:07:07 +02:00
Sybren A. Stüvel
034d75a9b8 Web: prevent error when notification popover is empty 2022-05-19 14:06:50 +02:00
Sybren A. Stüvel
d5e5e7b566 Web: fix typo in CSS rule 2022-05-19 13:07:42 +02:00
Sybren A. Stüvel
50fc1a1bbc Web: hide table header in notification popover 2022-05-19 13:00:42 +02:00
Sybren A. Stüvel
40bed3db5e Web: add notification history pop-over
Add a notification pop-over, which can be opened by clicking the footer
bar.
2022-05-19 12:57:00 +02:00
Sybren A. Stüvel
bc355d68ab Web: cleanup JobsView, reorder imports of components
Order component imports alphabetically, so it's easier to add new ones.
2022-05-19 12:56:12 +02:00
Sybren A. Stüvel
a3524a03a2 Web: remove index view and just redirect to jobs view
The index view was there to have at least *something* at `/`, but wasn't
planned out well. It'll some day be replaced by a dashboard of sorts.
2022-05-19 11:12:25 +02:00
Sybren A. Stüvel
ddc3acd652 Web: add status filtering to task table 2022-05-17 15:37:29 +02:00
Sybren A. Stüvel
56eedbaddb Web: remove unused code 2022-05-17 15:37:14 +02:00
Sybren A. Stüvel
dc7729cfed Web: cleanup, remove unused parameter 2022-05-17 15:09:47 +02:00
Sybren A. Stüvel
01a81bb3dd Web: move Task tabulator options into the mounted() function
This basically mirrors what 8f27ea97 did for the jobs table.

No functional changes.
2022-05-17 15:09:25 +02:00
Sybren A. Stüvel
84ba3ec8b2 Web: cleanup, explain why commented-out code is kept 2022-05-17 15:05:25 +02:00
Sybren A. Stüvel
908953c8d4 Web: cleanup, remove some unused code 2022-05-17 15:05:17 +02:00
Sybren A. Stüvel
42c81e9900 Web: remove some debug logging, and convert one log into warning 2022-05-17 14:52:27 +02:00
Sybren A. Stüvel
530520b1c7 Implement mass updating of tasks when JobUpdate.refresh_tasks = true
Send & handle `JobUpdate.refresh_tasks = true` when many tasks are
updated simultaneously. This applies to things like cancelling &
requeueing an entire job.

This partially rolls back 67bf77de13d99b1bc5d7344951068822c4fadd88, as
it was too slow when 1000+ tasks were being updated all at once.
2022-05-17 14:48:50 +02:00
Sybren A. Stüvel
cd8080fb44 OAPI: regenerate code 2022-05-17 14:48:25 +02:00
Sybren A. Stüvel
163611ff19 Web: add filter bar for job status 2022-05-16 18:15:51 +02:00
Sybren A. Stüvel
9fd4d55fdb Web: move status indicator code into its own function
Status indicators are used in Tabulator cells, and it's unknown whether
we can use Vue components there. Moving the code to a central place makes
it a bit easier to reuse the function in various places.
2022-05-16 17:31:30 +02:00
Sybren A. Stüvel
32737ef17b Web: cleanup, add some trailing commas and remove unused code
No functional changes.
2022-05-16 15:36:39 +02:00
Sybren A. Stüvel
8f27ea9714 Web: move Tabulator options into mounted() function
Move the Tabulator options from the `data()` function to the `mounted()`
function. This allows upcoming changes to refer to the Vue component.
2022-05-16 15:36:20 +02:00
Sybren A. Stüvel
eb0bfe820b Web: allow filtering jobs by their status
This is a very simple approach, where clicking on a job's status dot
toggles filtering by that status. There is no visual indication that this
filtering is active.

The Tabulator support for filtering from the headers is a bit buggy, see
https://github.com/olifolkerd/tabulator/issues/3745 -- I'm getting this
error even without `multiselect: true`.
2022-05-16 15:02:38 +02:00
Sybren A. Stüvel
edce178c34 Web: upgrade Tabulator 5.1.8 → 5.2.4 2022-05-16 14:34:56 +02:00
Pablo Vazquez
fd38ad2aea Web: Use row background color for Tabulator tables 2022-05-12 15:53:57 +02:00
Pablo Vazquez
ae13ff6410 Web: Remove custom styling for tasks-list-container
Style comes from Tabulator, no need to set properties again.
2022-05-12 15:53:57 +02:00