@clickview/lite 0.0.23-rc.0 → 0.0.23-rc.1
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/css/0.chunk.css.map +1 -0
- package/dist/css/1.chunk.css +156 -0
- package/dist/css/1.chunk.css.map +1 -0
- package/dist/css/11.chunk.css +7 -0
- package/dist/css/11.chunk.css.map +1 -0
- package/dist/css/12.chunk.css.map +1 -0
- package/dist/css/13.chunk.css.map +1 -0
- package/dist/css/14.chunk.css.map +1 -0
- package/dist/css/15.chunk.css.map +1 -0
- package/dist/css/16.chunk.css.map +1 -0
- package/dist/css/17.chunk.css.map +1 -0
- package/dist/css/18.chunk.css.map +1 -0
- package/dist/css/2.chunk.css.map +1 -0
- package/dist/css/20.chunk.css.map +1 -0
- package/dist/css/21.chunk.css.map +1 -0
- package/dist/css/22.chunk.css.map +1 -0
- package/dist/css/23.chunk.css.map +1 -0
- package/dist/css/24.chunk.css.map +1 -0
- package/dist/css/25.chunk.css.map +1 -0
- package/dist/css/26.chunk.css.map +1 -0
- package/dist/css/27.chunk.css.map +1 -0
- package/dist/css/28.chunk.css.map +1 -0
- package/dist/css/29.chunk.css.map +1 -0
- package/dist/css/30.chunk.css +32 -0
- package/dist/css/30.chunk.css.map +1 -0
- package/dist/css/31.chunk.css.map +1 -0
- package/dist/css/32.chunk.css.map +1 -0
- package/dist/css/33.chunk.css +8 -0
- package/dist/css/33.chunk.css.map +1 -0
- package/dist/css/34.chunk.css +6 -0
- package/dist/css/34.chunk.css.map +1 -0
- package/dist/css/35.chunk.css.map +1 -0
- package/dist/css/37.chunk.css +7 -0
- package/dist/css/37.chunk.css.map +1 -0
- package/dist/css/38.chunk.css +6 -0
- package/dist/css/38.chunk.css.map +1 -0
- package/dist/css/39.chunk.css +40 -0
- package/dist/css/39.chunk.css.map +1 -0
- package/dist/css/43.chunk.css +38 -0
- package/dist/css/43.chunk.css.map +1 -0
- package/dist/css/5.chunk.css.map +1 -0
- package/dist/css/52.chunk.css +9 -0
- package/dist/css/52.chunk.css.map +1 -0
- package/dist/css/6.chunk.css.map +1 -0
- package/dist/css/7.chunk.css +94 -0
- package/dist/css/7.chunk.css.map +1 -0
- package/dist/css/lite-app.css.map +1 -0
- package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +1 -2
- package/dist/libs/common/src/react/utils/TextHelper.d.ts +1 -2
- package/dist/libs/shared/src/flight-requests/ThemeRequests.d.ts +11 -0
- package/dist/projects/lite/src/shared/filters/VerifiedEmailFilter.d.ts +2 -0
- package/dist/scripts/0.chunk.js +346 -0
- package/dist/scripts/0.chunk.js.map +1 -0
- package/dist/scripts/1.chunk.js +656 -0
- package/dist/scripts/1.chunk.js.map +1 -0
- package/dist/scripts/10.chunk.js +607 -0
- package/dist/scripts/10.chunk.js.map +1 -0
- package/dist/scripts/11.chunk.js +380 -0
- package/dist/scripts/11.chunk.js.map +1 -0
- package/dist/scripts/12.chunk.js +434 -0
- package/dist/scripts/12.chunk.js.map +1 -0
- package/dist/scripts/13.chunk.js +1287 -0
- package/dist/scripts/13.chunk.js.map +1 -0
- package/dist/scripts/14.chunk.js +739 -0
- package/dist/scripts/14.chunk.js.map +1 -0
- package/dist/scripts/15.chunk.js +808 -0
- package/dist/scripts/15.chunk.js.map +1 -0
- package/dist/scripts/16.chunk.js +482 -0
- package/dist/scripts/16.chunk.js.map +1 -0
- package/dist/scripts/17.chunk.js +766 -0
- package/dist/scripts/17.chunk.js.map +1 -0
- package/dist/scripts/18.chunk.js +647 -0
- package/dist/scripts/18.chunk.js.map +1 -0
- package/dist/scripts/19.chunk.js +212 -0
- package/dist/scripts/19.chunk.js.map +1 -0
- package/dist/scripts/2.chunk.js +859 -0
- package/dist/scripts/2.chunk.js.map +1 -0
- package/dist/scripts/20.chunk.js +1694 -0
- package/dist/scripts/20.chunk.js.map +1 -0
- package/dist/scripts/21.chunk.js +1348 -0
- package/dist/scripts/21.chunk.js.map +1 -0
- package/dist/scripts/22.chunk.js +1109 -0
- package/dist/scripts/22.chunk.js.map +1 -0
- package/dist/scripts/23.chunk.js +1144 -0
- package/dist/scripts/23.chunk.js.map +1 -0
- package/dist/scripts/24.chunk.js +841 -0
- package/dist/scripts/24.chunk.js.map +1 -0
- package/dist/scripts/25.chunk.js +956 -0
- package/dist/scripts/25.chunk.js.map +1 -0
- package/dist/scripts/26.chunk.js +655 -0
- package/dist/scripts/26.chunk.js.map +1 -0
- package/dist/scripts/27.chunk.js +615 -0
- package/dist/scripts/27.chunk.js.map +1 -0
- package/dist/scripts/28.chunk.js +622 -0
- package/dist/scripts/28.chunk.js.map +1 -0
- package/dist/scripts/29.chunk.js +721 -0
- package/dist/scripts/29.chunk.js.map +1 -0
- package/dist/scripts/3.chunk.js +18851 -0
- package/dist/scripts/3.chunk.js.map +1 -0
- package/dist/scripts/30.chunk.js +468 -0
- package/dist/scripts/30.chunk.js.map +1 -0
- package/dist/scripts/31.chunk.js +441 -0
- package/dist/scripts/31.chunk.js.map +1 -0
- package/dist/scripts/32.chunk.js +424 -0
- package/dist/scripts/32.chunk.js.map +1 -0
- package/dist/scripts/33.chunk.js +638 -0
- package/dist/scripts/33.chunk.js.map +1 -0
- package/dist/scripts/34.chunk.js +509 -0
- package/dist/scripts/34.chunk.js.map +1 -0
- package/dist/scripts/35.chunk.js +957 -0
- package/dist/scripts/35.chunk.js.map +1 -0
- package/dist/scripts/36.chunk.js +938 -0
- package/dist/scripts/36.chunk.js.map +1 -0
- package/dist/scripts/37.chunk.js +416 -0
- package/dist/scripts/37.chunk.js.map +1 -0
- package/dist/scripts/38.chunk.js +482 -0
- package/dist/scripts/38.chunk.js.map +1 -0
- package/dist/scripts/39.chunk.js +245 -0
- package/dist/scripts/39.chunk.js.map +1 -0
- package/dist/scripts/4.chunk.js +403 -0
- package/dist/scripts/4.chunk.js.map +1 -0
- package/dist/scripts/40.chunk.js +337 -0
- package/dist/scripts/40.chunk.js.map +1 -0
- package/dist/scripts/41.chunk.js +350 -0
- package/dist/scripts/41.chunk.js.map +1 -0
- package/dist/scripts/42.chunk.js +381 -0
- package/dist/scripts/42.chunk.js.map +1 -0
- package/dist/scripts/43.chunk.js +345 -0
- package/dist/scripts/43.chunk.js.map +1 -0
- package/dist/scripts/44.chunk.js +404 -0
- package/dist/scripts/44.chunk.js.map +1 -0
- package/dist/scripts/45.chunk.js +221 -0
- package/dist/scripts/45.chunk.js.map +1 -0
- package/dist/scripts/46.chunk.js +230 -0
- package/dist/scripts/46.chunk.js.map +1 -0
- package/dist/scripts/47.chunk.js +409 -0
- package/dist/scripts/47.chunk.js.map +1 -0
- package/dist/scripts/48.chunk.js +272 -0
- package/dist/scripts/48.chunk.js.map +1 -0
- package/dist/scripts/49.chunk.js +267 -0
- package/dist/scripts/49.chunk.js.map +1 -0
- package/dist/scripts/5.chunk.js +1088 -0
- package/dist/scripts/5.chunk.js.map +1 -0
- package/dist/scripts/50.chunk.js +225 -0
- package/dist/scripts/50.chunk.js.map +1 -0
- package/dist/scripts/51.chunk.js +318 -0
- package/dist/scripts/51.chunk.js.map +1 -0
- package/dist/scripts/52.chunk.js +64 -0
- package/dist/scripts/52.chunk.js.map +1 -0
- package/dist/scripts/53.chunk.js +108 -0
- package/dist/scripts/53.chunk.js.map +1 -0
- package/dist/scripts/54.chunk.js +110 -0
- package/dist/scripts/54.chunk.js.map +1 -0
- package/dist/scripts/55.chunk.js +162 -0
- package/dist/scripts/55.chunk.js.map +1 -0
- package/dist/scripts/56.chunk.js +102 -0
- package/dist/scripts/56.chunk.js.map +1 -0
- package/dist/scripts/57.chunk.js +145 -0
- package/dist/scripts/57.chunk.js.map +1 -0
- package/dist/scripts/58.chunk.js +139 -0
- package/dist/scripts/58.chunk.js.map +1 -0
- package/dist/scripts/59.chunk.js +142 -0
- package/dist/scripts/59.chunk.js.map +1 -0
- package/dist/scripts/6.chunk.js +406 -0
- package/dist/scripts/6.chunk.js.map +1 -0
- package/dist/scripts/60.chunk.js +173 -0
- package/dist/scripts/60.chunk.js.map +1 -0
- package/dist/scripts/61.chunk.js +160 -0
- package/dist/scripts/61.chunk.js.map +1 -0
- package/dist/scripts/62.chunk.js +98 -0
- package/dist/scripts/62.chunk.js.map +1 -0
- package/dist/scripts/63.chunk.js +48 -0
- package/dist/scripts/63.chunk.js.map +1 -0
- package/dist/scripts/64.chunk.js +32 -0
- package/dist/scripts/64.chunk.js.map +1 -0
- package/dist/scripts/65.chunk.js +29 -0
- package/dist/scripts/65.chunk.js.map +1 -0
- package/dist/scripts/66.chunk.js +27 -0
- package/dist/scripts/66.chunk.js.map +1 -0
- package/dist/scripts/67.chunk.js +65 -0
- package/dist/scripts/67.chunk.js.map +1 -0
- package/dist/scripts/68.chunk.js +67 -0
- package/dist/scripts/68.chunk.js.map +1 -0
- package/dist/scripts/69.chunk.js +104 -0
- package/dist/scripts/69.chunk.js.map +1 -0
- package/dist/scripts/7.chunk.js +2614 -0
- package/dist/scripts/7.chunk.js.map +1 -0
- package/dist/scripts/70.chunk.js +1001 -0
- package/dist/scripts/70.chunk.js.map +1 -0
- package/dist/scripts/71.chunk.js +36 -0
- package/dist/scripts/71.chunk.js.map +1 -0
- package/dist/scripts/8.chunk.js +24 -0
- package/dist/scripts/8.chunk.js.map +1 -0
- package/dist/scripts/9.chunk.js +327 -0
- package/dist/scripts/9.chunk.js.map +1 -0
- package/dist/scripts/bundle-f675e246e2.min.js +8 -0
- package/dist/scripts/bundle.js +44557 -0
- package/dist/scripts/bundle.js.map +1 -0
- package/dist/scripts/bundles.json +1 -1
- package/dist/scripts/polyfills.js +15254 -0
- package/dist/scripts/polyfills.js.map +1 -0
- package/package.json +51 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/audience-label.scss","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/badges/Badge.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/badges/badge.scss","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/series-widget-item/PartialSeriesList.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/AudienceRequests.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseHover.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/AudienceHelper.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/VideoDetailsHelper.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/subjects/views/classification-series-list-view/ClassificationSeriesListView.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/subjects/views/classification-series-list-view/classification-series-list.scss"],"names":[],"mappings":"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","file":"scripts/29.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { Audience } from 'libs/shared/interfaces';\r\n\r\nimport styles from './audience-label.scss';\r\n\r\ntype AudienceBorderColour = 'dark' | 'white';\r\n\r\ninterface AudienceLabelProps {\r\n audience: Audience;\r\n border: AudienceBorderColour;\r\n}\r\n\r\nexport function AudienceLabel(props: AudienceLabelProps): JSX.Element {\r\n if (!props.audience)\r\n return <></>;\r\n\r\n return (\r\n <div className={`border rounded-pill d-inline-block px-2 mt-1 ${'border-' + props.border}`}>\r\n {props.audience.name}\r\n </div>\r\n );\r\n}\r\n\r\ninterface AudienceLabelListProps {\r\n audiences: Audience[];\r\n border: AudienceBorderColour;\r\n}\r\n\r\nexport function AudienceLabelList(props: AudienceLabelListProps): JSX.Element {\r\n if (!props.audiences || !props.audiences.length)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n {props.audiences.map((a, idx) => (\r\n <span key={idx} className={styles.audienceLabelListItem}>\r\n <AudienceLabel audience={a} border={props.border} />\r\n </span>\r\n ))}\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audienceLabelListItem\":\"cv--audienceLabelListItem--2YGVO\"};","import * as React from 'react';\r\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport { Placement } from 'react-bootstrap/Overlay';\r\n\r\nimport { VideoDetailsHelper } from 'libs/shared/utils/VideoDetailsHelper';\r\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\r\nimport { Rating } from 'libs/shared/interfaces';\r\n\r\nimport styles from './badge.scss';\r\n\r\nexport enum BadgeType {\r\n Duration = 'duration',\r\n Interactive = 'interactive',\r\n Rating = 'rating',\r\n ProductionYear = 'production-year'\r\n}\r\n\r\ninterface BadgeProps {\r\n type: BadgeType;\r\n data: any;\r\n}\r\n\r\ninterface TooltipOptions {\r\n placement: Placement;\r\n title: string;\r\n}\r\n\r\nfunction getClassName(type: BadgeType, data: any): string {\r\n const baseClass = 'badge';\r\n\r\n let typeClass = '';\r\n\r\n if (type === BadgeType.Duration)\r\n typeClass = styles.duration;\r\n\r\n if (type === BadgeType.Interactive)\r\n typeClass = styles.interactive;\r\n\r\n if (type === BadgeType.Rating)\r\n typeClass = `${styles.rating} ${VideoDetailsHelper.mapRatingToClass((data as Rating).value)}`;\r\n\r\n if (type === BadgeType.ProductionYear)\r\n typeClass = styles.productionYear;\r\n\r\n return `${baseClass} ${typeClass}`;\r\n}\r\n\r\nfunction getBadgeText(type: BadgeType, data: any): string {\r\n if (type === BadgeType.Interactive)\r\n return 'Interactive';\r\n\r\n if (type === BadgeType.Duration)\r\n return DurationHelper.ToDisplayDuration(data); // data expected to be the duration\r\n\r\n if (type === BadgeType.Rating)\r\n return (data as Rating).code; // data expected to be a rating object\r\n\r\n if (type === BadgeType.ProductionYear)\r\n return data; // data should be the production year\r\n}\r\n\r\nfunction getTooltip(type: BadgeType, data: any): TooltipOptions {\r\n if (type === BadgeType.Rating)\r\n return {\r\n title: (data as Rating).name,\r\n placement: 'top'\r\n };\r\n\r\n return null;\r\n}\r\n\r\nfunction hasData(type: BadgeType, data: any): boolean {\r\n if (type === BadgeType.Rating)\r\n return data && !!(data as Rating).value;\r\n\r\n return !!data;\r\n}\r\n\r\nexport function Badge(props : BadgeProps): JSX.Element {\r\n const { type, data } = props;\r\n\r\n if (!hasData(type, data))\r\n return <></>;\r\n\r\n const className = getClassName(type, data);\r\n const text = getBadgeText(type, data);\r\n const tooltip = getTooltip(type, data);\r\n\r\n if (tooltip) {\r\n return (\r\n <OverlayTrigger\r\n placement={tooltip.placement}\r\n overlay={<Tooltip id={tooltip.title}>{tooltip.title}</Tooltip>}\r\n >\r\n <span className={className}>{text}</span>\r\n </OverlayTrigger>\r\n );\r\n }\r\n\r\n return <span className={className}>{text}</span>;\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"duration\":\"cv--duration--3XH_S\",\"interactive\":\"cv--interactive--INxgX\",\"productionYear\":\"cv--productionYear--Bt6Bx\",\"rating\":\"cv--rating--3bOtF\",\"badgeList\":\"cv--badgeList--1BsVS\"};","import * as React from 'react';\r\nimport styles from './series-widget-item.scss';\r\n\r\nconst PARTIAL_SERIES = [...Array(4)];\r\n\r\nexport const PartialSeriesList = () => (\r\n <div className='pb-3'>\r\n <div className={`partial-loading-background ${styles.partialLoadingHeading}`} dangerouslySetInnerHTML={{ __html: ' ' }} />\r\n <div className='row'>\r\n {PARTIAL_SERIES.map((s, idx) =>\r\n <div key={idx} className='col-6 col-sm-4 col-lg-3 '>\r\n <div className='py-2'>\r\n <div className={`${styles.partialLoading} partial-loading-background`} />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n);","import { Flight } from 'libs/common/flight';\r\n\r\nconst endpoints = {\r\n presentationAudiences: () => `/api/domain/v1/subjects/audiences?type=subject`\r\n};\r\n\r\nexport const AudienceRequests = {\r\n presentationAudiences(): Flight.Request {\r\n return {\r\n bootstrapName: 'presentationAudiences',\r\n url: endpoints.presentationAudiences(),\r\n key: `presentation:audiences`,\r\n normalize: false\r\n };\r\n }\r\n};","import * as React from 'react';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\ninterface HoverOptions {\r\n /**\r\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\r\n * after a delay (controlled by the `timeout` option below)\r\n */\r\n className?: string;\r\n\r\n /**\r\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\r\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\r\n * triggered or not. Defaults to 0.\r\n */\r\n delay?: number;\r\n}\r\n\r\nconst defaultOptions: HoverOptions = {\r\n className: '',\r\n delay: 0\r\n};\r\n\r\n/**\r\n * This hook detects hover events on an element.\r\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\r\n */\r\nexport function useHover<T extends HTMLElement>(\r\n options: HoverOptions = defaultOptions\r\n): [ React.MutableRefObject<T>, boolean ] {\r\n const [ isHovering, setHovering ] = React.useState(false);\r\n\r\n const ref = React.useRef<T>(null);\r\n\r\n const triggerHover = FunctionHelper.throttle(() => {\r\n if (options.className)\r\n ref.current?.classList?.add(options.className);\r\n\r\n setHovering(true);\r\n }, options.delay, { leading: false });\r\n\r\n const handleMouseOut = () => {\r\n if (FunctionHelper.isFunction(triggerHover.cancel))\r\n triggerHover.cancel();\r\n\r\n if (options.className)\r\n ref.current?.classList?.remove(options.className);\r\n\r\n setHovering(false);\r\n };\r\n\r\n React.useLayoutEffect(() => {\r\n const node = ref.current;\r\n\r\n if (node) {\r\n node.addEventListener('mouseenter', triggerHover);\r\n node.addEventListener('mouseleave', handleMouseOut);\r\n\r\n return () => {\r\n node.removeEventListener('mouseenter', triggerHover);\r\n node.removeEventListener('mouseleave', handleMouseOut);\r\n };\r\n }\r\n }, [ref.current]);\r\n\r\n return [ ref, isHovering ];\r\n}\r\n\r\nexport function useHoverIntent<T extends HTMLElement>(className: string): [ React.MutableRefObject<T>, boolean ] {\r\n return useHover({\r\n className,\r\n delay: 275\r\n });\r\n}","import { HashObject } from 'libs/common/react/interfaces';\r\nimport { Audience, PresentationAudience, BaseObject } from 'libs/shared/interfaces';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\n\r\nconst DIGIT_REGEX = /([0-9]+)/ig;\r\nconst NAME_REGEX = /(^\\w+)/ig;\r\nconst COUNT_OFFSET = 1;\r\n\r\nfunction processAudienceRanges(audienceValues: number[]): string[] {\r\n /**\r\n * Lookahead by increments of offset\r\n */\r\n let offset = COUNT_OFFSET;\r\n\r\n let initialVal, nextVal;\r\n let isContinguous: boolean = false;\r\n\r\n const ranges: string[] = [];\r\n\r\n // Audience values need to be in ascending order\r\n audienceValues = audienceValues.sort((a, b) => a - b);\r\n\r\n let i, j;\r\n\r\n for (i = 0; i < audienceValues.length; i++) {\r\n j = i + 1;\r\n\r\n // Set our lower boundary to compare against\r\n if (!isContinguous)\r\n initialVal = audienceValues[i];\r\n\r\n nextVal = audienceValues[j];\r\n\r\n /**\r\n * Where the next number is also the next incremental value\r\n * we're going to continue iterating until the next value\r\n * is no longer contiguos.\r\n */\r\n if (audienceValues[i] + offset === nextVal) {\r\n isContinguous = true;\r\n\r\n } else if (isContinguous) {\r\n\r\n /**\r\n * Where we were tracking a contiguous set, format appropriately \r\n * and store the vals\r\n */\r\n\r\n ranges.push(`${initialVal} - ${audienceValues[i]}`);\r\n isContinguous = false;\r\n\r\n } else {\r\n\r\n /**\r\n * Where the values arent contiguous, just store the current value\r\n */\r\n\r\n ranges.push(`${audienceValues[i]}`);\r\n isContinguous = false;\r\n }\r\n\r\n }\r\n\r\n return ranges;\r\n}\r\n\r\nexport const AudienceHelper = {\r\n /**\r\n * This is needed to sort an object's audiences, as they are not sorted by the backend.\r\n * To do this, we take the presentation audiences (sorted) and filter them by the object's\r\n * audiences, leaving behind a sorted array of object audiences.\r\n */\r\n getSortedPresentationAudiences(\r\n objectAudiences: Audience[],\r\n presentationAudiences: PresentationAudience[]\r\n ): PresentationAudience[] {\r\n const objectAudienceIds = objectAudiences.map(audience => audience.id.toString());\r\n\r\n /**\r\n * Remove audiences that aren't relevant for the user's current presentation\r\n */\r\n const filteredAudiences = presentationAudiences.filter(presAudience => {\r\n return objectAudienceIds.includes(presAudience.masterId.toString());\r\n });\r\n\r\n return filteredAudiences;\r\n },\r\n\r\n getMergedPresentationAudienceString(presentationAudiences: PresentationAudience[]): PresentationAudience {\r\n if (presentationAudiences.length === 1)\r\n return presentationAudiences[0];\r\n\r\n /**\r\n * Create a string with all of the audiences\r\n */\r\n const valuesStr = presentationAudiences.map(a => a.name).join(',');\r\n\r\n /**\r\n * Extract all the numbers and matches from the string\r\n * Where there aren't matches, just return the first Audience.\r\n */\r\n const valMatches = valuesStr.match(DIGIT_REGEX);\r\n const nameMatches = valuesStr.match(NAME_REGEX);\r\n\r\n if (!valMatches || !nameMatches) return presentationAudiences[0];\r\n\r\n const audienceValues = valMatches\r\n .map(l => +l) || [];\r\n\r\n /**\r\n * Build set of logical audience ranges\r\n */\r\n const audienceRange = processAudienceRanges(audienceValues);\r\n\r\n /**\r\n * Get matches name\r\n */\r\n const audienceName = nameMatches[0];\r\n\r\n return {\r\n name: `${audienceName} ${audienceRange.join(' , ')}`\r\n } as PresentationAudience;\r\n },\r\n\r\n /**\r\n * This function assumes the members array passed in is ordered by `name`.\r\n */\r\n sortMembersWithDuplicateNamesByAudience(members: BaseObject[]): BaseObject[] {\r\n // Returns the lowest level audience out of an array of audience objects by looking at the name\r\n const getLowestAudience = (audiences: Audience[]) => {\r\n if (!audiences.length)\r\n return null;\r\n\r\n let lowestAudience: Audience;\r\n let lowestAudienceDigit: number;\r\n\r\n audiences.forEach(audience => {\r\n const digit = +ArrayHelper.first(audience.name.match(DIGIT_REGEX));\r\n\r\n if (!lowestAudience) {\r\n lowestAudience = audience;\r\n lowestAudienceDigit = digit;\r\n return;\r\n }\r\n\r\n if (digit > lowestAudienceDigit)\r\n lowestAudience = audience;\r\n });\r\n\r\n return lowestAudience;\r\n };\r\n\r\n // This is used to track how many times a member's name appears in the collection\r\n const nameCountMap: HashObject<number> = {};\r\n\r\n let sorted: BaseObject[] = [];\r\n\r\n members.forEach(member => {\r\n if (!nameCountMap[member.name]) {\r\n nameCountMap[member.name] = 1;\r\n sorted.push(member);\r\n return;\r\n }\r\n\r\n sorted.push(member);\r\n nameCountMap[member.name]++;\r\n\r\n // Take the slice of duplicates that we want to sort by audience\r\n const slice = sorted.splice(sorted.length - nameCountMap[member.name]);\r\n\r\n // Sort the slice by lowest audience\r\n const sortedSlice = slice.sort((a: any, b: any) => {\r\n const firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);\r\n const secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);\r\n\r\n if (!firstObjLowestAudience && secondObjLowestAudience)\r\n return 1;\r\n\r\n if (!secondObjLowestAudience)\r\n return -1;\r\n\r\n return firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);\r\n });\r\n\r\n sorted = sorted.concat(sortedSlice);\r\n });\r\n\r\n return sorted;\r\n }\r\n};","export const VideoDetailsHelper = {\r\n mapRatingToClass(ratingValue: number): string {\r\n if (!ratingValue) return '';\r\n\r\n const ratings = (rating: number): string => {\r\n switch (true) {\r\n case (rating < 32):\r\n return 'bg-purple';\r\n case (rating < 48):\r\n return 'bg-success';\r\n case (rating < 80):\r\n return 'bg-info';\r\n case (rating < 96):\r\n return 'bg-danger';\r\n case (rating < 128):\r\n return 'bg-pink';\r\n case (rating >= 128):\r\n return 'bg-warning';\r\n default:\r\n return ''; // Handles unrated\r\n }\r\n };\r\n\r\n return ratings(ratingValue);\r\n }\r\n};","import * as React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nimport { SeriesCollection, Classification, Config, PresentationAudience, CurrentUser, Presentation } from 'libs/shared/interfaces';\r\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\r\nimport { Breadcrumbs, PartialBreadcrumbs, BreadcrumbType } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\r\nimport { useSetQueryString } from 'libs/shared/hooks/useQueryString';\r\n\r\nimport { useParseAudienceParams } from 'libs/shared/apps/subjects/hooks/useAudienceParams';\r\nimport { AudienceReducer } from 'libs/shared/apps/subjects/reducers/AudienceReducer';\r\nimport { AudienceFilter, PartialAudienceFilter } from 'libs/shared/apps/subjects/components/audience-filter/AudienceFilter';\r\nimport { SeriesWidgetItem, PartialSeriesList } from 'libs/shared/components/widgets/items/series-widget-item';\r\n\r\nimport { getClassificationAppLink, getDashboardAppLink, getSeriesSubviewAppLink } from 'apps/subjects/utils/ClassificationAppLinks';\r\n\r\nimport styles from './classification-series-list.scss';\r\n\r\nconst getPhrase = LanguageService.encloseNamespace('subjects.classificationSeriesList');\r\n\r\ninterface ClassificationSeriesListViewProps {\r\n id: string;\r\n queryParams?: HashObject;\r\n}\r\n\r\nexport function ClassificationSeriesListView(props: ClassificationSeriesListViewProps): React.ReactElement {\r\n const { id, queryParams } = props;\r\n const [ activeAudiences, audienceDispatch ] = React.useReducer(AudienceReducer, {});\r\n\r\n /**\r\n * Data fetching\r\n */\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser);\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n const classification = Flight.useBasicFetch<Classification>(\r\n currentUser.data?.id ? ClassificationRequests.classification(id, currentUser.data?.id) : null);\r\n const presentation = Flight.useBasicFetch<Presentation>(ClassificationRequests.presentation());\r\n const path = Flight.useBasicFetch<Classification[]>(ClassificationRequests.path(id));\r\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(AudienceRequests.presentationAudiences());\r\n\r\n /**\r\n * We use the current active audiences to re-fetch content for that specific audience set.\r\n */\r\n const activeAudienceIds = ObjectHelper.keys(activeAudiences);\r\n const activeAudienceValues = ObjectHelper.values(activeAudiences);\r\n\r\n const presentationId = presentation?.data?.id;\r\n\r\n const seriesRequest = ClassificationRequests.series(id, presentationId, activeAudienceIds);\r\n const series = Flight.useGetResponse<SeriesCollection>(seriesRequest && seriesRequest.key);\r\n const fetchSeries = Flight.useGetFetch(seriesRequest);\r\n\r\n React.useEffect(() => {\r\n if (!presentationId)\r\n return;\r\n\r\n fetchSeries();\r\n\r\n }, [presentationId]);\r\n\r\n const classificationAppLinkFn = getClassificationAppLink();\r\n\r\n /**\r\n * Where our selected presentation audiences change, always update the URL \r\n */\r\n useSetQueryString({\r\n appLink: getSeriesSubviewAppLink(classification.data),\r\n paramBuilder: () => ({ a: activeAudienceValues.map(v => v.name) }),\r\n isValid: () => !!(classification.data?.id),\r\n appLinkOptions: { replace: true }\r\n }, [activeAudienceValues.length]);\r\n\r\n /**\r\n * On page load, we will parse the querystring and automatically\r\n * select any applicable presentation audiences. This should only be performed\r\n * once we have access to the audience data for the selected classification.\r\n */\r\n const shouldParseParams = !!(audiences.data && audiences.data.length);\r\n useParseAudienceParams(queryParams, audiences.data, audienceDispatch, [shouldParseParams]);\r\n\r\n\r\n const breadcrumbsDataLoaded = !!path.data;\r\n const audienceDataLoaded = !!audiences.data;\r\n\r\n return (\r\n <div className='bg-white'>\r\n {(!!classification.data && !!config.data)\r\n ? <BannerHeader\r\n heading={getPhrase('heading', { classification: classification.data.name })}\r\n banner={classification.data.banner}\r\n imageCdnUrl={config.data.imageCdnUrl}\r\n />\r\n : <PartialBannerHeader />\r\n }\r\n <div className='px-3'>\r\n <div className='py-3 mb-3 border-bottom'>\r\n {breadcrumbsDataLoaded\r\n ? <Breadcrumbs\r\n currentItem={classification.data}\r\n type={BreadcrumbType.Static}\r\n getItemAppLink={classificationAppLinkFn}\r\n data={path.data}\r\n rootItem={{ label: getPhrase('dashboard'), appLink: getDashboardAppLink() }}\r\n subview={getPhrase('subview')}\r\n />\r\n : <PartialBreadcrumbs />\r\n }\r\n {audienceDataLoaded\r\n ? <AudienceFilter\r\n audiences={audiences.data}\r\n activeAudiences={activeAudiences}\r\n setAudience={audienceDispatch}\r\n />\r\n : <PartialAudienceFilter />\r\n }\r\n </div>\r\n {(!!series.data?.data && !!classification.data)\r\n ? <div className='mx-n2'>\r\n {series.data.data.map(s => (\r\n <div className={`d-inline-flex position-relative px-2 mb-2 ${styles.seriesItem}`}>\r\n <SeriesWidgetItem\r\n data={s}\r\n appLink={getSeriesSubviewAppLink(classification.data)}\r\n audiences={audiences.data}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n : <PartialSeriesList />\r\n }\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seriesItem\":\"cv--seriesItem--1tgrv\"};"],"sourceRoot":""}
|