IO tracks long-running imports, exports, and tasks and renders them inside the Enso navbar.
Install the package:
yarn add @enso-ui/ioThe package is also available through the full enso-ui workspace bundle.
- 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
import IO from '@enso-ui/io/src/bulma/components/navbar/IO.vue';
import registerIO from '@enso-ui/io/src/bulma/register.js';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
@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.
Core props:
cancellable: boolean = falseoperation: object
Emits:
cancel
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.
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!