Sybren A. Stüvel
315c7cfde7
Web: fix layout of jobs table
...
This ensures it uses virtual DOM, which is waaaaaaay faster.
CSS variables are used to compute the max height for the Jobs Table grid
cell, to make sure the Tabulator height can be set to 100% without
overflowing.
2022-04-14 09:54:57 +02:00
Sybren A. Stüvel
93b065217e
Web: always fetch fresh job on selection in the tabulator
2022-04-14 09:41:04 +02:00
Sybren A. Stüvel
c6bc614f2a
Web: add commented-out debug code
...
The code ensures the jobs table gets filled with partial jobs (as from
a WebSocket JobUpdate object), helping to test such updates.
2022-04-14 09:41:04 +02:00
Sybren A. Stüvel
81ad3575db
Web: only fetch selected job if not yet fully known
2022-04-14 09:41:04 +02:00
Sybren A. Stüvel
e672289a11
OAPI: include all info for the jobs table in the JobUpdate
schema
...
By having all info for the jobs table in the `JobUpdate` schema, it won't
have to query for the full job when a new job is added. This fetching of
the full job is now delayed until someone clicks on the table row.
2022-04-14 09:41:04 +02:00
Sybren A. Stüvel
3ab1e9a450
Web: add API query spinner
...
The spinner starts fading in when API calls take longer than 100ms.
Not used yet, how to hook it up to API calls is still being discovered.
2022-04-14 09:41:04 +02:00
Sybren A. Stüvel
d5477091d9
Web: Remove Vue-generated default README.md
2022-04-14 09:41:04 +02:00
Francesco Siddi
313061cf06
Web: Initial design with dark theme in mind
2022-04-12 20:03:52 +02:00
Sybren A. Stüvel
6161853136
Web: reduce console logs a bit
2022-04-12 16:11:52 +02:00
Sybren A. Stüvel
77cc0f36e6
Web: remove API example code, enough examples in the code now
2022-04-12 16:10:51 +02:00
Sybren A. Stüvel
2c8ee18fef
Web: include metadata and settings in job details
2022-04-12 16:10:39 +02:00
Sybren A. Stüvel
0694ab8e02
Web: nicer handling of SocketIO connection issues
2022-04-12 16:00:47 +02:00
Sybren A. Stüvel
ec814afa91
Web: show Flamenco name & version in header
2022-04-12 15:54:58 +02:00
Sybren A. Stüvel
caa3481561
Web: emit jobUpdate event with API object instead of straight JSON
...
Instead of just emitting the straight parsed-JSON object that the SocketIO
library gives us, feed it to the OpenAPI client type system to ensure it's
parsed in the same way as any regular API response.
This is mostly to get datetimes as JS `Date` object instead of as string.
2022-04-12 15:43:50 +02:00
Sybren A. Stüvel
48acf55d6b
Web: document cohesion of JobsTable and JobDetails components
2022-04-12 15:42:37 +02:00
Sybren A. Stüvel
316ba6953b
Web: show job details column
...
This may be a nice moment to reconsider using Pinia as a data store, as
we now have two views (job table + job details) that should share a data
set.
2022-04-12 15:28:18 +02:00
Sybren A. Stüvel
d650ff5dcf
Web: add empty job & task detail column components
2022-04-12 14:37:48 +02:00
Sybren A. Stüvel
a92435459e
Web: tweak job table layout
2022-04-12 14:26:07 +02:00
Sybren A. Stüvel
69e6b2bd99
Web: Flamenco favicon
2022-04-12 12:54:27 +02:00
Sybren A. Stüvel
555c935790
Web: Replace Vue 2 with Vue 3 webapp
...
Replace the Vue v2 webapp with a Vue v3 one, and embed the OpenAPI
client in the webapp itself (instead of being its own npm project).
- Vue v2.x -> v3.x
- Tabulator v4.x -> v5.1
- Moment JS -> replaced with Luxon JS
- Vue CLI/UI -> replaced with Vite
2022-04-12 12:34:49 +02:00
Sybren A. Stüvel
f155715d12
Web: re-fetch jobs after reconnecting to backend
...
If the backend connection was lost, and then obtained again, just fetch
all available jobs to ensure the presented data is fresh.
2022-04-08 15:03:04 +02:00
Sybren A. Stüvel
96e5e84881
Web: proper updating & sorting of jobs in Tabulator
2022-04-08 13:08:53 +02:00
Sybren A. Stüvel
9ec39b0b41
Web: import moment.js in a way Tabulator can find
2022-04-08 12:05:14 +02:00
Sybren A. Stüvel
863ecee954
OAPI: regenerate OpenAPI code
2022-04-08 12:04:34 +02:00
Sybren A. Stüvel
3078d22836
Web: format job update timestamp with moment.js
2022-04-07 18:53:16 +02:00
Sybren A. Stüvel
df3f7b44b9
Hook up web interface to job updates
2022-04-07 18:46:09 +02:00
Sybren A. Stüvel
888d93147e
Web: add Tabulator vue component
2022-04-07 17:38:48 +02:00
Sybren A. Stüvel
528dec9c50
Web: allow setting title of webapp
...
Moving `static/*` to `public/*` actually made Vue pick up our `index.html`,
and allow us to set the app title.
2022-04-07 16:14:29 +02:00
Sybren A. Stüvel
0a9f0c43f6
Web: send messages & job updates to the chat window
2022-04-05 17:42:45 +02:00
Sybren A. Stüvel
dcb9eb0bca
Regenerate OpenAPI code to get clean version number
2022-04-05 17:29:25 +02:00
Sybren A. Stüvel
0c0df41f5d
Job status change system for SocketIO broadcasts
...
Not fully tested yet.
2022-04-05 15:52:55 +02:00
Sybren A. Stüvel
5e5fa57fa4
OAPI: tweak the JS generator to do more what we want
2022-04-04 19:33:46 +02:00
Sybren A. Stüvel
2b1e6c54a8
OAPI: generate Python and JS clients for jobs query endpoint
2022-04-04 18:54:31 +02:00
Sybren A. Stüvel
a35a767ddb
Remove web/manager-api/package-lock.json
...
Apparently it's not generated any more.
2022-04-04 18:53:59 +02:00
Sybren A. Stüvel
96cd064533
JS: failed attempt at connecting to a dynamic endpoint URL
...
It works for the API calls, but fails to forward the URL to the Vue app
instance.
2022-04-01 16:54:47 +02:00
Sybren A. Stüvel
e990603311
OAPI: Add generated JavaScript API client
...
This adds a JS client for the OAPI interface, and introduces the SocketIO
stuff into Flamenco Manager itself.
To build & run:
- in `web/manager-api` run `npm install`
- in `web/manager-api` run `npm link`
- in `web/app` run `npm install`
- in `web/app` run `npm link flamenco-manager`
- in `web/app` run `yarn serve`
This may not be a complete list, but at least some of those steps are
necessary.
2022-04-01 16:40:54 +02:00
Sybren A. Stüvel
96023932da
SocketIO based chat client as PoC for backend/frontend communication
...
The chat client itself is just a throwaway project. The SocketIO system
will be used to send realtime updates about jobs, tasks, and workers to
the web frontend.
2022-02-11 14:47:26 +01:00