@gen3/frontend 0.10.79 → 0.10.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +87 -84
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/components/Profile/CredentialsTable.d.ts.map +1 -1
- package/dist/dts/components/Profile/CredentialsTable.js +3 -4
- package/dist/dts/components/Profile/CredentialsTable.js.map +1 -1
- package/dist/dts/components/Profile/ExternalProviderCard.d.ts +2 -0
- package/dist/dts/components/Profile/ExternalProviderCard.d.ts.map +1 -1
- package/dist/dts/components/Profile/ExternalProviderCard.js +13 -11
- package/dist/dts/components/Profile/ExternalProviderCard.js.map +1 -1
- package/dist/dts/components/Profile/ExternalProvidersPanel.d.ts.map +1 -1
- package/dist/dts/components/Profile/ExternalProvidersPanel.js +2 -2
- package/dist/dts/components/Profile/ExternalProvidersPanel.js.map +1 -1
- package/dist/dts/components/facets/FacetEnumList.d.ts.map +1 -1
- package/dist/dts/components/facets/FacetEnumList.js +43 -53
- package/dist/dts/components/facets/FacetEnumList.js.map +1 -1
- package/dist/dts/components/facets/MultiSelectValueFacet.d.ts.map +1 -1
- package/dist/dts/components/facets/MultiSelectValueFacet.js +14 -31
- package/dist/dts/components/facets/MultiSelectValueFacet.js.map +1 -1
- package/dist/dts/features/CohortBuilder/CohortPanel.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/CohortPanel.js +3 -3
- package/dist/dts/features/CohortBuilder/CohortPanel.js.map +1 -1
- package/dist/dts/features/CohortBuilder/FiltersPanel.js +1 -1
- package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.d.ts +4 -0
- package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.js +23 -0
- package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.js.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.d.ts +4 -0
- package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.js +39 -0
- package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.js.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.d.ts +3 -0
- package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.js +34 -0
- package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.js.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/types.d.ts +11 -0
- package/dist/dts/features/CohortBuilder/Panels/types.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/Panels/types.js.map +1 -0
- package/dist/dts/features/CohortDistance/CohortDistanceApp.d.ts +4 -0
- package/dist/dts/features/CohortDistance/CohortDistanceApp.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity/CohortDiversityApp.js → CohortDistance/CohortDistanceApp.js} +9 -9
- package/dist/dts/features/CohortDistance/CohortDistanceApp.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/ComnparisonCard.d.ts +2 -2
- package/dist/dts/features/CohortDistance/ComnparisonCard.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/ComnparisonCard.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/ComparisonCards.d.ts +2 -2
- package/dist/dts/features/CohortDistance/ComparisonCards.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/ComparisonCards.js.map +1 -0
- package/dist/dts/features/CohortDistance/appApi.d.ts +8 -0
- package/dist/dts/features/CohortDistance/appApi.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/appApi.js +4 -0
- package/dist/dts/features/CohortDistance/appApi.js.map +1 -0
- package/dist/dts/features/CohortDistance/charts/BarComparison.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/charts/BarComparison.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ChartCard.d.ts +3 -3
- package/dist/dts/features/CohortDistance/charts/ChartCard.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ChartCard.js +3 -3
- package/dist/dts/features/CohortDistance/charts/ChartCard.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ComparisonCharts.d.ts +2 -2
- package/dist/dts/features/CohortDistance/charts/ComparisonCharts.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/charts/ComparisonCharts.js.map +1 -0
- package/dist/dts/features/CohortDistance/charts/RadarComparison.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/charts/RadarComparison.js.map +1 -0
- package/dist/dts/features/{CohortDiversity/charts/diversityChartsFactory.d.ts → CohortDistance/charts/cohortDistanceChartsFactory.d.ts} +3 -3
- package/dist/dts/features/CohortDistance/charts/cohortDistanceChartsFactory.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity/charts/diversityChartsFactory.js → CohortDistance/charts/cohortDistanceChartsFactory.js} +3 -3
- package/dist/dts/features/CohortDistance/charts/cohortDistanceChartsFactory.js.map +1 -0
- package/dist/dts/features/CohortDistance/charts/types.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/charts/types.js.map +1 -0
- package/dist/dts/features/CohortDistance/charts/utils.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/charts/utils.js.map +1 -0
- package/dist/dts/features/{CohortDiversity/diversityApi.d.ts → CohortDistance/cohortDistanceApi.d.ts} +14 -14
- package/dist/dts/features/CohortDistance/cohortDistanceApi.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity/diversityApi.js → CohortDistance/cohortDistanceApi.js} +5 -5
- package/dist/dts/features/CohortDistance/cohortDistanceApi.js.map +1 -0
- package/dist/dts/features/CohortDistance/registerApp.d.ts +3 -0
- package/dist/dts/features/CohortDistance/registerApp.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/registerApp.js +5 -5
- package/dist/dts/features/CohortDistance/registerApp.js.map +1 -0
- package/dist/dts/features/CohortDistance/statistics/StatisticsCard.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/statistics/StatisticsCard.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsPanel.d.ts +2 -2
- package/dist/dts/features/CohortDistance/statistics/StatisticsPanel.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/statistics/StatisticsPanel.js.map +1 -0
- package/dist/dts/features/CohortDistance/statistics/data/data.d.ts +2 -0
- package/dist/dts/features/CohortDistance/statistics/data/data.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/data.js +1 -1
- package/dist/dts/features/CohortDistance/statistics/data/data.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/tests/processHistogramResponse.unit.test.d.ts.map +1 -1
- package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/tests/processHistogramResponse.unit.test.js +6 -6
- package/dist/dts/features/CohortDistance/statistics/data/tests/processHistogramResponse.unit.test.js.map +1 -0
- package/dist/dts/features/CohortDistance/statistics/data/utils.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/statistics/data/utils.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/queries.d.ts +1 -1
- package/dist/dts/features/CohortDistance/statistics/queries.d.ts.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/queries.js +1 -1
- package/dist/dts/features/CohortDistance/statistics/queries.js.map +1 -0
- package/dist/dts/features/{CohortDiversity → CohortDistance}/types.d.ts +6 -6
- package/dist/dts/features/CohortDistance/types.d.ts.map +1 -0
- package/dist/dts/features/CohortDistance/types.js +2 -0
- package/dist/dts/features/CohortDistance/types.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.d.ts +4 -0
- package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.js +54 -0
- package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/ComnparisonCard.d.ts +15 -0
- package/dist/dts/features/CohortSimilarity/ComnparisonCard.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/ComnparisonCard.js +32 -0
- package/dist/dts/features/CohortSimilarity/ComnparisonCard.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/ComparisonCards.d.ts +15 -0
- package/dist/dts/features/CohortSimilarity/ComparisonCards.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/ComparisonCards.js +14 -0
- package/dist/dts/features/CohortSimilarity/ComparisonCards.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/appApi.d.ts +8 -0
- package/dist/dts/features/CohortSimilarity/appApi.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/appApi.js +4 -0
- package/dist/dts/features/CohortSimilarity/appApi.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/BarComparison.d.ts +5 -0
- package/dist/dts/features/CohortSimilarity/charts/BarComparison.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/BarComparison.js +70 -0
- package/dist/dts/features/CohortSimilarity/charts/BarComparison.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/ChartCard.d.ts +16 -0
- package/dist/dts/features/CohortSimilarity/charts/ChartCard.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/ChartCard.js +45 -0
- package/dist/dts/features/CohortSimilarity/charts/ChartCard.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.d.ts +13 -0
- package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.js +18 -0
- package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/RadarComparison.d.ts +5 -0
- package/dist/dts/features/CohortSimilarity/charts/RadarComparison.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/RadarComparison.js +90 -0
- package/dist/dts/features/CohortSimilarity/charts/RadarComparison.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.d.ts +6 -0
- package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.js +24 -0
- package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/types.d.ts +12 -0
- package/dist/dts/features/CohortSimilarity/charts/types.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/types.js +2 -0
- package/dist/dts/features/CohortSimilarity/charts/types.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/utils.d.ts +2 -0
- package/dist/dts/features/CohortSimilarity/charts/utils.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/charts/utils.js +4 -0
- package/dist/dts/features/CohortSimilarity/charts/utils.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.d.ts +141 -0
- package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.js +14 -0
- package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/registerApp.d.ts +3 -0
- package/dist/dts/features/CohortSimilarity/registerApp.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/registerApp.js +19 -0
- package/dist/dts/features/CohortSimilarity/registerApp.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.d.ts +9 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.js +68 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.d.ts +13 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.js +16 -0
- package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/data.d.ts +2 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/data.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/data.js +50 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/data.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.d.ts +2 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.js +365 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/tests/similarityResponse.json +228 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/utils.d.ts +49 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/utils.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/utils.js +146 -0
- package/dist/dts/features/CohortSimilarity/statistics/data/utils.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/queries.d.ts +6 -0
- package/dist/dts/features/CohortSimilarity/statistics/queries.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/statistics/queries.js +24 -0
- package/dist/dts/features/CohortSimilarity/statistics/queries.js.map +1 -0
- package/dist/dts/features/CohortSimilarity/types.d.ts +26 -0
- package/dist/dts/features/CohortSimilarity/types.d.ts.map +1 -0
- package/dist/dts/features/CohortSimilarity/types.js +2 -0
- package/dist/dts/features/CohortSimilarity/types.js.map +1 -0
- package/dist/dts/index.d.ts +2 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/index.js +2 -2
- package/dist/dts/index.js.map +1 -1
- package/dist/esm/index.js +88 -85
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -6
- package/dist/dts/features/CohortDiversity/CohortDiversityApp.d.ts +0 -4
- package/dist/dts/features/CohortDiversity/CohortDiversityApp.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/CohortDiversityApp.js.map +0 -1
- package/dist/dts/features/CohortDiversity/ComnparisonCard.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/ComnparisonCard.js.map +0 -1
- package/dist/dts/features/CohortDiversity/ComparisonCards.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/ComparisonCards.js.map +0 -1
- package/dist/dts/features/CohortDiversity/appApi.d.ts +0 -8
- package/dist/dts/features/CohortDiversity/appApi.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/appApi.js +0 -4
- package/dist/dts/features/CohortDiversity/appApi.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/BarComparison.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/BarComparison.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/ChartCard.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/ChartCard.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/ComparisonCharts.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/ComparisonCharts.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/RadarComparison.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/RadarComparison.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/diversityChartsFactory.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/diversityChartsFactory.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/types.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/types.js.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/utils.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/charts/utils.js.map +0 -1
- package/dist/dts/features/CohortDiversity/diversityApi.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/diversityApi.js.map +0 -1
- package/dist/dts/features/CohortDiversity/registerApp.d.ts +0 -3
- package/dist/dts/features/CohortDiversity/registerApp.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/registerApp.js.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/StatisticsCard.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/StatisticsCard.js.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/StatisticsPanel.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/StatisticsPanel.js.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/data/data.d.ts +0 -2
- package/dist/dts/features/CohortDiversity/statistics/data/data.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/data/data.js.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/data/tests/processHistogramResponse.unit.test.js.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/data/utils.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/data/utils.js.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/queries.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/statistics/queries.js.map +0 -1
- package/dist/dts/features/CohortDiversity/types.d.ts.map +0 -1
- package/dist/dts/features/CohortDiversity/types.js.map +0 -1
- /package/dist/dts/features/{CohortDiversity/charts → CohortBuilder/Panels}/types.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/ComnparisonCard.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/ComparisonCards.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/BarComparison.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/BarComparison.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ComparisonCharts.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/RadarComparison.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/RadarComparison.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/types.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance/charts}/types.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/utils.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/utils.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsCard.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsCard.js +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsPanel.js +0 -0
- /package/dist/dts/features/{CohortDiversity/statistics/data/tests/diversityResponse.json → CohortDistance/statistics/data/tests/distanceResponse.json} +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/tests/processHistogramResponse.unit.test.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/utils.d.ts +0 -0
- /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/utils.js +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { Card, Group, Text, SegmentedControl } from '@mantine/core';
|
|
14
|
+
import { useState } from 'react';
|
|
15
|
+
import { fieldNameToTitle } from '@gen3/core';
|
|
16
|
+
import CohortSimilarityChartsFactory, { DefaultComparisonChart, } from './cohortSimilarityChartsFactory';
|
|
17
|
+
CohortSimilarityChartsFactory();
|
|
18
|
+
export var generateChart = function (groundData, groundLabel, comparisonData, comparisonLabel, field, config, showTitle) {
|
|
19
|
+
if (showTitle === void 0) { showTitle = true; }
|
|
20
|
+
// Check if the field exists in the datasets
|
|
21
|
+
if (!(field in groundData) || !(field in comparisonData)) {
|
|
22
|
+
console.error("Field ".concat(field, " does not exist in provided data."));
|
|
23
|
+
return _jsx("span", { children: "Error: Data field missing" });
|
|
24
|
+
}
|
|
25
|
+
var chartRenderer = CohortSimilarityChartsFactory().getRenderer('comparison', config.chartType);
|
|
26
|
+
// Check if renderer is the DefaultItemRenderer to log a warning
|
|
27
|
+
if (chartRenderer === DefaultComparisonChart) {
|
|
28
|
+
console.warn("No specific renderer found for ".concat(config.chartType, ". Using default renderer."));
|
|
29
|
+
}
|
|
30
|
+
return chartRenderer({
|
|
31
|
+
baseDataset: { data: groundData[field], label: groundLabel },
|
|
32
|
+
comparisonDataset: { data: comparisonData[field], label: comparisonLabel },
|
|
33
|
+
title: showTitle ? fieldNameToTitle(field) : '',
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
var ChartCard = function (_a) {
|
|
37
|
+
var _b = _a.style, style = _b === void 0 ? 'box' : _b, config = _a.config, groundData = _a.groundData, groundLabel = _a.groundLabel, comparisonData = _a.comparisonData, comparisonLabel = _a.comparisonLabel, field = _a.field;
|
|
38
|
+
var _c = useState(config.chartType), chartType = _c[0], setChartType = _c[1];
|
|
39
|
+
return (_jsxs(Card, { shadow: "md", withBorder: style === 'box', className: "h-full", children: [_jsx(Card.Section, { inheritPadding: true, py: "xs", withBorder: style === 'box', children: _jsxs(Group, { justify: "space-between", children: [_jsx(Text, { fw: 900, className: "".concat(style === 'box' ? 'font-bold [text-shadow:_1px_0_#000]' : ''), children: config.title }), _jsx(SegmentedControl, { value: chartType, onChange: setChartType, data: [
|
|
40
|
+
{ label: 'Bar', value: 'barComparison' },
|
|
41
|
+
{ label: 'Radar', value: 'radarComparison' },
|
|
42
|
+
] })] }) }), generateChart(groundData, groundLabel, comparisonData, comparisonLabel, field, __assign(__assign({}, config), { chartType: chartType }))] }));
|
|
43
|
+
};
|
|
44
|
+
export default ChartCard;
|
|
45
|
+
//# sourceMappingURL=ChartCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartCard.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/ChartCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AggregationsData } from '@gen3/core';
|
|
3
|
+
import { SimilarityChart, GroundWithComparisonDatasets } from '../types';
|
|
4
|
+
interface ComparisonChartsProps {
|
|
5
|
+
data: Record<string, AggregationsData>;
|
|
6
|
+
datasets: GroundWithComparisonDatasets;
|
|
7
|
+
comparisonChartsConfig: Record<string, SimilarityChart>;
|
|
8
|
+
numColumns?: number;
|
|
9
|
+
style?: 'tile' | 'box';
|
|
10
|
+
}
|
|
11
|
+
declare const ComparisonCharts: React.FC<ComparisonChartsProps>;
|
|
12
|
+
export default ComparisonCharts;
|
|
13
|
+
//# sourceMappingURL=ComparisonCharts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComparisonCharts.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/ComparisonCharts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAIzE,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvC,QAAQ,EAAE,4BAA4B,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwCrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Grid } from '@mantine/core';
|
|
3
|
+
import { computeRowSpan } from '../../../components/charts';
|
|
4
|
+
import ChartCard from './ChartCard';
|
|
5
|
+
var ComparisonCharts = function (_a) {
|
|
6
|
+
var data = _a.data, datasets = _a.datasets, comparisonChartsConfig = _a.comparisonChartsConfig, _b = _a.numColumns, numColumns = _b === void 0 ? 2 : _b, _c = _a.style, style = _c === void 0 ? 'tile' : _c;
|
|
7
|
+
var ground = data[datasets.ground.dataset];
|
|
8
|
+
var groundTitle = datasets.ground.label;
|
|
9
|
+
var comparison = data[datasets.comparison[0].dataset];
|
|
10
|
+
var comparisonTitle = datasets.comparison[0].label;
|
|
11
|
+
var spans = computeRowSpan(Object.keys(comparisonChartsConfig).length, numColumns);
|
|
12
|
+
return (_jsx(Grid, { className: "w-full", children: Object.entries(comparisonChartsConfig).map(function (_a, indexNum) {
|
|
13
|
+
var field = _a[0], config = _a[1];
|
|
14
|
+
return (_jsx(Grid.Col, { span: spans[indexNum], children: _jsx(ChartCard, { style: style, config: config, groundData: ground, groundLabel: groundTitle, comparisonData: comparison, comparisonLabel: comparisonTitle, field: field }) }, "".concat(indexNum, "-charts-").concat(field, "-col")));
|
|
15
|
+
}) }));
|
|
16
|
+
};
|
|
17
|
+
export default ComparisonCharts;
|
|
18
|
+
//# sourceMappingURL=ComparisonCharts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComparisonCharts.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/ComparisonCharts.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,SAAS,MAAM,aAAa,CAAC;AAUpC,IAAM,gBAAgB,GAAoC,UAAC,EAM1D;QALC,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,sBAAsB,4BAAA,EACtB,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,aAAc,EAAd,KAAK,mBAAG,MAAM,KAAA;IAEd,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1C,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxD,IAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErD,IAAM,KAAK,GAAG,cAAc,CAC1B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAC1C,UAAU,CACX,CAAC;IACF,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,YACrB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,CACzC,UAAC,EAAe,EAAE,QAAQ;gBAAxB,KAAK,QAAA,EAAE,MAAM,QAAA;YACb,OAAO,CACL,KAAC,IAAI,CAAC,GAAG,IACP,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,YAGrB,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,UAAU,EAC1B,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,KAAK,GACZ,IAVG,UAAG,QAAQ,qBAAW,KAAK,SAAM,CAW7B,CACZ,CAAC;QACJ,CAAC,CACF,GACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadarComparison.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/RadarComparison.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,oBAAoB,EAAoB,MAAM,SAAS,CAAC;AA2CjE,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkEnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { processLabel, ReactECharts, truncateString, } from '../../../components/charts';
|
|
4
|
+
import { roundTo2AfterDecimal } from './utils';
|
|
5
|
+
var processComparisonData = function (baseData, comparisonData) {
|
|
6
|
+
var maxB = baseData.data.reduce(function (acc, curr) {
|
|
7
|
+
return Math.max(curr.count, acc);
|
|
8
|
+
}, 0);
|
|
9
|
+
var maxC = comparisonData.data.reduce(function (acc, curr) {
|
|
10
|
+
return Math.max(curr.count, acc);
|
|
11
|
+
}, 0);
|
|
12
|
+
return {
|
|
13
|
+
data: [
|
|
14
|
+
{
|
|
15
|
+
type: 'radar',
|
|
16
|
+
data: [
|
|
17
|
+
{
|
|
18
|
+
value: baseData.data.map(function (item) {
|
|
19
|
+
return roundTo2AfterDecimal(item.count);
|
|
20
|
+
}),
|
|
21
|
+
name: baseData.label,
|
|
22
|
+
itemStyle: { color: '#4e79a7' },
|
|
23
|
+
areaStyle: { opacity: 0.3 },
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
value: comparisonData.data.map(function (item) {
|
|
27
|
+
return roundTo2AfterDecimal(item.count);
|
|
28
|
+
}),
|
|
29
|
+
name: comparisonData.label,
|
|
30
|
+
itemStyle: { color: '#f28e2c' },
|
|
31
|
+
areaStyle: { opacity: 0.3 },
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
maxBase: maxB,
|
|
37
|
+
maxComparison: maxC,
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
var RadarComparison = function (_a) {
|
|
41
|
+
var baseDataset = _a.baseDataset, comparisonDataset = _a.comparisonDataset, title = _a.title, _b = _a.yAxisLabel, yAxisLabel = _b === void 0 ? 'percent' : _b;
|
|
42
|
+
var categories = baseDataset.data.map(function (d) {
|
|
43
|
+
return truncateString(processLabel(d.key), 35);
|
|
44
|
+
});
|
|
45
|
+
var chartDefinition = useMemo(function () {
|
|
46
|
+
var series = processComparisonData(baseDataset, comparisonDataset);
|
|
47
|
+
var option = {
|
|
48
|
+
aria: {
|
|
49
|
+
enabled: true,
|
|
50
|
+
},
|
|
51
|
+
title: {
|
|
52
|
+
text: title,
|
|
53
|
+
left: 'center',
|
|
54
|
+
},
|
|
55
|
+
legend: {
|
|
56
|
+
data: [baseDataset.label, comparisonDataset.label],
|
|
57
|
+
bottom: '5%',
|
|
58
|
+
},
|
|
59
|
+
radar: {
|
|
60
|
+
indicator: categories.map(function (group) { return ({
|
|
61
|
+
name: group,
|
|
62
|
+
max: Math.max(series.maxBase, series.maxComparison),
|
|
63
|
+
}); }),
|
|
64
|
+
axisLine: {
|
|
65
|
+
lineStyle: {
|
|
66
|
+
color: '#4e79a7',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
splitLine: {
|
|
70
|
+
show: true,
|
|
71
|
+
lineStyle: {
|
|
72
|
+
color: ['#8c8989', '#8aa0ae'],
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
center: ['50%', '50%'],
|
|
76
|
+
radius: '65%',
|
|
77
|
+
},
|
|
78
|
+
series: series.data,
|
|
79
|
+
tooltip: {
|
|
80
|
+
trigger: 'item',
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
return option;
|
|
84
|
+
}, [baseDataset, categories, comparisonDataset, title, yAxisLabel]);
|
|
85
|
+
return (_jsx("div", { role: "region", "aria-labelledby": "radar-comparison-title", className: "flex flex-col w-full h-96", children: _jsx(ReactECharts, { option: chartDefinition, settings: {
|
|
86
|
+
notMerge: true,
|
|
87
|
+
} }) }));
|
|
88
|
+
};
|
|
89
|
+
export default RadarComparison;
|
|
90
|
+
//# sourceMappingURL=RadarComparison.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadarComparison.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/RadarComparison.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RenderFactoryTypedInstance } from '../../../utils/RendererFactory';
|
|
2
|
+
import { ComparisonChartProps } from './types';
|
|
3
|
+
export declare const DefaultComparisonChart: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const CohortSimilarityChartsFactory: () => RenderFactoryTypedInstance<ComparisonChartProps>;
|
|
5
|
+
export default CohortSimilarityChartsFactory;
|
|
6
|
+
//# sourceMappingURL=cohortSimilarityChartsFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohortSimilarityChartsFactory.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAM/C,eAAO,MAAM,sBAAsB,+CAElC,CAAC;AAUF,QAAA,MAAM,6BAA6B,QAC7B,0BAA0B,CAAC,oBAAoB,CAMlD,CAAC;AAEJ,eAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RenderFactoryTypedInstance } from '../../../utils/RendererFactory';
|
|
3
|
+
import BarComparison from './BarComparison';
|
|
4
|
+
import RadarComparison from './RadarComparison';
|
|
5
|
+
var instance = undefined;
|
|
6
|
+
export var DefaultComparisonChart = function () {
|
|
7
|
+
return _jsx("div", { children: "Chart not configured" });
|
|
8
|
+
};
|
|
9
|
+
var DefaultRendererCatalog = {
|
|
10
|
+
comparison: {
|
|
11
|
+
default: DefaultComparisonChart,
|
|
12
|
+
barComparison: BarComparison,
|
|
13
|
+
radarComparison: RadarComparison,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
var CohortSimilarityChartsFactory = function () {
|
|
17
|
+
if (!instance) {
|
|
18
|
+
instance = new RenderFactoryTypedInstance();
|
|
19
|
+
instance.registerRendererCatalog(DefaultRendererCatalog);
|
|
20
|
+
}
|
|
21
|
+
return instance;
|
|
22
|
+
};
|
|
23
|
+
export default CohortSimilarityChartsFactory;
|
|
24
|
+
//# sourceMappingURL=cohortSimilarityChartsFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohortSimilarityChartsFactory.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,IAAI,QAAQ,GACV,SAAS,CAAC;AAEZ,MAAM,CAAC,IAAM,sBAAsB,GAAG;IACpC,OAAO,iDAA+B,CAAC;AACzC,CAAC,CAAC;AAEF,IAAM,sBAAsB,GAAG;IAC7B,UAAU,EAAE;QACV,OAAO,EAAE,sBAAsB;QAC/B,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,eAAe;KACjC;CACF,CAAC;AAEF,IAAM,6BAA6B,GACjC;IACE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,0BAA0B,EAAwB,CAAC;QAClE,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEJ,eAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HistogramDataArray } from '@gen3/core';
|
|
2
|
+
export interface DatasetWithLabel {
|
|
3
|
+
data: HistogramDataArray;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ComparisonChartProps {
|
|
7
|
+
baseDataset: DatasetWithLabel;
|
|
8
|
+
comparisonDataset: DatasetWithLabel;
|
|
9
|
+
title?: string;
|
|
10
|
+
yAxisLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,WAAY,MAAM,WAElD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/charts/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,MAAc;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { AggregationsData } from '@gen3/core';
|
|
2
|
+
export interface SimilarityRequestParams {
|
|
3
|
+
dataset: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const similarityDataApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, {
|
|
6
|
+
getDataset: import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>;
|
|
7
|
+
}, string, never, keyof import("@reduxjs/toolkit/query").ApiModules<any, any, any, any>>;
|
|
8
|
+
export declare const useGetDatasetQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
|
|
9
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
10
|
+
originalArgs?: undefined | undefined;
|
|
11
|
+
data?: undefined | undefined;
|
|
12
|
+
error?: undefined | undefined;
|
|
13
|
+
requestId?: undefined | undefined;
|
|
14
|
+
endpointName?: string | undefined;
|
|
15
|
+
startedTimeStamp?: undefined | undefined;
|
|
16
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
17
|
+
} & {
|
|
18
|
+
currentData?: AggregationsData | undefined;
|
|
19
|
+
isUninitialized: false;
|
|
20
|
+
isLoading: false;
|
|
21
|
+
isFetching: false;
|
|
22
|
+
isSuccess: false;
|
|
23
|
+
isError: false;
|
|
24
|
+
}, "isUninitialized"> & {
|
|
25
|
+
isUninitialized: true;
|
|
26
|
+
}) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
27
|
+
currentData?: AggregationsData | undefined;
|
|
28
|
+
isUninitialized: false;
|
|
29
|
+
isLoading: false;
|
|
30
|
+
isFetching: false;
|
|
31
|
+
isSuccess: false;
|
|
32
|
+
isError: false;
|
|
33
|
+
}, {
|
|
34
|
+
isLoading: true;
|
|
35
|
+
isFetching: boolean;
|
|
36
|
+
data: undefined;
|
|
37
|
+
} | ({
|
|
38
|
+
isSuccess: true;
|
|
39
|
+
isFetching: true;
|
|
40
|
+
error: undefined;
|
|
41
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
42
|
+
currentData?: AggregationsData | undefined;
|
|
43
|
+
isUninitialized: false;
|
|
44
|
+
isLoading: false;
|
|
45
|
+
isFetching: false;
|
|
46
|
+
isSuccess: false;
|
|
47
|
+
isError: false;
|
|
48
|
+
}, "data" | "fulfilledTimeStamp">>) | ({
|
|
49
|
+
isSuccess: true;
|
|
50
|
+
isFetching: false;
|
|
51
|
+
error: undefined;
|
|
52
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
53
|
+
currentData?: AggregationsData | undefined;
|
|
54
|
+
isUninitialized: false;
|
|
55
|
+
isLoading: false;
|
|
56
|
+
isFetching: false;
|
|
57
|
+
isSuccess: false;
|
|
58
|
+
isError: false;
|
|
59
|
+
}, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
|
|
60
|
+
isError: true;
|
|
61
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
62
|
+
currentData?: AggregationsData | undefined;
|
|
63
|
+
isUninitialized: false;
|
|
64
|
+
isLoading: false;
|
|
65
|
+
isFetching: false;
|
|
66
|
+
isSuccess: false;
|
|
67
|
+
isError: false;
|
|
68
|
+
}, "error">>)>> & {
|
|
69
|
+
status: import("@reduxjs/toolkit/query").QueryStatus;
|
|
70
|
+
}>(arg: typeof import("@reduxjs/toolkit/query").skipToken | SimilarityRequestParams, options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & {
|
|
71
|
+
skip?: boolean;
|
|
72
|
+
refetchOnMountOrArgChange?: boolean | number;
|
|
73
|
+
} & {
|
|
74
|
+
skip?: boolean;
|
|
75
|
+
selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
|
|
76
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
77
|
+
originalArgs?: undefined | undefined;
|
|
78
|
+
data?: undefined | undefined;
|
|
79
|
+
error?: undefined | undefined;
|
|
80
|
+
requestId?: undefined | undefined;
|
|
81
|
+
endpointName?: string | undefined;
|
|
82
|
+
startedTimeStamp?: undefined | undefined;
|
|
83
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
84
|
+
} & {
|
|
85
|
+
currentData?: AggregationsData | undefined;
|
|
86
|
+
isUninitialized: false;
|
|
87
|
+
isLoading: false;
|
|
88
|
+
isFetching: false;
|
|
89
|
+
isSuccess: false;
|
|
90
|
+
isError: false;
|
|
91
|
+
}, "isUninitialized"> & {
|
|
92
|
+
isUninitialized: true;
|
|
93
|
+
}) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
94
|
+
currentData?: AggregationsData | undefined;
|
|
95
|
+
isUninitialized: false;
|
|
96
|
+
isLoading: false;
|
|
97
|
+
isFetching: false;
|
|
98
|
+
isSuccess: false;
|
|
99
|
+
isError: false;
|
|
100
|
+
}, {
|
|
101
|
+
isLoading: true;
|
|
102
|
+
isFetching: boolean;
|
|
103
|
+
data: undefined;
|
|
104
|
+
} | ({
|
|
105
|
+
isSuccess: true;
|
|
106
|
+
isFetching: true;
|
|
107
|
+
error: undefined;
|
|
108
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
109
|
+
currentData?: AggregationsData | undefined;
|
|
110
|
+
isUninitialized: false;
|
|
111
|
+
isLoading: false;
|
|
112
|
+
isFetching: false;
|
|
113
|
+
isSuccess: false;
|
|
114
|
+
isError: false;
|
|
115
|
+
}, "data" | "fulfilledTimeStamp">>) | ({
|
|
116
|
+
isSuccess: true;
|
|
117
|
+
isFetching: false;
|
|
118
|
+
error: undefined;
|
|
119
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
120
|
+
currentData?: AggregationsData | undefined;
|
|
121
|
+
isUninitialized: false;
|
|
122
|
+
isLoading: false;
|
|
123
|
+
isFetching: false;
|
|
124
|
+
isSuccess: false;
|
|
125
|
+
isError: false;
|
|
126
|
+
}, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
|
|
127
|
+
isError: true;
|
|
128
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>> & {
|
|
129
|
+
currentData?: AggregationsData | undefined;
|
|
130
|
+
isUninitialized: false;
|
|
131
|
+
isLoading: false;
|
|
132
|
+
isFetching: false;
|
|
133
|
+
isSuccess: false;
|
|
134
|
+
isError: false;
|
|
135
|
+
}, "error">>)>> & {
|
|
136
|
+
status: import("@reduxjs/toolkit/query").QueryStatus;
|
|
137
|
+
}) => R) | undefined;
|
|
138
|
+
}) | undefined) => [R][R extends any ? 0 : never] & {
|
|
139
|
+
refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<SimilarityRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta> | import("@reduxjs/toolkit/query").BaseQueryFn, never, AggregationsData, string>>;
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=cohortSimilarityApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohortSimilarityApi.d.ts","sourceRoot":"","sources":["../../../../src/features/CohortSimilarity/cohortSimilarityApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAGxD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB;;wFAQ5B,CAAC;AAEH,eAAO,MAAQ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAsB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GEN3_API } from '@gen3/core';
|
|
2
|
+
import { cohortSimilarityApi } from './appApi';
|
|
3
|
+
export var similarityDataApi = cohortSimilarityApi.injectEndpoints({
|
|
4
|
+
endpoints: function (builder) { return ({
|
|
5
|
+
getDataset: builder.query({
|
|
6
|
+
query: function (_a) {
|
|
7
|
+
var dataset = _a.dataset;
|
|
8
|
+
return "".concat(GEN3_API, "/api/v1/statistics/similarity/").concat(dataset);
|
|
9
|
+
},
|
|
10
|
+
}),
|
|
11
|
+
}); },
|
|
12
|
+
});
|
|
13
|
+
export var useGetDatasetQuery = similarityDataApi.useGetDatasetQuery;
|
|
14
|
+
//# sourceMappingURL=cohortSimilarityApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohortSimilarityApi.js","sourceRoot":"","sources":["../../../../src/features/CohortSimilarity/cohortSimilarityApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAM/C,MAAM,CAAC,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,eAAe,CAAC;IACnE,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC,KAAK,CAA4C;YACnE,KAAK,EAAE,UAAC,EAAoC;oBAAlC,OAAO,aAAA;gBACf,OAAO,UAAG,QAAQ,2CAAiC,OAAO,CAAE,CAAC;YAC/D,CAAC;SACF,CAAC;KACH,CAAC,EANsB,CAMtB;CACH,CAAC,CAAC;AAEH,MAAM,CAAS,IAAA,kBAAkB,GAAK,iBAAiB,mBAAtB,CAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerApp.d.ts","sourceRoot":"","sources":["../../../../src/features/CohortSimilarity/registerApp.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,2BAA2B,iCASpC,CAAC;AAEL,eAAO,MAAM,uBAAuB,qBAAY,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createGen3AppWithOwnStore, getGen3AppId } from '@gen3/core';
|
|
2
|
+
import CohortSimilarityApp from './CohortSimilarityApp';
|
|
3
|
+
import { appStore, appContext } from './appApi';
|
|
4
|
+
var _APP_NAME = 'CohortSimilarity'; // This wil be the route name of the app
|
|
5
|
+
var _APP_VERSION = '1.0.0';
|
|
6
|
+
var AppId = getGen3AppId(_APP_NAME, _APP_VERSION);
|
|
7
|
+
export var registerCohortSimilarityApp = function () {
|
|
8
|
+
return createGen3AppWithOwnStore({
|
|
9
|
+
App: CohortSimilarityApp,
|
|
10
|
+
name: _APP_NAME,
|
|
11
|
+
version: 'v1.0.0',
|
|
12
|
+
id: AppId,
|
|
13
|
+
requiredEntityTypes: [],
|
|
14
|
+
store: appStore,
|
|
15
|
+
context: appContext,
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
export var CohortSimilarityAppName = _APP_NAME;
|
|
19
|
+
//# sourceMappingURL=registerApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerApp.js","sourceRoot":"","sources":["../../../../src/features/CohortSimilarity/registerApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEhD,IAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,wCAAwC;AAC9E,IAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,IAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,CAAC,IAAM,2BAA2B,GAAG;IACzC,OAAA,yBAAyB,CAAC;QACxB,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;QACjB,EAAE,EAAE,KAAK;QACT,mBAAmB,EAAE,EAAE;QACvB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,UAAU;KACpB,CAAC;AARF,CAQE,CAAC;AAEL,MAAM,CAAC,IAAM,uBAAuB,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HistogramDataArray } from '@gen3/core';
|
|
3
|
+
interface StatisticsCardProps {
|
|
4
|
+
baseData: HistogramDataArray;
|
|
5
|
+
comparisonData: HistogramDataArray;
|
|
6
|
+
}
|
|
7
|
+
declare const StatisticsCard: React.FC<StatisticsCardProps>;
|
|
8
|
+
export default StatisticsCard;
|
|
9
|
+
//# sourceMappingURL=StatisticsCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatisticsCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/statistics/StatisticsCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA6FhD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqDjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text, Group, Stack, ScrollArea, Table } from '@mantine/core';
|
|
3
|
+
// Compute statistics
|
|
4
|
+
var computeStatistics = function (baseData, comparisonData) {
|
|
5
|
+
var buckets = baseData.map(function (item) {
|
|
6
|
+
return typeof item.key !== 'string'
|
|
7
|
+
? "".concat(item.key[0], " to ").concat(item.key[1])
|
|
8
|
+
: item.key;
|
|
9
|
+
});
|
|
10
|
+
var baseValues = baseData.map(function (item) { return item.count; });
|
|
11
|
+
var cmpValues = comparisonData.map(function (item) { return item.count; });
|
|
12
|
+
// Mean Absolute Error (MAE)
|
|
13
|
+
var mae = baseValues.reduce(function (sum, value, index) { return sum + Math.abs(value - cmpValues[index]); }, 0) / buckets.length;
|
|
14
|
+
// Root Mean Square Error (RMSE)
|
|
15
|
+
var rmse = Math.sqrt(baseValues.reduce(function (sum, value, index) { return sum + Math.pow(value - cmpValues[index], 2); }, 0) / buckets.length);
|
|
16
|
+
// Pearson Correlation Coefficient
|
|
17
|
+
var baseAve = baseValues.reduce(function (sum, value) { return sum + value; }, 0) / buckets.length;
|
|
18
|
+
var cmpAvg = cmpValues.reduce(function (sum, value) { return sum + value; }, 0) / buckets.length;
|
|
19
|
+
var numerator = baseValues.reduce(function (sum, value, index) {
|
|
20
|
+
return sum + (value - baseAve) * (cmpValues[index] - cmpAvg);
|
|
21
|
+
}, 0);
|
|
22
|
+
var denominator = Math.sqrt(baseValues.reduce(function (sum, value) { return sum + Math.pow(value - baseAve, 2); }, 0) *
|
|
23
|
+
cmpValues.reduce(function (sum, value) { return sum + Math.pow(value - cmpAvg, 2); }, 0));
|
|
24
|
+
var correlation = numerator / denominator;
|
|
25
|
+
var robustChiSquare = baseValues.reduce(function (sum, expected, index) {
|
|
26
|
+
var observed = cmpValues[index];
|
|
27
|
+
if (expected === 0 && observed === 0) {
|
|
28
|
+
return sum; // Both expected and observed are 0, no contribution to chi-square
|
|
29
|
+
}
|
|
30
|
+
else if (expected === 0) {
|
|
31
|
+
return sum + observed; // Add observed value to chi-square when expected is 0
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return sum + Math.pow(observed - expected, 2) / expected;
|
|
35
|
+
}
|
|
36
|
+
}, 0);
|
|
37
|
+
// Chi-Square Contributions
|
|
38
|
+
var chiSquareContributions = buckets.map(function (group, index) {
|
|
39
|
+
var expected = baseValues[index];
|
|
40
|
+
var observed = cmpValues[index];
|
|
41
|
+
var contribution = 0;
|
|
42
|
+
if (expected === 0 && observed === 0) {
|
|
43
|
+
contribution = 0;
|
|
44
|
+
}
|
|
45
|
+
else if (expected === 0) {
|
|
46
|
+
contribution = observed;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
contribution = Math.pow(observed - expected, 2) / expected;
|
|
50
|
+
}
|
|
51
|
+
return { group: group, contribution: contribution };
|
|
52
|
+
});
|
|
53
|
+
return { mae: mae, rmse: rmse, correlation: correlation, robustChiSquare: robustChiSquare, chiSquareContributions: chiSquareContributions };
|
|
54
|
+
};
|
|
55
|
+
var LabeledValueRow = function (_a) {
|
|
56
|
+
var label = _a.label, value = _a.value;
|
|
57
|
+
return (_jsxs(Group, { justify: "space-between", children: [_jsx(Text, { fw: 600, size: "sm", className: "uppercase", children: label }), _jsx(Text, { size: "sm", c: "primary", children: value })] }));
|
|
58
|
+
};
|
|
59
|
+
var StatisticsCard = function (_a) {
|
|
60
|
+
var baseData = _a.baseData, comparisonData = _a.comparisonData;
|
|
61
|
+
var metrics = computeStatistics(baseData, comparisonData);
|
|
62
|
+
return (_jsxs(Stack, { gap: "xs", children: [_jsx(LabeledValueRow, { label: "Mean Absolute Error (MAE)", value: metrics.mae.toFixed(4) }), _jsx(LabeledValueRow, { label: "Root Mean Square Error (RMSE)", value: metrics.rmse.toFixed(4) }), _jsx(LabeledValueRow, { label: "Pearson Correlation Coefficient", value: metrics.correlation.toFixed(4) }), _jsx(LabeledValueRow, { label: "Robust Chi-Square Statistic", value: metrics.robustChiSquare.toFixed(4) }), _jsx(Text, { fw: 600, size: "sm", className: "uppercase", children: "Chi-Square Contributions by Group" }), _jsx(ScrollArea, { h: 200, children: _jsxs(Table, { striped: true, withTableBorder: true, withColumnBorders: true, stickyHeader: true, stickyHeaderOffset: 0, children: [_jsx(Table.Thead, { children: _jsxs(Table.Tr, { children: [_jsx(Table.Th, { children: "Group" }), _jsx(Table.Th, { children: "Contribution" })] }) }), _jsx(Table.Tbody, { children: metrics.chiSquareContributions.map(function (_a) {
|
|
63
|
+
var group = _a.group, contribution = _a.contribution;
|
|
64
|
+
return (_jsxs(Table.Tr, { children: [_jsx(Table.Td, { children: group }), _jsx(Table.Td, { children: contribution.toFixed(4) })] }, group));
|
|
65
|
+
}) })] }) })] }));
|
|
66
|
+
};
|
|
67
|
+
export default StatisticsCard;
|
|
68
|
+
//# sourceMappingURL=StatisticsCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatisticsCard.js","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/statistics/StatisticsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AggregationsData } from '@gen3/core';
|
|
3
|
+
import { SimilarityChart, GroundWithComparisonDatasets } from '../types';
|
|
4
|
+
interface StatisticsPanelProps {
|
|
5
|
+
data: Record<string, AggregationsData>;
|
|
6
|
+
datasets: GroundWithComparisonDatasets;
|
|
7
|
+
comparisonChartsConfig: Record<string, SimilarityChart>;
|
|
8
|
+
numColumns?: number;
|
|
9
|
+
style?: 'tile' | 'box';
|
|
10
|
+
}
|
|
11
|
+
declare const StatisticsPanel: React.FC<StatisticsPanelProps>;
|
|
12
|
+
export default StatisticsPanel;
|
|
13
|
+
//# sourceMappingURL=StatisticsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatisticsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/features/CohortSimilarity/statistics/StatisticsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAKzE,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvC,QAAQ,EAAE,4BAA4B,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmCnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|