openmct/e2e/helper
Jesse Mazzella ff3a20e446
feat: configurable Plan Views for reducing vertical scroll distance (#6415)
* refactor: convert Type API to ES6 module

- Another AMD module bites the dust 🧹

* feat: add initial configurable plan type

- Name change TBD

* feat: add `clipActivityNames` property

- refactor: initialize data to `null`

* refactor: general code cleanup

* feat(WIP): name clipping via clipPath elements

* feat: compose a Gantt Chart using a Plan

- Allows Plans to be dragged into Gantt Charts (name tentative) to create a configurable Activity View

- Clip/Unclip activity names by editing domainObject property

* feat: replace Plan if another is dragged in

- SImilar to Gauges or Scatter Plots, launch a confirmation dialog to replace the existing Plan with another, if another Plan is dragged into the chart.

* test: fix tests, add basic tests for gantt

* tes(e2e): fix plan test

* docs: add TODO

* refactor: clean up more string literals

* style: remove `rx`, increase min width

- round widths to nearest integer

* refactor: extract timeline creation logic

- extracts the logic for creating the timeline into its own component, `ActivityTimeline.vue`. This will save us a lot of re-renders, as we were manually creating elements / clearing them on each tick

* style: fix text y-pos and don't round

* fix: make activities clickable again

* docs: add copyright docs

* feat: swimlane visibility

- configure plan view from inspector

fix: update plans when file changes

- fix gantt chart display in time strips

- code cleanup

* fix: gantt chart embed in time strip

* remove viewBox for now

* fix: make `clipPath` ids more unique

* refactor: more code cleanup

* refactor: more code cleanup

* test: fix existing Plan unit tests

* refactor: rename variables

* fix: respond to code review comments

- Move config manipulation to PlanViewConfiguration.js/.vue

- Variable renames, code refactoring

* fix: unique, reproducible clipPathIds

* fix: only mutate swimlaneVisibility once on init

* fix: really make clipPathId unique this time

* refactor: use default config

* Closes #6113
- Refined CSS class naming and application.
- Set cursor to pointer for Activity elements.
- Added <title> node to Activity elements.
- Styling for selected Activities.
- Better Inspector tab name.

* fix: make Plan creatability configurable and false by default

* test: fix existing tests and add a couple new ones

* Closes #6113
- Now uses SVG <symbol> instead of rect within Activity element.
- Passes in `rowHeight` as a prop from Plan.vue.
- SWIMLANE_PADDING const added and used to create margin at top and bottom
edges of swimlanes.
- Refined styling for selected activities.
- New `$colorGanttSelectedBorder` theme constant.
- Smoke tested in Espresso and Snow themes.

* fix: default swimlaneWidth to clientWidth

* test: fix test

* feat: display selected activity name as header

* fix: remove redundant listener

* refactor: move `examplePlans.js` into `test-data/`

* docs: remove copyright header

* refactor: move `helper.js` into `helper/`

* refactor: `helper.js` -> `planningUtils.js`

* fix: update pathing

* test: add tests for gantt/plan

- add visual tests for gantt / plan

- add test for clicking a single activity and verifying its contents in the inspector

---------

Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
2023-03-16 10:34:31 -07:00
..
addInitExampleFaultProvider.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00
addInitExampleFaultProviderStatic.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00
addInitExampleUser.js 6098 operator status indicator v11 improvements (#6112) 2023-01-19 18:56:46 -08:00
addInitFaultManagementPlugin.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00
addInitFileInputObject.js Allow form file input to accept other MIME types (#6089) 2023-01-17 14:25:18 -06:00
addInitNotebookWithUrls.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00
addInitOperatorStatus.js 6098 operator status indicator v11 improvements (#6112) 2023-01-19 18:56:46 -08:00
addInitRestrictedNotebook.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00
addNoneditableObject.js [e2e] Refactor and document our extension of existing Playwright API and RFE features (#5537) 2022-07-27 14:31:18 -07:00
faultUtils.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00
notebookUtils.js Fix Notebook enter key 6354 (#6365) 2023-03-10 11:00:01 -08:00
planningUtils.js feat: configurable Plan Views for reducing vertical scroll distance (#6415) 2023-03-16 10:34:31 -07:00
useSnowTheme.js Update copyright date (#6395) 2023-03-06 21:58:18 +04:00