IO
Description
IO tracks long-running imports, exports, and tasks and renders them inside the Enso navbar.
Installation
Install the package:
yarn add @enso-ui/io
The package is also available through the full enso-ui workspace bundle.
Features
- exports a renderless core navbar controller and Bulma navbar presentation components
- groups import, export, and task operations into a single reactive navbar entry
- subscribes to websocket channels and keeps operation state synchronized in real time
- supports cancellation, progress display, elapsed and remaining time, and owner avatars
Usage
import IO from '@enso-ui/io/src/bulma/components/navbar/IO.vue';
import registerIO from '@enso-ui/io/src/bulma/register.js';
API
Bulma components
Common imports:
@enso-ui/io/src/bulma/components/navbar/IO.vue@enso-ui/io/src/bulma/components/navbar/io/Import.vue@enso-ui/io/src/bulma/components/navbar/io/Export.vue@enso-ui/io/src/bulma/components/navbar/io/Task.vue@enso-ui/io/src/bulma/components/navbar/io/Operation.vue@enso-ui/io/src/bulma/register.js
Core controller
@enso-ui/io/src/core/components/navbar/IO.vueis renderless and exposes the default slot payload{ count, events, exports, imports, tasks }.- It owns websocket subscription, bag management, cancellation, and type normalization.
Operation
Core props:
cancellable: boolean = falseoperation: object
Emits:
cancel
Presentation components
Importrenders file, sheet, success, and failure counters.Exportrenders export totals and processed entries.Taskrenders step counters for queued task-style operations.register.jsregisters the Bulma navbar widget on the host app.
Companion Backend Package
Depends On
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!