Skip to content

Implement experiment details page#2563

Merged
zackcl merged 16 commits intoexperiment-design-refreshfrom
feature/2560-experiment-details-page
Jul 24, 2025
Merged

Implement experiment details page#2563
zackcl merged 16 commits intoexperiment-design-refreshfrom
feature/2560-experiment-details-page

Conversation

@zackcl
Copy link
Copy Markdown
Collaborator

@zackcl zackcl commented Jul 2, 2025

Resolves #2560

The PR includes implementing all the section card components on the experiment details page. The section card's child components (e.g., table) will be implemented in a separate PR. The modals opened by these section cards (e.g., Add Condition modal) will also be implemented in a separate PR. I will create tickets for implementing these.

FYI, I had to update the backend in order to create an experiment with empty decision points and conditions. Please review if the changes look correct.

@zackcl zackcl requested review from bcb37 and danoswaltCL July 2, 2025 14:00
@zackcl zackcl self-assigned this Jul 2, 2025
@zackcl zackcl marked this pull request as ready for review July 16, 2025 18:42
Copy link
Copy Markdown
Collaborator

@bcb37 bcb37 left a comment

Choose a reason for hiding this comment

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

A couple questions:

  1. Do we want to create experiments initially with 'DRAFT' status?
  2. Do we have a plan to support factorial experiments? - currently it errors when you try to create a factorial experiment because the backend expects factors to be supplied; and it looks like the UI for factorial experiments isn't implemented yet.

@zackcl
Copy link
Copy Markdown
Collaborator Author

zackcl commented Jul 17, 2025

  1. The UI for factorial experiments isn’t there yet — I’ve always thought of it as part of the v2 design refresh. I can work on creating the designs in Figma, but we should probably check with April about that.

@zackcl Ok, if that's the case we should remove 'Experiment Type' selector for v1, since choosing factorial will be broken until v2.

@bcb37
Copy link
Copy Markdown
Collaborator

bcb37 commented Jul 17, 2025

  1. The UI for factorial experiments isn’t there yet — I’ve always thought of it as part of the v2 design refresh. I can work on creating the designs in Figma, but we should probably check with April about that.

@zackcl Ok, if that's the case we should remove 'Experiment Type' selector for v1, since choosing factorial will be broken until v2.

@zackcl sorry I accidentally edited your comment. Creating an issue to initialize experiments with 'DRAFT' status makes sense to me.

@zackcl
Copy link
Copy Markdown
Collaborator Author

zackcl commented Jul 18, 2025

@bcb37 I've disabled the Factorial Experiment Type option from the modal, and also created an issue for "DRAFT" status: #2586

@zackcl zackcl requested a review from bcb37 July 18, 2025 10:14
Copy link
Copy Markdown
Collaborator

@bcb37 bcb37 left a comment

Choose a reason for hiding this comment

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

Since we're removing support for factorial experiments in the new frontend, we'll probably have to do something similar to what we did with 'old-style' segments and switch to the legacy editor when an attempt is made to edit a factorial experiment that already exists (or is imported). We'll need a ticket to add the logic to edit factorial experiments in the stepper.

@zackcl zackcl force-pushed the feature/2560-experiment-details-page branch from 7110ec9 to ca4ce6b Compare July 22, 2025 13:54
@zackcl
Copy link
Copy Markdown
Collaborator Author

zackcl commented Jul 22, 2025

I've reverted the commits I made for supporting factorial experiments on the legacy details page. Feel free to review and approve the PR.

Comment thread backend/packages/Upgrade/src/api/services/ExperimentService.ts Outdated
Comment thread frontend/projects/upgrade/src/app/core/experiments/store/experiments.model.ts Outdated
@danoswaltCL
Copy link
Copy Markdown
Collaborator

