Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Expanded view for Time List #7378

Merged
merged 79 commits into from
Jan 31, 2024
Merged
Show file tree
Hide file tree
Changes from 63 commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
7003f00
Add activity states domain object and interceptor to auto create one
shefalijoshi Jan 10, 2024
92a30a3
Add activity state inspector option
shefalijoshi Jan 10, 2024
4d4f83e
Only save status if we have a unique ids for activities
shefalijoshi Jan 10, 2024
02edb99
Include the id in the activity properties
shefalijoshi Jan 10, 2024
e47bfed
Don't show activity state section in the inspector if multiple activi…
shefalijoshi Jan 10, 2024
3c14025
Display activity properties when an activity row is selected in the t…
shefalijoshi Jan 10, 2024
2e41753
Add compact view for timelist
shefalijoshi Jan 17, 2024
c6a6a18
Add inspector configuration for compact view
shefalijoshi Jan 18, 2024
a0ccc4e
Set colors based on time relation of activity
shefalijoshi Jan 18, 2024
65a7e7e
Use activity id as key if it is available
shefalijoshi Jan 18, 2024
176d344
Ensure the correct option is selected for activity states
shefalijoshi Jan 18, 2024
9ff31d5
Closes #7377
charlesh88 Jan 19, 2024
ad07174
Closes #7377
charlesh88 Jan 19, 2024
02c796a
Add status label
shefalijoshi Jan 19, 2024
44f4ac2
Rename to Expanded view and isExpanded as properties. Add display sty…
shefalijoshi Jan 19, 2024
b0a21d4
Refactor activity selection. Display activity properties
shefalijoshi Jan 19, 2024
3655ba9
Closes #7377
charlesh88 Jan 19, 2024
3365039
Merge remote-tracking branch 'origin/timelist-compact-view' into time…
charlesh88 Jan 19, 2024
5cbd0fd
Closes #7377
charlesh88 Jan 19, 2024
dc1def5
Remove activity states plugin. Move the activity states interceptor t…
shefalijoshi Jan 19, 2024
b413a9b
Change activity states interceptor parameters to options
shefalijoshi Jan 19, 2024
bbf5454
Rename constants
shefalijoshi Jan 19, 2024
6def4c2
Fix activity states test
shefalijoshi Jan 19, 2024
9b85252
Merge branch 'master' of https://github.com/nasa/openmct into activit…
shefalijoshi Jan 19, 2024
51e20ea
Addresses review comments making code more readable.
shefalijoshi Jan 19, 2024
95d7488
Closes #7377
charlesh88 Jan 22, 2024
585b60d
Closes #7377
charlesh88 Jan 22, 2024
15acbc9
Remove ExpandedView component and pull the ExpandedViewItem up to the…
shefalijoshi Jan 23, 2024
dcad88c
Merge branch 'master' into timelist-compact-view
shefalijoshi Jan 23, 2024
e209b00
Fix sorting for compact view.
shefalijoshi Jan 23, 2024
3bd09fc
Merge branch 'timelist-compact-view' of https://github.com/nasa/openm…
shefalijoshi Jan 23, 2024
5908f96
Merge branch 'master' into activity-state-display
shefalijoshi Jan 23, 2024
34c1f20
Closes #7377
charlesh88 Jan 23, 2024
e6fb968
Merge remote-tracking branch 'origin/timelist-compact-view' into time…
charlesh88 Jan 23, 2024
6682d00
Closes #7377
charlesh88 Jan 23, 2024
78f2852
Add e2e test for activity states feature.
shefalijoshi Jan 23, 2024
5c6a733
Address review comments. Rename variables, documentation.
shefalijoshi Jan 23, 2024
42ed592
No shallow copy
shefalijoshi Jan 23, 2024
7931d4b
Merge branch 'master' of https://github.com/nasa/openmct into timelis…
shefalijoshi Jan 24, 2024
b5a73d3
Merge branch 'activity-state-display' of https://github.com/nasa/open…
shefalijoshi Jan 24, 2024
6ac08b0
Merge updates to activity-state
shefalijoshi Jan 25, 2024
8798aa1
Merge branch 'master' of https://github.com/nasa/openmct into timelis…
shefalijoshi Jan 25, 2024
6ae216d
Sync with activity states PR
shefalijoshi Jan 25, 2024
c51f828
Draft of progress-pie
shefalijoshi Jan 25, 2024
3e0342a
- Add `s-selected` styling for Expanded Time List elements.
charlesh88 Jan 25, 2024
21f6279
Add 2 new date formats
shefalijoshi Jan 26, 2024
6116662
Look and feel enhancements for pie, zero duration events and start an…
shefalijoshi Jan 26, 2024
e74be9b
Fix pie show/hide condition
shefalijoshi Jan 26, 2024
9ceb8a6
Merge branch 'timelist-compact-view' of github.com:nasa/openmct into …
charlesh88 Jan 26, 2024
9f7d931
Final touches to the pie and labels
shefalijoshi Jan 26, 2024
eb80bcb
Merge branch 'timelist-compact-view' of github.com:nasa/openmct into …
charlesh88 Jan 26, 2024
a0aa1c9
Refactor label logic
shefalijoshi Jan 26, 2024
d9a50b4
Merge branch 'timelist-compact-view' of github.com:nasa/openmct into …
charlesh88 Jan 26, 2024
884373e
Closes #7377
charlesh88 Jan 26, 2024
9e00836
Merge branch 'master' of https://github.com/nasa/openmct into timelis…
shefalijoshi Jan 29, 2024
a56931e
Remove use of ListView - no point passing arrays around since we are …
shefalijoshi Jan 29, 2024
bb74f21
We addded a new column for duration and changed the previous duration…
shefalijoshi Jan 29, 2024
905801c
Fix expanded view for timelist tests
shefalijoshi Jan 29, 2024
088b4b0
Closes #7377
charlesh88 Jan 29, 2024
91a2c62
Merge remote-tracking branch 'origin/timelist-compact-view' into time…
charlesh88 Jan 29, 2024
3ad4acf
Merge branch 'master' into timelist-compact-view
charlesh88 Jan 29, 2024
af161f9
Closes #7377
charlesh88 Jan 29, 2024
a9feb37
Optimize rendering of timelist activities
shefalijoshi Jan 30, 2024
32781e2
Remove focused test
shefalijoshi Jan 30, 2024
e248c78
Merge branch 'timelist-compact-view' of https://github.com/nasa/openm…
shefalijoshi Jan 30, 2024
a09522d
Merge branch 'master' of https://github.com/nasa/openmct into timelis…
shefalijoshi Jan 30, 2024
333b683
Address review comments
shefalijoshi Jan 30, 2024
1bf5a15
Remove reactive selection for plan activities
shefalijoshi Jan 30, 2024
004957d
destructure props into individual item properties for render performa…
shefalijoshi Jan 30, 2024
ac80da4
Merge remote-tracking branch 'origin' into timelist-compact-view
charlesh88 Jan 30, 2024
6026876
Merge branch 'timelist-compact-view' of https://github.com/nasa/openm…
shefalijoshi Jan 30, 2024
73c2e7e
Use local variables and remove JSON utility methods
shefalijoshi Jan 30, 2024
c03d7bb
Change cancelled to skipped
shefalijoshi Jan 30, 2024
c45c6a2
Focus the activity tab when shown
shefalijoshi Jan 30, 2024
f068090
Fix label updates
shefalijoshi Jan 30, 2024
14ede06
Merge branch 'master' into timelist-compact-view
shefalijoshi Jan 30, 2024
fbd271a
Add countup to cspell
shefalijoshi Jan 30, 2024
fb38cdb
Remove progress pie due to licensing unknowns
shefalijoshi Jan 31, 2024
5cfa222
Merge branch 'timelist-compact-view' of https://github.com/nasa/openm…
shefalijoshi Jan 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 65 additions & 1 deletion e2e/tests/functional/planning/timelist.e2e.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const TIME_TO_FROM_COLUMN = 2;
// eslint-disable-next-line no-unused-vars
const ACTIVITY_COLUMN = 3;
const HEADER_ROW = 0;
const NUM_COLUMNS = 4;
const NUM_COLUMNS = 5;

