@clickview/reports 0.85.0-rc.1 → 0.85.0-rc.2
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/.vite/manifest.json +284 -284
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{DMI-Lxl02.chunk.js → BCcIdtcy2.chunk.js} +2 -2
- package/dist/scripts/{DMI-Lxl02.chunk.js.map → BCcIdtcy2.chunk.js.map} +1 -1
- package/dist/scripts/{ClOZ7MLV.chunk.js → BIlepbnA.chunk.js} +2 -2
- package/dist/scripts/{ClOZ7MLV.chunk.js.map → BIlepbnA.chunk.js.map} +1 -1
- package/dist/scripts/{3EzrYsbw2.chunk.js → BX5YDJVD2.chunk.js} +2 -2
- package/dist/scripts/{3EzrYsbw2.chunk.js.map → BX5YDJVD2.chunk.js.map} +1 -1
- package/dist/scripts/{Bua2prVk2.chunk.js → BY9ZIRoW2.chunk.js} +2 -2
- package/dist/scripts/{Bua2prVk2.chunk.js.map → BY9ZIRoW2.chunk.js.map} +1 -1
- package/dist/scripts/{CowZxgkl2.chunk.js → BkkPVinl2.chunk.js} +2 -2
- package/dist/scripts/{CowZxgkl2.chunk.js.map → BkkPVinl2.chunk.js.map} +1 -1
- package/dist/scripts/{Udxe63DQ.chunk.js → BsAss53i.chunk.js} +2 -2
- package/dist/scripts/{Udxe63DQ.chunk.js.map → BsAss53i.chunk.js.map} +1 -1
- package/dist/scripts/{CJIwkABI.chunk.js → BsTmrvS_.chunk.js} +2 -2
- package/dist/scripts/{CJIwkABI.chunk.js.map → BsTmrvS_.chunk.js.map} +1 -1
- package/dist/scripts/{1pdbKMyH.chunk.js → BzSZm3J1.chunk.js} +2 -2
- package/dist/scripts/{1pdbKMyH.chunk.js.map → BzSZm3J1.chunk.js.map} +1 -1
- package/dist/scripts/{c7dUmf3R.chunk.js → C5k6lVOP.chunk.js} +2 -2
- package/dist/scripts/{c7dUmf3R.chunk.js.map → C5k6lVOP.chunk.js.map} +1 -1
- package/dist/scripts/{DTy5e0Yv2.chunk.js → CPp4jaPB2.chunk.js} +2 -2
- package/dist/scripts/{DTy5e0Yv2.chunk.js.map → CPp4jaPB2.chunk.js.map} +1 -1
- package/dist/scripts/{r-dVoZ7W2.chunk.js → Cdlk0Qkj2.chunk.js} +2 -2
- package/dist/scripts/{r-dVoZ7W2.chunk.js.map → Cdlk0Qkj2.chunk.js.map} +1 -1
- package/dist/scripts/ClX2mOw_.chunk.js +1 -0
- package/dist/scripts/{CMKPCLR42.chunk.js → D0fFZDhm2.chunk.js} +2 -2
- package/dist/scripts/{CMKPCLR42.chunk.js.map → D0fFZDhm2.chunk.js.map} +1 -1
- package/dist/scripts/{B9S_LeFP.chunk.js → DMuXCE-z.chunk.js} +2 -2
- package/dist/scripts/{B9S_LeFP.chunk.js.map → DMuXCE-z.chunk.js.map} +1 -1
- package/dist/scripts/{3q7nyVif2.chunk.js → DNZvrGV22.chunk.js} +2 -2
- package/dist/scripts/{3q7nyVif2.chunk.js.map → DNZvrGV22.chunk.js.map} +1 -1
- package/dist/scripts/{2MxiB_er.chunk.js → DUzAx5n_.chunk.js} +2 -2
- package/dist/scripts/{2MxiB_er.chunk.js.map → DUzAx5n_.chunk.js.map} +1 -1
- package/dist/scripts/DaBzvZF9.chunk.js +1 -0
- package/dist/scripts/{Cpm-LpwK.chunk.js → DkhktXkG.chunk.js} +2 -2
- package/dist/scripts/{Cpm-LpwK.chunk.js.map → DkhktXkG.chunk.js.map} +1 -1
- package/dist/scripts/{Bx5qk-PZ.chunk.js → DtSAu9Xt.chunk.js} +3 -3
- package/dist/scripts/{Bx5qk-PZ.chunk.js.map → DtSAu9Xt.chunk.js.map} +1 -1
- package/dist/scripts/{ktNy7dHM2.chunk.js → DvxtrAxT2.chunk.js} +2 -2
- package/dist/scripts/{ktNy7dHM2.chunk.js.map → DvxtrAxT2.chunk.js.map} +1 -1
- package/dist/scripts/{BvNaANAO2.chunk.js → DxD2uVzf2.chunk.js} +2 -2
- package/dist/scripts/{BvNaANAO2.chunk.js.map → DxD2uVzf2.chunk.js.map} +1 -1
- package/dist/scripts/{DgPadkLi2.chunk.js → I9MVVxo82.chunk.js} +2 -2
- package/dist/scripts/{DgPadkLi2.chunk.js.map → I9MVVxo82.chunk.js.map} +1 -1
- package/dist/scripts/{BnfA2fln.chunk.js → IH7D3jLI.chunk.js} +2 -2
- package/dist/scripts/{BnfA2fln.chunk.js.map → IH7D3jLI.chunk.js.map} +1 -1
- package/dist/scripts/{CKRKdk5U.chunk.js → OU_kRJz_.chunk.js} +2 -2
- package/dist/scripts/{CKRKdk5U.chunk.js.map → OU_kRJz_.chunk.js.map} +1 -1
- package/dist/scripts/{n2iCrpxU.chunk.js → P4zTQoDZ.chunk.js} +2 -2
- package/dist/scripts/{n2iCrpxU.chunk.js.map → P4zTQoDZ.chunk.js.map} +1 -1
- package/dist/scripts/{CqCz1X85.chunk.js → PZOjj17O.chunk.js} +2 -2
- package/dist/scripts/{CqCz1X85.chunk.js.map → PZOjj17O.chunk.js.map} +1 -1
- package/dist/scripts/{CCLDpjnt2.chunk.js → XgwoBT6z2.chunk.js} +2 -2
- package/dist/scripts/{CCLDpjnt2.chunk.js.map → XgwoBT6z2.chunk.js.map} +1 -1
- package/dist/scripts/{app-BigOHyYp.js → app-m6P7KXE1.js} +3 -3
- package/dist/scripts/{app-BigOHyYp.js.map → app-m6P7KXE1.js.map} +1 -1
- package/dist/scripts/{BpzXy-5d.chunk.js → bNV2NeSi.chunk.js} +2 -2
- package/dist/scripts/{BpzXy-5d.chunk.js.map → bNV2NeSi.chunk.js.map} +1 -1
- package/dist/scripts/{BKW2JeVr.chunk.js → fIFpt-kC.chunk.js} +2 -2
- package/dist/scripts/{BKW2JeVr.chunk.js.map → fIFpt-kC.chunk.js.map} +1 -1
- package/dist/scripts/{CKVaLGJC.chunk.js → fOHWXn7-.chunk.js} +2 -2
- package/dist/scripts/{CKVaLGJC.chunk.js.map → fOHWXn7-.chunk.js.map} +1 -1
- package/dist/scripts/{BfhdSOSX2.chunk.js → jXHCFC1j2.chunk.js} +2 -2
- package/dist/scripts/{BfhdSOSX2.chunk.js.map → jXHCFC1j2.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/Bs1YLdQb.chunk.js +0 -1
- package/dist/scripts/Cah5ISd-.chunk.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{P as e,st as t}from"./CM0wW4AE.chunk.js";import{d as n,n as r}from"./dUFTODMz.chunk.js";import{t as i}from"./I5Dnl_eN.chunk.js";import{t as a}from"./H5KLIhR_.chunk.js";import{t as o}from"./C7xZhn-Q.chunk.js";import{t as s}from"./DIAxWspB.chunk.js";import{r as c}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{P as e,st as t}from"./CM0wW4AE.chunk.js";import{d as n,n as r}from"./dUFTODMz.chunk.js";import{t as i}from"./I5Dnl_eN.chunk.js";import{t as a}from"./H5KLIhR_.chunk.js";import{t as o}from"./C7xZhn-Q.chunk.js";import{t as s}from"./DIAxWspB.chunk.js";import{r as c}from"./app-m6P7KXE1.js";import{t as l}from"./DvxtrAxT2.chunk.js";import{c as u}from"./XgwoBT6z2.chunk.js";import{n as d,t as f}from"./BkkPVinl2.chunk.js";import{n as p}from"./I9MVVxo82.chunk.js";import{n as m,t as h}from"./D0fFZDhm2.chunk.js";import{i as g,n as _}from"./P4zTQoDZ.chunk.js";import{t as v}from"./fOHWXn7-.chunk.js";import{n as y,t as b}from"./BsTmrvS_.chunk.js";t();var x={image:`_image_1a110_1`},S=e(),C=i.encloseNamespace(`reportsShared.totalViewsByContentCardEmptyState`);function w(){return(0,S.jsxs)(s,{className:`flex-grow-1 justify-content-center`,children:[(0,S.jsx)(s.Image,{src:a.EmptyStates.Shared.PuzzleGroup,className:x.image}),(0,S.jsx)(s.Heading,{className:`h6`,children:C(`heading`)}),(0,S.jsx)(s.Info,{className:`w-100`,children:C(`description`)})]})}var T=`reportsShared.videoViewsByContentCard`,E=i.encloseNamespace(T),D=function(e){return e.ClickView=`ClickView content`,e.TV=`TV content`,e.UserGenerated=`User generated content`,e}(D||{});function O(){let e=c(`video-views`),t=n(l.aggregation(`content_type`,e));function i(e){switch(e){case D.ClickView:return u.YELLOW;case D.TV:return u.PURPLE;case D.UserGenerated:return u.GREEN}}function a(e){switch(e){case D.ClickView:return E(`clickview`);case D.TV:return E(`tv`);case D.UserGenerated:return E(`userGenerated`)}}function o(e){return e?e.filter(e=>e.name===D.ClickView||e.name===D.TV||e.name===D.UserGenerated).map(e=>({name:a(e.name),y:e.count,color:i(e.name)})):null}let s=o(t.data);return(0,S.jsx)(`div`,{className:`d-flex flex-column h-100 bg-white rounded p-3`,children:s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`h2`,{className:`h6 mb-3`,children:(0,S.jsx)(r,{namespace:T,phrase:`videoViews`})}),s.length?(0,S.jsx)(y,{data:s}):(0,S.jsx)(w,{})]}):(0,S.jsx)(`div`,{className:`partial-loading-background w-25`,children:`\xA0`})})}var k={column1:`_column1_1s749_1`,column2:`_column2_1s749_4`,videoViewsCard:`_videoViewsCard_1s749_7`},A=i.encloseNamespace(`videos.schoolVideoOverview`),j=50;function M(){return o({title:A(`videos`)}),p(A(`videos`)),g(_()),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(v,{}),(0,S.jsxs)(`div`,{className:`d-flex gap-3`,children:[(0,S.jsxs)(`div`,{className:`d-flex flex-column gap-3 ${k.column1}`,children:[(0,S.jsx)(`div`,{className:k.videoViewsCard,children:(0,S.jsx)(m,{type:`year_group`})}),(0,S.jsx)(`div`,{className:k.videoViewsCard,children:(0,S.jsx)(b,{})}),(0,S.jsx)(`div`,{className:k.videoViewsCard,children:(0,S.jsx)(O,{})})]}),(0,S.jsxs)(`div`,{className:`d-flex flex-column gap-3 ${k.column2}`,children:[(0,S.jsx)(`div`,{className:k.videoViewsCard,children:(0,S.jsx)(h,{type:`user_type`})}),(0,S.jsx)(`div`,{className:k.videoViewsCard,children:(0,S.jsx)(f,{type:d.RootTopic,heading:A(`totalViewsSubject`),emptyStateText:A(`emptySubjects`),limit:j})}),(0,S.jsx)(`div`,{className:k.videoViewsCard,children:(0,S.jsx)(f,{type:d.ChildTopic,heading:A(`totalViewsTopic`),emptyStateText:A(`emptyTopics`),limit:j})})]})]})]})}export{M as SchoolVideoOverviewView};
|
|
2
|
+
//# sourceMappingURL=DUzAx5n_.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2MxiB_er.chunk.js","names":[],"sources":["../../src/shared/views/overview-cards/video-views-by-content-card/empty-state/total-views-by-content-card-empty-state.module.scss","../../src/shared/views/overview-cards/video-views-by-content-card/empty-state/TotalViewsByContentCardEmptyState.tsx","../../src/shared/views/overview-cards/video-views-by-content-card/VideoViewsByContentCard.tsx","../../src/apps/videos/views/school-video-overview/school-video-overview.module.scss","../../src/apps/videos/views/school-video-overview/SchoolVideoOverviewView.tsx"],"sourcesContent":[":local {\n .image {\n width: 12.5rem;\n height: auto;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\nimport { ImageUrls } from 'shared/constants/ReportsImageUrls';\n\nimport styles from './total-views-by-content-card-empty-state.module.scss';\n\nconst namespace = 'reportsShared.totalViewsByContentCardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function TotalViewsByContentCardEmptyState() {\n return (\n <EmptyState className='flex-grow-1 justify-content-center'>\n <EmptyState.Image\n src={ImageUrls.EmptyStates.Shared.PuzzleGroup}\n className={styles.image}\n />\n <EmptyState.Heading className='h6'>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n {getPhrase('description')}\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ColumnChart } from 'shared/components/column-chart/ColumnChart';\nimport { CHART_COLOUR } from 'shared/constants/ChartStyles';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TotalViewsByContentCardEmptyState } from 'shared/views/overview-cards/video-views-by-content-card/empty-state/TotalViewsByContentCardEmptyState';\n\nconst namespace = 'reportsShared.videoViewsByContentCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nenum ContentType {\n ClickView = 'ClickView content',\n TV = 'TV content',\n UserGenerated = 'User generated content'\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoViewsByContentCardView() {\n const requestFilter = useGetRequestFilter('video-views');\n\n const contentTypeCount = Flight.useBasicFetch<GroupedAnalyticsCount[]>(\n VideoViewsV2Requests.aggregation('content_type', requestFilter)\n );\n\n function mapContentTypeToChartColour(contentType: string) {\n switch (contentType) {\n case ContentType.ClickView: return CHART_COLOUR.YELLOW;\n case ContentType.TV: return CHART_COLOUR.PURPLE;\n case ContentType.UserGenerated: return CHART_COLOUR.GREEN;\n }\n }\n\n function mapContentTypeToLabel(contentType: string) {\n switch (contentType) {\n case ContentType.ClickView: return getPhrase('clickview');\n case ContentType.TV: return getPhrase('tv');\n case ContentType.UserGenerated: return getPhrase('userGenerated');\n }\n }\n\n function getChartData(contentTypeCount: GroupedAnalyticsCount[]) {\n if (!contentTypeCount) return null;\n\n const mappedGroups = contentTypeCount.filter(group => (\n group.name === ContentType.ClickView ||\n group.name === ContentType.TV ||\n group.name === ContentType.UserGenerated\n )).map(group => ({\n name: mapContentTypeToLabel(group.name),\n y: group.count,\n color: mapContentTypeToChartColour(group.name)\n }));\n\n return mappedGroups;\n }\n\n const chartData = getChartData(contentTypeCount.data);\n\n return (\n <div className='d-flex flex-column h-100 bg-white rounded p-3'>\n {chartData ?\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='videoViews' /></h2>\n\n {chartData.length ?\n <ColumnChart data={chartData} /> :\n <TotalViewsByContentCardEmptyState />\n }\n </> :\n <div className='partial-loading-background w-25'> </div>\n }\n </div>\n );\n}\n",":local {\n .column1 {\n flex: 3 0;\n }\n \n .column2 {\n flex: 4 0;\n }\n\n .videoViewsCard {\n height: 20rem;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { useSetHeaderActions } from 'shared/hooks/UseSetHeaderActions';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { getVideoHeaderActions } from 'shared/utils/HeaderActionUtils';\nimport { StreamsBarChartCardView } from 'shared/views/overview-cards/streams-bar-chart-card/StreamsBarChartCardView';\nimport { StreamsChartCardView } from 'shared/views/overview-cards/streams-chart-card/StreamsChartCardView';\nimport { TopClassificationsCardView } from 'shared/views/overview-cards/top-classifications-card/TopClassificationsCardView';\nimport { VideoViewsByContentCardView } from 'shared/views/overview-cards/video-views-by-content-card/VideoViewsByContentCard';\nimport { VideoViewsByRoleCardView } from 'shared/views/overview-cards/video-views-by-role-card/VideoViewsByRoleCardView';\n\nimport { SchoolVideosNav } from 'apps/videos/components/school-videos-nav/SchoolVideosNav';\n\nimport styles from './school-video-overview.module.scss';\n\nconst namespace = 'videos.schoolVideoOverview';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst TOP_CLASSIFICATIONS_LIMIT = 50;\n\nexport function SchoolVideoOverviewView(): JSX.Element {\n useSetPageMetadata({ title: getPhrase('videos') });\n useSetHeaderTitle(getPhrase('videos'));\n useSetHeaderActions(getVideoHeaderActions());\n\n return (\n <div>\n <SchoolVideosNav />\n <div className='d-flex gap-3'>\n <div className={`d-flex flex-column gap-3 ${styles.column1}`}>\n <div className={styles.videoViewsCard}>\n <StreamsBarChartCardView type='year_group' />\n </div>\n <div className={styles.videoViewsCard}>\n <VideoViewsByRoleCardView />\n </div>\n <div className={styles.videoViewsCard}>\n <VideoViewsByContentCardView />\n </div>\n </div>\n <div className={`d-flex flex-column gap-3 ${styles.column2}`}>\n <div className={styles.videoViewsCard}>\n <StreamsChartCardView type='user_type' />\n </div>\n <div className={styles.videoViewsCard}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.RootTopic}\n heading={getPhrase('totalViewsSubject')}\n emptyStateText={getPhrase('emptySubjects')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n <div className={styles.videoViewsCard}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.ChildTopic}\n heading={getPhrase('totalViewsTopic')}\n emptyStateText={getPhrase('emptyTopics')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DUzAx5n_.chunk.js","names":[],"sources":["../../src/shared/views/overview-cards/video-views-by-content-card/empty-state/total-views-by-content-card-empty-state.module.scss","../../src/shared/views/overview-cards/video-views-by-content-card/empty-state/TotalViewsByContentCardEmptyState.tsx","../../src/shared/views/overview-cards/video-views-by-content-card/VideoViewsByContentCard.tsx","../../src/apps/videos/views/school-video-overview/school-video-overview.module.scss","../../src/apps/videos/views/school-video-overview/SchoolVideoOverviewView.tsx"],"sourcesContent":[":local {\n .image {\n width: 12.5rem;\n height: auto;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\nimport { ImageUrls } from 'shared/constants/ReportsImageUrls';\n\nimport styles from './total-views-by-content-card-empty-state.module.scss';\n\nconst namespace = 'reportsShared.totalViewsByContentCardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function TotalViewsByContentCardEmptyState() {\n return (\n <EmptyState className='flex-grow-1 justify-content-center'>\n <EmptyState.Image\n src={ImageUrls.EmptyStates.Shared.PuzzleGroup}\n className={styles.image}\n />\n <EmptyState.Heading className='h6'>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n {getPhrase('description')}\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ColumnChart } from 'shared/components/column-chart/ColumnChart';\nimport { CHART_COLOUR } from 'shared/constants/ChartStyles';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TotalViewsByContentCardEmptyState } from 'shared/views/overview-cards/video-views-by-content-card/empty-state/TotalViewsByContentCardEmptyState';\n\nconst namespace = 'reportsShared.videoViewsByContentCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nenum ContentType {\n ClickView = 'ClickView content',\n TV = 'TV content',\n UserGenerated = 'User generated content'\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoViewsByContentCardView() {\n const requestFilter = useGetRequestFilter('video-views');\n\n const contentTypeCount = Flight.useBasicFetch<GroupedAnalyticsCount[]>(\n VideoViewsV2Requests.aggregation('content_type', requestFilter)\n );\n\n function mapContentTypeToChartColour(contentType: string) {\n switch (contentType) {\n case ContentType.ClickView: return CHART_COLOUR.YELLOW;\n case ContentType.TV: return CHART_COLOUR.PURPLE;\n case ContentType.UserGenerated: return CHART_COLOUR.GREEN;\n }\n }\n\n function mapContentTypeToLabel(contentType: string) {\n switch (contentType) {\n case ContentType.ClickView: return getPhrase('clickview');\n case ContentType.TV: return getPhrase('tv');\n case ContentType.UserGenerated: return getPhrase('userGenerated');\n }\n }\n\n function getChartData(contentTypeCount: GroupedAnalyticsCount[]) {\n if (!contentTypeCount) return null;\n\n const mappedGroups = contentTypeCount.filter(group => (\n group.name === ContentType.ClickView ||\n group.name === ContentType.TV ||\n group.name === ContentType.UserGenerated\n )).map(group => ({\n name: mapContentTypeToLabel(group.name),\n y: group.count,\n color: mapContentTypeToChartColour(group.name)\n }));\n\n return mappedGroups;\n }\n\n const chartData = getChartData(contentTypeCount.data);\n\n return (\n <div className='d-flex flex-column h-100 bg-white rounded p-3'>\n {chartData ?\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='videoViews' /></h2>\n\n {chartData.length ?\n <ColumnChart data={chartData} /> :\n <TotalViewsByContentCardEmptyState />\n }\n </> :\n <div className='partial-loading-background w-25'> </div>\n }\n </div>\n );\n}\n",":local {\n .column1 {\n flex: 3 0;\n }\n \n .column2 {\n flex: 4 0;\n }\n\n .videoViewsCard {\n height: 20rem;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { useSetHeaderActions } from 'shared/hooks/UseSetHeaderActions';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { getVideoHeaderActions } from 'shared/utils/HeaderActionUtils';\nimport { StreamsBarChartCardView } from 'shared/views/overview-cards/streams-bar-chart-card/StreamsBarChartCardView';\nimport { StreamsChartCardView } from 'shared/views/overview-cards/streams-chart-card/StreamsChartCardView';\nimport { TopClassificationsCardView } from 'shared/views/overview-cards/top-classifications-card/TopClassificationsCardView';\nimport { VideoViewsByContentCardView } from 'shared/views/overview-cards/video-views-by-content-card/VideoViewsByContentCard';\nimport { VideoViewsByRoleCardView } from 'shared/views/overview-cards/video-views-by-role-card/VideoViewsByRoleCardView';\n\nimport { SchoolVideosNav } from 'apps/videos/components/school-videos-nav/SchoolVideosNav';\n\nimport styles from './school-video-overview.module.scss';\n\nconst namespace = 'videos.schoolVideoOverview';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst TOP_CLASSIFICATIONS_LIMIT = 50;\n\nexport function SchoolVideoOverviewView(): JSX.Element {\n useSetPageMetadata({ title: getPhrase('videos') });\n useSetHeaderTitle(getPhrase('videos'));\n useSetHeaderActions(getVideoHeaderActions());\n\n return (\n <div>\n <SchoolVideosNav />\n <div className='d-flex gap-3'>\n <div className={`d-flex flex-column gap-3 ${styles.column1}`}>\n <div className={styles.videoViewsCard}>\n <StreamsBarChartCardView type='year_group' />\n </div>\n <div className={styles.videoViewsCard}>\n <VideoViewsByRoleCardView />\n </div>\n <div className={styles.videoViewsCard}>\n <VideoViewsByContentCardView />\n </div>\n </div>\n <div className={`d-flex flex-column gap-3 ${styles.column2}`}>\n <div className={styles.videoViewsCard}>\n <StreamsChartCardView type='user_type' />\n </div>\n <div className={styles.videoViewsCard}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.RootTopic}\n heading={getPhrase('totalViewsSubject')}\n emptyStateText={getPhrase('emptySubjects')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n <div className={styles.videoViewsCard}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.ChildTopic}\n heading={getPhrase('totalViewsTopic')}\n emptyStateText={getPhrase('emptyTopics')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./app-m6P7KXE1.js";export{e as ErrorView};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{P as e,st as t}from"./CM0wW4AE.chunk.js";import{t as n}from"./C7xZhn-Q.chunk.js";import{t as r}from"./DIAxWspB.chunk.js";import{F as i}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{P as e,st as t}from"./CM0wW4AE.chunk.js";import{t as n}from"./C7xZhn-Q.chunk.js";import{t as r}from"./DIAxWspB.chunk.js";import{F as i}from"./app-m6P7KXE1.js";t();var a={container:`_container_nowrk_1`,subContainer:`_subContainer_nowrk_7`},o=e();function s(e){return n({title:e.error?.heading}),e.error?(0,o.jsx)(`div`,{style:{height:`85vh`},children:(0,o.jsx)(`div`,{style:{backgroundImage:`url(${e.imageUrl})`},className:a.container,children:(0,o.jsxs)(r,{className:a.subContainer,children:[(0,o.jsx)(r.Heading,{children:e.error.heading}),(0,o.jsx)(r.Info,{className:`w-33 mb-4`,children:e.error.description}),e.error.cta!==!1&&(0,o.jsx)(r.Cta,{text:e.error.cta.text,className:`btn btn-dark ${e.error.description?`mt-n2`:``}`,href:e.error.cta.url,icon:i,openInNewTab:!0})]})})}):(0,o.jsx)(o.Fragment,{})}export{s as NoClassroomsErrorView};
|
|
2
|
+
//# sourceMappingURL=DkhktXkG.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DkhktXkG.chunk.js","names":[],"sources":["../../src/apps/default/views/no-classrooms-error/no-classrooms-error.module.scss","../../src/apps/default/views/no-classrooms-error/NoClassroomsErrorView.tsx"],"sourcesContent":[":local {\n .container {\n height: 100%;\n background-size: 100%;\n background-repeat: no-repeat;\n position: relative;\n }\n \n .subContainer {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n }\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\n\nimport styles from './no-classrooms-error.module.scss';\n\ninterface NoClassroomsErrorViewProps {\n error: ErrorPageError;\n imageUrl?: string;\n}\n\nexport function NoClassroomsErrorView(props: NoClassroomsErrorViewProps): React.ReactElement {\n useSetPageMetadata({ title: props.error?.heading });\n\n if (!props.error)\n return <></>;\n\n return (\n <div style={{ height: '85vh' }}>\n <div style={{ backgroundImage: `url(${props.imageUrl})` }} className={styles.container}>\n <EmptyState className={styles.subContainer}>\n <EmptyState.Heading>{props.error.heading}</EmptyState.Heading>\n\n <EmptyState.Info className='w-33 mb-4'>{props.error.description}</EmptyState.Info>\n\n {props.error.cta !== false &&\n <EmptyState.Cta\n text={props.error.cta.text}\n className={`btn btn-dark ${props.error.description ? 'mt-n2' : ''}`}\n href={props.error.cta.url}\n icon={NewWindowSvg}\n openInNewTab\n />\n }\n </EmptyState>\n </div>\n </div>\n );\n}\n"],"mappings":"4PCcA,SAAgB,EAAsB,EAAuD,CAM3F,OALA,EAAmB,CAAE,MAAO,EAAM,OAAO,QAAS,CAAC,CAE9C,EAAM,OAIT,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,OAAQ,OAAQ,WAC5B,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,gBAAiB,OAAO,EAAM,SAAS,GAAI,CAAE,UAAW,EAAO,oBAC3E,EAAA,EAAA,MAAC,EAAD,CAAY,UAAW,EAAO,sBAA9B,EACE,EAAA,EAAA,KAAC,EAAW,QAAZ,CAAA,SAAqB,EAAM,MAAM,QAA6B,CAAA,EAE9D,EAAA,EAAA,KAAC,EAAW,KAAZ,CAAiB,UAAU,qBAAa,EAAM,MAAM,YAA8B,CAAA,CAEjF,EAAM,MAAM,MAAQ,KACnB,EAAA,EAAA,KAAC,EAAW,IAAZ,CACE,KAAM,EAAM,MAAM,IAAI,KACtB,UAAW,gBAAgB,EAAM,MAAM,YAAc,QAAU,KAC/D,KAAM,EAAM,MAAM,IAAI,IACtB,KAAM,EACN,aAAA,GACA,CAAA,IAGF,CAAA,CACF,CAAA,EArBC,EAAA,EAAA,KAAA,EAAA,SAAA,EAAK,CAAA"}
|