The majority of this is all good to go, looks great, just a couple of minor questions. One of the questions is on Experiment types and that can be punted to another story. I think we can make our lives easier with stronger Experiment types that keep better aligned with the backend. These are the most complex and most important objects we deal with and often have little bugs where properties are undefined, etc... if there's any tech-debt that we tackle in parallel with this redesign I think this would be a good spot, would speed things up later.

@zackcl zackcl requested a review from danoswaltCL July 23, 2025 12:46
@zackcl zackcl requested a review from bcb37 July 23, 2025 12:46
@zackcl zackcl merged commit 1346be2 into experiment-design-refresh Jul 24, 2025
8 checks passed
@zackcl zackcl deleted the feature/2560-experiment-details-page branch July 24, 2025 11:09
danoswaltCL pushed a commit that referenced this pull request Nov 7, 2025
* Implement experiment details page

* Remove mistake part

* Make experiment details page navigation work

* Update ExperimentOverviewDetailsSectionCardComponent and ExperimentDetailsPageContentComponent

* Refine selectExperimentOverviewDetails and update CommonTabbedSectionCardFooterComponent

* Refine experiment details section card components

* Refine en.json file

* Update UpsertExperimentModalComponent to send requests with valid experiment data

* Disable Factorial Experiment Type for v2

* Refactor nested ternaries

* Add strongly-typed DTO interfaces for experiment requests

* Update timeLog type in ExperimentStateTimeLogDTO

* Update ExperimentConditionPayloadDTO to match backend

