Projects
Description
Projects provides the Enso UI pages for generic project and flow orchestration.
The package exposes the root project workflow and the administration screens for reusable project phases, phase colors, statuses, and flows. Flow graph internals are managed contextually by the flow UI and are not exposed as standalone menu resources.
Installation
Install the package:
yarn add @enso-ui/projects
In local Enso development this package is commonly consumed from the workspace:
{
"@enso-ui/projects": "file:../../enso-ui/projects"
}
Features
- registers the
/projectsroute group for project list, create, and edit pages - registers the
/administration/projectsroute group for project administration - ships Enso table/form pages for projects, phase colors, phases, statuses, and flows
- provides a contextual flow configurator for phases, statuses, transitions, and preview
- keeps flow phases, flow phase statuses, and transitions out of standalone menu pages
- exports package menu icons through
src/icons.js - pairs with the backend
laravel-enso/projectspackage for forms, tables, permissions, and menus
Usage
import projectsRoutes from '@enso-ui/projects/src/bulma/routes/projects.js';
import administrationRoutes from '@enso-ui/projects/src/bulma/routes/administration.js';
import icons from '@enso-ui/projects/src/icons.js';
API
Route modules
Common imports:
src/bulma/routes/projects.jssrc/bulma/routes/administration.jssrc/bulma/routes/administration/projects.jssrc/bulma/routes/administration/projects/phaseColors.jssrc/bulma/routes/administration/projects/phases.jssrc/bulma/routes/administration/projects/statuses.jssrc/bulma/routes/administration/projects/flows.js
Page modules
Project pages:
src/bulma/pages/projects/Index.vuesrc/bulma/pages/projects/Create.vuesrc/bulma/pages/projects/Edit.vue
Administration pages:
src/bulma/pages/administration/projects/phaseColors/Index.vuesrc/bulma/pages/administration/projects/phaseColors/Create.vuesrc/bulma/pages/administration/projects/phaseColors/Edit.vuesrc/bulma/pages/administration/projects/phases/Index.vuesrc/bulma/pages/administration/projects/phases/Create.vuesrc/bulma/pages/administration/projects/phases/Edit.vuesrc/bulma/pages/administration/projects/statuses/Index.vuesrc/bulma/pages/administration/projects/statuses/Create.vuesrc/bulma/pages/administration/projects/statuses/Edit.vuesrc/bulma/pages/administration/projects/flows/Index.vuesrc/bulma/pages/administration/projects/flows/Create.vuesrc/bulma/pages/administration/projects/flows/Edit.vuesrc/bulma/pages/administration/projects/flows/Configure.vue
Icons
src/icons.js
The package must export every icon referenced by backend menu structure.
Routes
Projects ships the following named route entries:
projects.indexPath fragment:/projectsprojects.createPath fragment:/projects/createprojects.editPath fragment:/projects/:project/editadministration.projects.phaseColors.indexPath fragment:/administration/projects/phase-colorsadministration.projects.phaseColors.createPath fragment:/administration/projects/phase-colors/createadministration.projects.phaseColors.editPath fragment:/administration/projects/phase-colors/:phaseColor/editadministration.projects.phases.indexPath fragment:/administration/projects/phasesadministration.projects.phases.createPath fragment:/administration/projects/phases/createadministration.projects.phases.editPath fragment:/administration/projects/phases/:phase/editadministration.projects.statuses.indexPath fragment:/administration/projects/statusesadministration.projects.statuses.createPath fragment:/administration/projects/statuses/createadministration.projects.statuses.editPath fragment:/administration/projects/statuses/:status/editadministration.projects.flows.indexPath fragment:/administration/projects/flowsadministration.projects.flows.createPath fragment:/administration/projects/flows/createadministration.projects.flows.editPath fragment:/administration/projects/flows/:flow/editadministration.projects.flows.configurePath fragment:/administration/projects/flows/:flow/configure
Companion Backend Package
Depends On
Development
Run package validation from a consuming Enso application:
cd client
yarn build
The package should not commit dist/, node_modules/, or a package-level yarn.lock.
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!
License
MIT.