test.describe('Time List', () => {
test("Create a Time List, add a single Plan to it, verify all the activities are displayed with no milliseconds and selecting an activity shows it's properties", async ({
Expand Down Expand Up @@ -109,6 +109,70 @@ test.describe('Time List', () => {
});
});

test("View a timelist in expanded view, verify all the activities are displayed and selecting an activity shows it's properties", async ({
page
}) => {
// Goto baseURL
await page.goto('./', { waitUntil: 'domcontentloaded' });

const timelist = await test.step('Create a Time List', async () => {
const createdTimeList = await createDomainObjectWithDefaults(page, { type: 'Time List' });
const objectName = await page.locator('.l-browse-bar__object-name').innerText();
expect(objectName).toBe(createdTimeList.name);

return createdTimeList;
});

await test.step('Create a Plan and add it to the timelist', async () => {
await createPlanFromJSON(page, {
name: 'Test Plan',
json: examplePlanSmall1,
parent: timelist.uuid
});

// Ensure that all activities are shown in the expanded view
const groups = Object.keys(examplePlanSmall1);
const firstGroupKey = groups[0];
const firstGroupItems = examplePlanSmall1[firstGroupKey];
const firstActivity = firstGroupItems[0];
const lastActivity = firstGroupItems[firstGroupItems.length - 1];
const startBound = firstActivity.start;
const endBound = lastActivity.end;

// Switch to fixed time mode with all plan events within the bounds
await page.goto(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whoa

`${timelist.url}?tc.mode=fixed&tc.startBound=${startBound}&tc.endBound=${endBound}&tc.timeSystem=utc&view=timelist.view`
);

// Change the object to edit mode
await page.getByRole('button', { name: 'Edit Object' }).click();

// Find the display properties section in the inspector
await page.getByRole('tab', { name: 'View Properties' }).click();
// Switch to expanded view and save the setting
await page.getByLabel('Display Style').selectOption({ label: 'Expanded' });

// Click on the "Save" button
await page.getByRole('button', { name: 'Save' }).click();
await page.getByRole('listitem', { name: 'Save and Finish Editing' }).click();

// Verify all events are displayed
const eventCount = await page.getByRole('row').count();
await expect(eventCount).toEqual(firstGroupItems.length);
});

await test.step('Shows activity properties when a row is selected', async () => {
await page.getByRole('row').nth(2).click();

// Find the activity state section in the inspector
await page.getByRole('tab', { name: 'Activity' }).click();
// Check that activity state label is displayed in the inspector.
await expect(page.getByLabel('Activity Status').locator("[aria-selected='true']")).toHaveText(
'Not started'
);
});
});

/**
* The regular expression used to parse the countdown string.
* Some examples of valid Countdown strings:
Expand Down
112 changes: 0 additions & 112 deletions src/plugins/timelist/CompactView.vue

This file was deleted.

134 changes: 0 additions & 134 deletions src/plugins/timelist/CompactViewItem.vue

This file was deleted.

Loading
Loading