* Remove redundant comments
danoswaltCL added a commit that referenced this pull request Nov 10, 2025
* Auto-remove leading/trailing spaces from all input text (#2537)

* fix entity types; add enum migration (#2551)

* add parent segments list to 'Used By' status of segments (#2543)

* add parent segments list to 'Used By' status of segments

* remove unused data binding

* update no-data message

* Add and display 'status' field of parent segments

* don't await response from csv export endpoint (#2552)

* add mooclet env vars to app-infrastructure.yml (#2555)

* add mooclet env vars to app-infrastructure.yml

* correct ssm value typos

* toggle mooclet on in frontend

* toggle mooclet on in frontend (#2564)

* toggle staging also (#2566)

* Feature/ff ephemeral user options (#2556) (#2573)

* ephemeral ff user groups and remove exposure id FK constraint

* ephemeral ff user groups and remove exposure id FK constraint

* remove comment from ff-exposure model

* use same language in usercheck middleware docs as swagger

* restore condition payload formatting on pagination response (#2574)

* split ScheduledJobService in two to avoid circular dependency (#2575)

* split ScheduledJobService in two to avoid circular dependency

* Update backend/packages/Upgrade/test/unit/services/ScheduledJobService.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update backend/packages/Upgrade/test/unit/services/MoocletExperimentService.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix test suite description for Experiment Scheduler Service

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add example in add-metrics editor and a link to gitbook (#2581)

* add example in add-metrics editor and a link to gitbook

* remove typo

* filter out _REWARD metrics that do not belong to experiment (#2580)

* filter out _REWARD metrics that do not belong to experiment

* correct for add experiment flow

* clarify logic

* remove console log

* throw errors from axios mooclet requests; but not from deleting mooclet resources (#2582)

* Bump on-headers, compression, morgan and express-session (#2585)

---
updated-dependencies:
- dependency-name: on-headers
  dependency-version: 1.1.0
  dependency-type: indirect
- dependency-name: compression
  dependency-version: 1.8.1
  dependency-type: direct:production
- dependency-name: morgan
  dependency-version: 1.10.1
  dependency-type: direct:production
- dependency-name: express-session
  dependency-version: 1.18.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update Reward Metric Display (#2583)

* Update Reward Metric Display

* Make the key and value more distinct

* Refine Metrics table for displaying group metrics and categorical type

* Remove bullet from Key and Values

* Bump form-data from 4.0.0 to 4.0.4 in /k6

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.0 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.0...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump form-data from 4.0.1 to 4.0.4 in /backend/packages/Scheduler

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.1...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump on-headers and compression in /frontend (#2591)

Bumps [on-headers](https://github.com/jshttp/on-headers) and [compression](https://github.com/expressjs/compression). These dependencies needed to be updated together.

Updates `on-headers` from 1.0.2 to 1.1.0
- [Release notes](https://github.com/jshttp/on-headers/releases)
- [Changelog](https://github.com/jshttp/on-headers/blob/master/HISTORY.md)
- [Commits](jshttp/on-headers@v1.0.2...v1.1.0)

Updates `compression` from 1.8.0 to 1.8.1
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](expressjs/compression@1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: on-headers
  dependency-version: 1.1.0
  dependency-type: indirect
- dependency-name: compression
  dependency-version: 1.8.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* clone lists on duplicate (#2588)

* Use new 'repeated_enrollment' table for within-subject experiments (#2559)

* Use new 'repeated_enrollment' table for within-subject experiments

* Update backend/packages/Upgrade/test/integration/ExperimentStats/WithinSubjectEnrollment.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* use relative paths

* fix postgres text case return values

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Bump form-data from 4.0.0 to 4.0.4 in /clientlibs/js

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.0 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.0...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump form-data in /backend/packages/Upgrade (#2604)

Bumps  and [form-data](https://github.com/form-data/form-data). These dependencies needed to be updated together.

Updates `form-data` from 4.0.1 to 4.0.4
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.1...v4.0.4)

Updates `form-data` from 2.5.2 to 4.0.4
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.1...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Resolve segment options not showing in experiment participants include table (#2609)

* fix: resolve segment options not showing in experiment participants include table

* Remove redundant bindParticipantsData call from ngOnInit

* perform all metrics queries in a single transaction (#2610)

* perform all metrics queries in a single transaction

* Update backend/packages/Upgrade/test/unit/services/QueryService.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Bump form-data from 4.0.1 to 4.0.4 in /frontend

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.1...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump sha.js from 2.4.11 to 2.4.12 in /backend/packages/Upgrade

Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12.
- [Changelog](https://github.com/browserify/sha.js/blob/master/CHANGELOG.md)
- [Commits](browserify/sha.js@v2.4.11...v2.4.12)

---
updated-dependencies:
- dependency-name: sha.js
  dependency-version: 2.4.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump multer and routing-controllers in /backend/packages/Upgrade (#2620)

Bumps [multer](https://github.com/expressjs/multer) to 2.0.2 and updates ancestor dependency [routing-controllers](https://github.com/typestack/routing-controllers). These dependencies need to be updated together.


Updates `multer` from 1.4.5-lts.1 to 2.0.2
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](expressjs/multer@v1.4.5-lts.1...v2.0.2)

Updates `routing-controllers` from 0.11.2 to 0.11.3
- [Release notes](https://github.com/typestack/routing-controllers/releases)
- [Changelog](https://github.com/typestack/routing-controllers/blob/develop/CHANGELOG.md)
- [Commits](typestack/routing-controllers@v0.11.2...v0.11.3)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.0.2
  dependency-type: indirect
- dependency-name: routing-controllers
  dependency-version: 0.11.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump tmp and @inquirer/editor in /frontend (#2619)

Removes [tmp](https://github.com/raszi/node-tmp). It's no longer used after updating ancestor dependency [@inquirer/editor](https://github.com/SBoudrias/Inquirer.js). These dependencies need to be updated together.


Removes `tmp`

Updates `@inquirer/editor` from 4.2.6 to 4.2.17
- [Release notes](https://github.com/SBoudrias/Inquirer.js/releases)
- [Commits](https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/editor@4.2.6...@inquirer/editor@4.2.17)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 
  dependency-type: indirect
- dependency-name: "@inquirer/editor"
  dependency-version: 4.2.17
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* clientlibs: check for cached data in assign and ff calls (#2615)

* clientlibs: check for cached data in assign and ff calls

* Update clientlibs/js/src/UpGradeClient/UpgradeClient.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update clientlibs/js/src/UpGradeClient/UpgradeClient.spec.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* clientlib versions to 6.1.2; update java README (#2634)

* add back files needed for client publish github action (#2637)

* Merge release 6.1 into dev (#2636)

* update env toggle for staging and prod (#2454)

* increase max subsegment depth to 8 (#2462)

* remove joins from findOneSegmentByContextAndType (#2467)

* skip duplicate check for private segments on upsert (#2472)

* put changelog.md for release notes in repo (#2463)

* remove sorting by status from global exclude list (#2476)

* Exclude user with no working group data if there are global group excludes (#2502)

* Auto-remove leading/trailing spaces from user-entered payloads (#2534)

* Feature/ff ephemeral user options (#2556)

* ephemeral ff user groups and remove exposure id FK constraint

* ephemeral ff user groups and remove exposure id FK constraint

* remove comment from ff-exposure model

* use same language in usercheck middleware docs as swagger

* mooclet configs on for staging (#2565)

* recommit

---------

Co-authored-by: Ben Blanchard <bblanchard@carnegielearning.com>
Co-authored-by: Zack Lee <90279765+zackcl@users.noreply.github.com>

* generate new readme (#2641)

* Move tests to jenkins ci (#2639)

* move tests from pre-commit  to jenkinsfile

* lint all the things

* Clear group type when unit of assignment is not Group (#2645)

* Bump axios from 1.8.2 to 1.12.0 in /clientlibs/js (#2652)

Bumps [axios](https://github.com/axios/axios) from 1.8.2 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.8.2...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump axios from 1.8.2 to 1.12.2 in /backend/packages/Upgrade (#2653)

Bumps [axios](https://github.com/axios/axios) from 1.8.2 to 1.12.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.8.2...v1.12.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* move jaxb.ws.rs to Jakarta and bump Jersey to 3 (#2654)

* Update clientlibs/java jaxb.ws.rs to Jakarta and bump Jersey to 3

---------

Co-authored-by: doswalt <doswalt@carnegielearning.com>
Co-authored-by: danoswaltCL <97542869+danoswaltCL@users.noreply.github.com>
Co-authored-by: Matt McHenry <mmchenry@carnegielearning.com>

* validate group and group assignment unit agreement in experiment import, add, and update (#2649)

* fix data exports for within-subject experiments (#2605)

* fix data exports for within-subject experiments

* remove unused method; simplify variable

* remove enrollmentComplete experiments from pools unless already enrolled (#2670)

* remove enrollmentComplete experiments from pools unless already enrolled

* Update backend/packages/Upgrade/test/unit/services/ExperimentAssignmentService.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* no multiple assignment per decision point

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Docker build support for the demo app (#2658)

* Update demo-app.js script and add Docker build support

* Fix the frontend settings to work on /upgrade path for the demo app

* Revert changes made to demo-app.js

* Force user role to Creator when APP_DEMO is true (#2675)

* force user role to Admin when APP_DEMO is true

* force user role to Creator when APP_DEMO is true

* Preverve the admin role on demo mode

* Revert "Preverve the admin role on demo mode"

This reverts commit b21fed9.

* Add batch assign endpoint and functionality (#2613)

* Add batch assign endpoint and functionality

* remove console log and fix reference issue

* remove filtering within-subject experiments

* fix conditionals

* remove 404

* remove extra vars from tests; add return type to method

* refactor methods for readability

* DRY assign methods

* return 'NOT_FOUND' for users that are...not found

* Fix/nav on detail url id segment change (#2677)

* hash navigation helper

* manually tell router to navigate when hashchangeevent fires

* add new parameters to processExperimentPools() in getBatchExperimentConditions() (#2684)

* Bump tar-fs from 2.1.3 to 2.1.4 in /backend/packages/Upgrade (#2683)

Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.3 to 2.1.4.
- [Commits](mafintosh/tar-fs@v2.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 2.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* nav to detail on create, pip exp count if 0 on getExperimentId success, rename confusing observable (#2676)

* add 6.2 release notes (#2685)

* Feature/ts client lib 6 2 (#2686)

* add 6.2 release notes

* get ts client lib version aligned w release version

* update packages to 6.3 (#2687)

* use custom data source for transaction (#2688)

* use custom data source for transaction

* fix test

* use custom data source for transaction (#2688) (#2689)

* use custom data source for transaction

* fix test

* remove transaction from metrics log queries (#2690)

* use transaction entity manager in metrics log queries

* remove transaction

* Update backend/packages/Upgrade/src/api/repositories/LogRepository.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* do not wait for export to finish (#2691)

* toggle within-subjects true for staging tests, mooclet true in prod file (#2692)

* optimize export log query and service method (#2694)

* optimize export log query and service method

* Update backend/packages/Upgrade/src/api/services/AnalyticsService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update backend/packages/Upgrade/src/api/services/AnalyticsService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update backend/packages/Upgrade/src/api/services/AnalyticsService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* use "upgrade-ci" task definition and run integration tests

* change to trigger tests

* set test host to 'localhost'

* Update backend/packages/Upgrade/src/api/services/ExperimentAssignmentService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Bump validator from 13.12.0 to 13.15.20 in /types (#2706)

Bumps [validator](https://github.com/validatorjs/validator.js) from 13.12.0 to 13.15.20.
- [Release notes](https://github.com/validatorjs/validator.js/releases)
- [Changelog](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md)
- [Commits](validatorjs/validator.js@13.12.0...13.15.20)

---
updated-dependencies:
- dependency-name: validator
  dependency-version: 13.15.20
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump koa from 3.0.1 to 3.0.3 in /backend/packages/Upgrade (#2700)

Bumps [koa](https://github.com/koajs/koa) from 3.0.1 to 3.0.3.
- [Release notes](https://github.com/koajs/koa/releases)
- [Changelog](https://github.com/koajs/koa/blob/master/History.md)
- [Commits](koajs/koa@v3.0.1...v3.0.3)

---
updated-dependencies:
- dependency-name: koa
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump validator from 13.12.0 to 13.15.20 in /frontend (#2711)

Bumps [validator](https://github.com/validatorjs/validator.js) from 13.12.0 to 13.15.20.
- [Release notes](https://github.com/validatorjs/validator.js/releases)
- [Changelog](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md)
- [Commits](validatorjs/validator.js@13.12.0...13.15.20)

---
updated-dependencies:
- dependency-name: validator
  dependency-version: 13.15.20
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typeorm from 0.3.20 to 0.3.26 in /backend/packages/Upgrade (#2709)

Bumps [typeorm](https://github.com/typeorm/typeorm) from 0.3.20 to 0.3.26.
- [Release notes](https://github.com/typeorm/typeorm/releases)
- [Changelog](https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md)
- [Commits](typeorm/typeorm@0.3.20...0.3.26)

---
updated-dependencies:
- dependency-name: typeorm
  dependency-version: 0.3.26
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Display the menu button on the details page to non-Reader roles (#2713)

* Feature/2524 experiment redesign backend 1 (#2538)

* Revert adding 'filtered total' for experiments

* add experiment list endpoints

* copilot review changes

* add swagger annotations and endpoint tests

* Implement experiments root page component and navigation (#2546)

* Implement experiment root section card component (#2549)

* Implement experiment root section card table component (#2553)

* Implement experiment root section card component

* Implement experiment root section card table component

* Fix searching on status

* Implement upsert experiment modal component (#2558)

* Implement upsert experiment modal component

* Resolve all comments

* Remove mistake part

* show experiment list actions in audit logs (#2570)

* show experiment list actions in audit logs

* Update frontend/projects/upgrade/src/app/features/dashboard/logs/components/timeline/timeline.component.html

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add endpoints for importing and exporting experiment exclusion and in… (#2587)

* add endpoints for importing and exporting experiment exclusion and inclusion lists

* Update backend/packages/Upgrade/src/api/services/ExperimentService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update backend/packages/Upgrade/src/api/controllers/ExperimentController.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update backend/packages/Upgrade/src/api/controllers/ExperimentController.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* more specific typing

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Implement experiment details page (#2563)

* Implement experiment details page

* Remove mistake part

* Make experiment details page navigation work

* Update ExperimentOverviewDetailsSectionCardComponent and ExperimentDetailsPageContentComponent

* Refine selectExperimentOverviewDetails and update CommonTabbedSectionCardFooterComponent

* Refine experiment details section card components

* Refine en.json file

* Update UpsertExperimentModalComponent to send requests with valid experiment data

* Disable Factorial Experiment Type for v2

* Refactor nested ternaries

* Add strongly-typed DTO interfaces for experiment requests

* Update timeLog type in ExperimentStateTimeLogDTO

* Update ExperimentConditionPayloadDTO to match backend

* Remove redundant comments

* Implement decision points table components (#2599)

* Implement decision points table components

* Remove unused ngOnInit

* Implement conditions table components (#2600)

* Implement decision points table components

* Remove unused ngOnInit

* Implement conditions table component

* Refine the ExperimentConditionsTableComponent

* Remove redundant check

* convert to new list format for all endpoints (#2614)

* Implement experiment include list table component (#2601)

* Implement experiment include list table component

* Refine the inclusions table component

* Implement Include All toggle feature

* Fix the empty Type cell after disabling Include All toggle

* remove redundant API call in updateFilterMode method

* Remove listType preservation

* Simplify the updateFilterMode function

* Implement experiment exclude list table component  (#2612)

* Implement experiment include list table component

* Refine the inclusions table component

* Implement Include All toggle feature

* Fix the empty Type cell after disabling Include All toggle

* remove redundant API call in updateFilterMode method

* Implement experiment exclude list table component

* Disable the slide toggle and action buttons on inclusion table when update permission is now allowed

* Implement experiment metrics table component (#2622)

* Implement experiment metrics table component

* Fix the statistic order for categorical metrics

* Update table row styles

* add experiment list modals and functionality (#2638)

* add experiment list modals and functionality

* Update frontend/projects/upgrade/src/app/core/experiments/store/experiments.reducer.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update frontend/projects/upgrade/src/app/core/experiments/store/experiments.reducer.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add missing text values

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add edit-condition-weights modal (#2646)

* add edit-condition-weights modal

* Update frontend/projects/upgrade/src/app/features/dashboard/experiments/modals/edit-condition-weights-modal/edit-condition-weights-modal.component.spec.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove inaccurate comment

* tighten css

* changes to get closer to the spec

* remove unneeded things

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Implement Upsert Decision Point Modal for Experiments (#2633)

* Add upsert decision point modal component

* Implement sendUpsertDecisionPointRequest for Add/Edit Decision Point modal

* Create decision-point-helper.service.ts and implement the Delete Decision Point modal

* Remove unneeded experimentContext input

* Remove redundant fallback

* refactor: add context validation and improve ternary readability

* Fix duplicated import

* condition edit/add/delete modal

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove redundant duplicate check

* remove payload from conditions table (#2704)

* remove payload from conditions table

* fix columns

* fix preexisting typecheck and missed unit tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Zack Lee <90279765+zackcl@users.noreply.github.com>
Co-authored-by: Ben Blanchard <bblanchard@carnegielearning.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ddenniston <106688763+ddenniston@users.noreply.github.com>
Co-authored-by: Matt McHenry <mmchenry@carnegielearning.com>
Co-authored-by: Zack Lee <zlee@carnegielearning.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants