@clickview/lite 0.51.4-rc.2 → 0.51.4-rc.4
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/bundles.json +2 -2
- package/dist/css/{lite-app-64ea1f3376.css → lite-app-e013955dce.css} +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1329-05c23e2627-lite.chunk.js → 1329-7064e95200-lite.chunk.js} +3 -3
- package/dist/scripts/{1329-05c23e2627-lite.chunk.js.map → 1329-7064e95200-lite.chunk.js.map} +1 -1
- package/dist/scripts/1750-4e7575b781-lite.chunk.js +2 -0
- package/dist/scripts/1750-4e7575b781-lite.chunk.js.map +1 -0
- package/dist/scripts/1820-345bf53a3c-lite.chunk.js +2 -0
- package/dist/scripts/1820-345bf53a3c-lite.chunk.js.map +1 -0
- package/dist/scripts/1905-ccaa3a43a6-lite.chunk.js +2 -0
- package/dist/scripts/1905-ccaa3a43a6-lite.chunk.js.map +1 -0
- package/dist/scripts/2004-d891104ed4-lite.chunk.js +3 -0
- package/dist/scripts/2004-d891104ed4-lite.chunk.js.map +1 -0
- package/dist/scripts/3020-dbc723b098-lite.chunk.js +2 -0
- package/dist/scripts/3020-dbc723b098-lite.chunk.js.map +1 -0
- package/dist/scripts/3231-b46a5ecb6a-lite.chunk.js +2 -0
- package/dist/scripts/3231-b46a5ecb6a-lite.chunk.js.map +1 -0
- package/dist/scripts/3645-d9a5464436-lite.chunk.js +3 -0
- package/dist/scripts/3645-d9a5464436-lite.chunk.js.map +1 -0
- package/dist/scripts/389-58c7682943-lite.chunk.js +2 -0
- package/dist/scripts/389-58c7682943-lite.chunk.js.map +1 -0
- package/dist/scripts/4690-03372d68ac-lite.chunk.js +2 -0
- package/dist/scripts/4690-03372d68ac-lite.chunk.js.map +1 -0
- package/dist/scripts/5229-a1990cb48e-lite.chunk.js +2 -0
- package/dist/scripts/5229-a1990cb48e-lite.chunk.js.map +1 -0
- package/dist/scripts/5385-becf24e76b-lite.chunk.js +2 -0
- package/dist/scripts/5385-becf24e76b-lite.chunk.js.map +1 -0
- package/dist/scripts/5595-96a0649af0-lite.chunk.js +2 -0
- package/dist/scripts/5595-96a0649af0-lite.chunk.js.map +1 -0
- package/dist/scripts/5928-0d803fceb2-lite.chunk.js +2 -0
- package/dist/scripts/5928-0d803fceb2-lite.chunk.js.map +1 -0
- package/dist/scripts/5940-f335f8c290-lite.chunk.js +2 -0
- package/dist/scripts/5940-f335f8c290-lite.chunk.js.map +1 -0
- package/dist/scripts/8830-ab7e2a0927-lite.chunk.js +2 -0
- package/dist/scripts/8830-ab7e2a0927-lite.chunk.js.map +1 -0
- package/dist/scripts/9230-6dee40b1fb-lite.chunk.js +3 -0
- package/dist/scripts/9230-6dee40b1fb-lite.chunk.js.map +1 -0
- package/dist/scripts/{9843-fdefde55d7-lite.chunk.js → 9843-b82415b68c-lite.chunk.js} +2 -2
- package/dist/scripts/9843-b82415b68c-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-5481f5bf86.min.js → bundle-c26ba15832.min.js} +3 -3
- package/dist/scripts/bundle-c26ba15832.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1750-2620ba7c35-lite.chunk.js +0 -2
- package/dist/scripts/1750-2620ba7c35-lite.chunk.js.map +0 -1
- package/dist/scripts/1820-7e03cf1f19-lite.chunk.js +0 -2
- package/dist/scripts/1820-7e03cf1f19-lite.chunk.js.map +0 -1
- package/dist/scripts/1905-7a0a3aabe9-lite.chunk.js +0 -2
- package/dist/scripts/1905-7a0a3aabe9-lite.chunk.js.map +0 -1
- package/dist/scripts/2004-00a63b9511-lite.chunk.js +0 -3
- package/dist/scripts/2004-00a63b9511-lite.chunk.js.map +0 -1
- package/dist/scripts/3020-152e57c92c-lite.chunk.js +0 -2
- package/dist/scripts/3020-152e57c92c-lite.chunk.js.map +0 -1
- package/dist/scripts/3231-af3a47245c-lite.chunk.js +0 -2
- package/dist/scripts/3231-af3a47245c-lite.chunk.js.map +0 -1
- package/dist/scripts/3645-bd1d174b0c-lite.chunk.js +0 -3
- package/dist/scripts/3645-bd1d174b0c-lite.chunk.js.map +0 -1
- package/dist/scripts/389-d8ef749150-lite.chunk.js +0 -2
- package/dist/scripts/389-d8ef749150-lite.chunk.js.map +0 -1
- package/dist/scripts/4690-c5bff103d9-lite.chunk.js +0 -2
- package/dist/scripts/4690-c5bff103d9-lite.chunk.js.map +0 -1
- package/dist/scripts/5229-b673828f61-lite.chunk.js +0 -2
- package/dist/scripts/5229-b673828f61-lite.chunk.js.map +0 -1
- package/dist/scripts/5385-db9999f839-lite.chunk.js +0 -2
- package/dist/scripts/5385-db9999f839-lite.chunk.js.map +0 -1
- package/dist/scripts/5595-8f3931b8c2-lite.chunk.js +0 -2
- package/dist/scripts/5595-8f3931b8c2-lite.chunk.js.map +0 -1
- package/dist/scripts/5928-325f4d9b8b-lite.chunk.js +0 -2
- package/dist/scripts/5928-325f4d9b8b-lite.chunk.js.map +0 -1
- package/dist/scripts/5940-44479341a9-lite.chunk.js +0 -2
- package/dist/scripts/5940-44479341a9-lite.chunk.js.map +0 -1
- package/dist/scripts/8830-7264149694-lite.chunk.js +0 -2
- package/dist/scripts/8830-7264149694-lite.chunk.js.map +0 -1
- package/dist/scripts/9230-420e26f36c-lite.chunk.js +0 -3
- package/dist/scripts/9230-420e26f36c-lite.chunk.js.map +0 -1
- package/dist/scripts/9843-fdefde55d7-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-5481f5bf86.min.js.map +0 -1
- /package/dist/scripts/{1329-05c23e2627-lite.chunk.js.LICENSE.txt → 1329-7064e95200-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2004-00a63b9511-lite.chunk.js.LICENSE.txt → 2004-d891104ed4-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{3645-bd1d174b0c-lite.chunk.js.LICENSE.txt → 3645-d9a5464436-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9230-420e26f36c-lite.chunk.js.LICENSE.txt → 9230-6dee40b1fb-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-5481f5bf86.min.js.LICENSE.txt → bundle-c26ba15832.min.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/4690-c5bff103d9-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/actions/Actions.tsx","file:///app/packages/libs/shared/src/components/actions/actions.scss","file:///app/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","file:///app/packages/libs/shared/src/components/interactive-questions/interactive-questions.scss","file:///app/packages/libs/shared/src/components/interactive-questions/InteractiveQuestions.tsx","file:///app/packages/libs/shared/src/constants/MinimumGlanceHeight.ts","file:///app/packages/libs/shared/src/enums/InteractionCorrectness.ts","file:///app/packages/projects/lite/src/apps/interactives/components/printable-interactive-worksheet/printable-interactive-worksheet.scss","file:///app/packages/projects/lite/src/apps/interactives/components/printable-interactive-worksheet/PrintableInteractionContent.tsx","file:///app/packages/projects/lite/src/apps/interactives/components/printable-interactive-worksheet/PrintableInteractiveWorksheet.tsx","file:///app/packages/projects/lite/src/apps/interactives/utils/PrintInteractive.tsx","file:///app/packages/projects/lite/src/apps/interactives/views/preview-questions/preview-questions.scss","file:///app/packages/projects/lite/src/apps/interactives/views/preview-questions/PreviewQuestionsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { ActionButton } from './ActionButton';\nimport { ActionsDropdown } from './ActionsDropdown';\n\nexport interface ActionOptions {\n order?: number;\n label?: string | (() => JSX.Element);\n appLink?: Core.AppLink;\n href?: string;\n onClick?: () => void;\n svgName?: string;\n className?: string;\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\n tooltip?: string;\n showSpinner?: boolean;\n showBorder?: boolean; // only works for button without text label\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n disabled?: boolean;\n openInNewTab?: boolean; // Only used if appLink or href is provided\n group?: string;\n lazyPlaceholder?: boolean;\n}\n\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\n\ninterface ActionsProps {\n actions: ActionOptions[];\n className?: string;\n actionsDropdownClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n sortComponent?: JSX.Element;\n customSize?: boolean;\n fetchMore?: () => void;\n}\n\nexport function Actions(props: ActionsProps): JSX.Element {\n const orderedActions = React.useMemo(() => props.actions.sort((a, b) => a.order - b.order), [props.actions]);\n\n const buttonActions: ActionOptions[] = [];\n const moreActions: ActionOptions[] = [];\n\n orderedActions.forEach(a => {\n if (a.button)\n buttonActions.push(a);\n else\n moreActions.push(a);\n });\n\n let className = 'd-flex';\n\n if (props.className)\n className += ` ${props.className}`;\n\n if (!buttonActions.length && !moreActions.length)\n return <></>;\n\n return (\n <div className={className}>\n {buttonActions.length ? buttonActions.map((a, idx) => (\n <React.Fragment key={idx}>\n {(() => {\n if (a.label) {\n const label = FunctionHelper.isFunction(a.label)\n ? a.label\n : () => <>{a.label}</>;\n\n return (\n <ActionButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n svgSize={props.dropdownToggleSvgSize}\n className={a.className}\n tooltip={a.tooltip}\n showSpinner={a.showSpinner}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n >\n {label()}\n </ActionButton>\n );\n }\n\n const iconButton = (\n <IconButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n className={a.className}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n showBorder={a.showBorder}\n customSize={props.customSize}\n />\n );\n\n return a.tooltip\n ? <Tooltip title={a.tooltip} spanHack>{iconButton}</Tooltip>\n : iconButton;\n })()}\n </React.Fragment>\n )) : <></>}\n {props.sortComponent && props.sortComponent}\n {moreActions.length ? (\n <ActionsDropdown\n actions={moreActions}\n dropdownToggleClassName={props.actionsDropdownClassName}\n dropdownToggleSvgSize={props.dropdownToggleSvgSize}\n fetchMore={props.fetchMore}\n />\n ) : <></>}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dropdownToggle\":\"UCAnJ\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionOptions } from './Actions';\n\nimport styles from './actions.scss';\n\n\nconst namespace = 'shared.actions';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction LazyDropdownItems(): JSX.Element {\n return (\n <>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '8rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '12rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '11rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '9rem' }}></div>\n </div>\n </>\n );\n}\n\nfunction getDropdownItemClassName(actionClassName?: string): string {\n let className = 'dropdown-item';\n\n if (actionClassName)\n className += ` ${actionClassName}`;\n\n return className;\n}\n\nexport type DropdownActionOptions = Omit<ActionOptions, 'button'>;\n\ninterface ActionsDropdownItemProps {\n action: DropdownActionOptions;\n}\n\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\n const label = FunctionHelper.isFunction(props.action.label)\n ? props.action.label\n : () => <>{props.action.label}</>;\n\n if (props.action.appLink)\n return (\n <AppLink\n appLink={props.action.appLink}\n onClick={props.action.onClick}\n className={getDropdownItemClassName(props.action.className)}\n analyticsData={props.action.analyticsData}\n analyticsOptions={props.action.analyticsOptions}\n openInNewTab={props.action.openInNewTab}\n disabled={props.action.disabled}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </AppLink>\n );\n\n function onClick(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n\n if (props.action.analyticsData && props.action.analyticsOptions)\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\n\n if (FunctionHelper.isFunction(props.action.onClick))\n props.action.onClick();\n\n if (props.action.href)\n Core.LocationUtils.PageLoad(props.action.href, props.action.openInNewTab);\n }\n\n if (props.action.href) {\n return (\n <a\n className={getDropdownItemClassName(props.action.className)}\n onClick={onClick}\n href={props.action.href}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </a>\n );\n }\n\n return (\n <span\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\n onClick={onClick}\n role='button'\n tabIndex={0}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClick(e)}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2' />}\n {label()}\n </span>\n );\n}\n\ninterface ActionsDropdownProps {\n actions: DropdownActionOptions[];\n className?: string;\n dropdownToggleClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n fetchMore?: () => void;\n}\n\nActionsDropdown.defaultProps = {\n dropdownToggleClassName: 'btn btn-light',\n dropdownToggleSvgSize: SvgContainerSize.Small\n};\n\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\n if (!props.actions || !props.actions.length)\n return <></>;\n\n const isLazy = props.actions.some(a => a.lazyPlaceholder);\n\n let className = 'dropdown';\n\n if (props.className)\n className += ` ${props.className}`;\n\n // Generate unique id to avoid collisions.\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\n\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\n\n if (props.dropdownToggleClassName)\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\n\n let currentGroup: string;\n\n return (\n <div className={className}>\n <button\n className={dropdownToggleClassName}\n type='button'\n id={dropdownToggleId}\n data-bs-toggle='dropdown'\n data-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n aria-label={getPhrase('actionsDropdownLabel')}\n onClick={isLazy ? props.fetchMore : null}\n >\n <SvgContainer svgName={cvSvgLibrary.More} size={props.dropdownToggleSvgSize} />\n </button>\n <ul className='dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal' aria-labelledby={dropdownToggleId}>\n {isLazy ?\n <LazyDropdownItems /> :\n props.actions.map((a, idx) => {\n const showDivider = currentGroup !== undefined && currentGroup !== a.group;\n currentGroup = a.group;\n \n if (a.tooltip) {\n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <Tooltip title={a.tooltip} spanHack>\n <ActionsDropdownItem action={a} />\n </Tooltip>\n \n </li>\n );\n }\n \n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <ActionsDropdownItem action={a} />\n </li>\n );\n })\n }\n </ul>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"time\":\"JDp5N\",\"type\":\"AzIWg\",\"question\":\"UhEYq\",\"deleteContainer\":\"wBqoo\",\"delete\":\"OAQQu\",\"correctness\":\"W5sR9\",\"selected\":\"tfrDf\",\"row\":\"sGk59\"};","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InteractionCorrectness } from 'libs/shared/enums/InteractionCorrectness';\nimport { Interaction, Interactive, Timepoint } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { InteractionLabel } from './InteractionLabel';\n\nimport styles from './interactive-questions.scss';\n\nconst namespace = 'shared.interactiveQuestions';\n\ninterface CorrectnessProps {\n interaction: Interaction;\n getCorrectness?: (interaction: Interaction) => InteractionCorrectness;\n}\n\nfunction Correctness(props: CorrectnessProps): React.ReactElement {\n const { interaction, getCorrectness } = props;\n\n const correctness = getCorrectness(interaction);\n\n switch (correctness) {\n case InteractionCorrectness.Correct:\n return <span className='text-success'><SvgContainer size={SvgContainerSize.Medium} svgName={cvSvgLibrary.Check} /></span>;\n case InteractionCorrectness.Incorrect:\n return <span className='text-danger'><SvgContainer size={SvgContainerSize.Medium} svgName={cvSvgLibrary.Close} /></span>;\n case InteractionCorrectness.AwaitingMarking:\n return <span className='text-secondary italic'><i><Text namespace={namespace} phrase='pending' /></i></span>;\n case InteractionCorrectness.UnAnswered:\n return <button className='btn btn-outline-dark'><Text namespace={namespace} phrase='answer' /></button>;\n case InteractionCorrectness.Answered:\n return <span className='text-secondary italic'><i><Text namespace={namespace} phrase='answered' /></i></span>;\n case InteractionCorrectness.NotApplicable:\n return <></>;\n }\n}\n\ninterface InteractionComponentProps {\n interaction: Interaction;\n visibleAt: number;\n goToTimepoint: (interactionId: string) => void;\n onClickDelete?: (interactionId: string) => void;\n scrollTo: (offset: number, height: number) => void;\n selectedInteractionId: string;\n isFirstInteraction: boolean;\n getCorrectness?: (interaction: Interaction) => InteractionCorrectness;\n}\n\nfunction InteractionComponent(props: InteractionComponentProps): React.ReactElement {\n const {\n interaction,\n visibleAt,\n selectedInteractionId,\n goToTimepoint,\n scrollTo,\n isFirstInteraction\n } = props;\n\n const selected = interaction.id.toString() === selectedInteractionId?.toString();\n\n const ref = React.useRef<HTMLDivElement>();\n\n React.useEffect(() => {\n if (!selected)\n return;\n\n if (!ref.current)\n return;\n\n const el = ref.current;\n const rect = el.getBoundingClientRect();\n const offset = rect.top - el.offsetParent.getBoundingClientRect().top;\n\n scrollTo(offset, rect.height);\n }, [selected]);\n\n function onClick(): void {\n goToTimepoint && goToTimepoint(interaction.id);\n }\n\n function onClickDelete(event: React.MouseEvent): void {\n event.stopPropagation();\n\n props.onClickDelete(interaction.id);\n }\n\n /**\n * Don't have a cursor if there is no callback function.\n * i.e. when rendered in a popup\n */\n const cursor = goToTimepoint ? 'cursor-pointer' : 'cursor-default';\n\n return (\n <div ref={ref}>\n <DivButton className={`py-2 ${cursor} ${styles.row} ${selected ? styles.selected : ''}`} onClick={selected ? () => {} : onClick}>\n <span className={`${styles.time} me-2 ${selected ? 'fw-bold' : ''}`}>{isFirstInteraction ? DurationHelper.ToDisplayDuration(visibleAt) : ''}</span>\n <InteractionLabel\n interaction={interaction}\n showTypeName\n typeNameClassName={styles.type}\n questionClassName={styles.question}\n />\n {\n props.onClickDelete &&\n <DivButton onClick={onClickDelete} className={`${styles.deleteContainer}`}>\n <span className={`text-end ${styles.delete}`}>\n <SvgContainer\n size={SvgContainerSize.Medium}\n svgName={cvSvgLibrary.Delete}\n />\n </span>\n </DivButton>\n }\n {props.getCorrectness &&\n <span className={`text-end ${styles.correctness}`}>\n <Correctness interaction={interaction} getCorrectness={props.getCorrectness} />\n </span>\n }\n </DivButton>\n </div>\n );\n}\n\ninterface TimepointComponentProps {\n timepoint: Timepoint;\n goToTimepoint?: (timepointId: string, interactionId: string) => void;\n selectedInteractionId?: string;\n scrollTo?: (offset: number, height: number) => void;\n onClickDelete?: (interactionId: string) => void;\n getCorrectness?: (interaction: Interaction) => InteractionCorrectness;\n}\n\nexport function TimepointComponent(props: TimepointComponentProps): React.ReactElement {\n const {\n timepoint,\n scrollTo,\n onClickDelete,\n selectedInteractionId,\n getCorrectness\n } = props;\n\n function goToTimepoint(interactionId: string): void {\n props.goToTimepoint(timepoint.id, interactionId);\n }\n\n if (!timepoint.interactions)\n return <></>;\n\n return (\n <div>\n {timepoint.interactions.map((interaction, i) => (\n <InteractionComponent\n interaction={interaction}\n visibleAt={timepoint.visibleAt}\n goToTimepoint={props.goToTimepoint && goToTimepoint}\n onClickDelete={onClickDelete}\n scrollTo={scrollTo}\n selectedInteractionId={selectedInteractionId}\n isFirstInteraction={i === 0}\n getCorrectness={getCorrectness}\n key={i}\n />\n ))\n }\n </div>\n );\n}\n\nexport interface InteractiveQuestionProps {\n interactive: Interactive;\n goToTimepoint?: (timepointId: string, interactionId: string) => void;\n selectedInteractionId?: string;\n maxHeight: number;\n onClickDelete?: (interactionId: string) => void;\n getCorrectness?: (interaction: Interaction) => InteractionCorrectness;\n}\n\nexport function InteractiveQuestions(props: InteractiveQuestionProps): React.ReactElement {\n const {\n interactive,\n goToTimepoint,\n selectedInteractionId,\n maxHeight,\n onClickDelete,\n getCorrectness\n } = props;\n\n const ref = React.useRef<Scrollbars>();\n\n function scrollTo(offset: number, elHeight: number): void {\n if (!ref.current)\n return;\n\n const height = ref.current.getClientHeight();\n const scroll = ref.current.getScrollTop();\n const elementFromTop = offset + scroll;\n\n /**\n * Element is above scroll window if it's distance from the top\n * is less than the scroll\n */\n const isAboveScrollWindow = elementFromTop < scroll;\n\n /**\n * Element is beneath scroll window if it's distance from the top\n * plus it's height is greater than the scroll plus the window height\n */\n const isBelowScrollWindow = (elementFromTop + elHeight) > (scroll + height);\n\n /**\n * So we don't scroll if our element is visible\n */\n if (!isAboveScrollWindow && !isBelowScrollWindow)\n return;\n\n /**\n * If our element isn't visible, we want to try scroll so the element is\n * centered in our viewport\n */\n ref.current.scrollTop(elementFromTop - (height / 2) + (elHeight / 2));\n }\n\n const borderClass = goToTimepoint ? 'border rounded' : '';\n\n return (\n <Scrollbars\n autoHeight\n autoHeightMax={maxHeight}\n className={borderClass}\n hideTracksWhenNotNeeded={true}\n ref={ref}\n >\n <div className='px-3 py-1'>\n {interactive.timepoints.map((t, i) => (\n <TimepointComponent\n key={i}\n timepoint={t}\n goToTimepoint={goToTimepoint}\n selectedInteractionId={selectedInteractionId}\n scrollTo={scrollTo}\n onClickDelete={onClickDelete}\n getCorrectness={getCorrectness}\n />\n ))\n }\n </div>\n </Scrollbars>\n );\n}\n","// 368 is the min height of Video at a glance which is defined as $glanceHeight in synopsis.scss\nexport const MINIMUM_GLANCE_HEIGHT = 368; // px","export enum InteractionCorrectness {\n Correct,\n Incorrect,\n AwaitingMarking,\n \n Answered,\n UnAnswered,\n NotApplicable\n}","// extracted by mini-css-extract-plugin\nexport default {\"worksheet\":\"Bv47P\",\"interaction\":\"efkgi\",\"timepointCell\":\"ffoDR\",\"interactionCell\":\"rKBEu\",\"checkbox\":\"ilhe4\",\"multipleChoiceAnswer\":\"TqhFx\",\"shortAnswerTextArea\":\"voJCM\",\"image\":\"go2dV\",\"cvLogo\":\"Z4GOw\",\"copyright\":\"petLf\"};","import React from 'react';\n\nimport { Interaction, InteractionTypeId } from 'libs/shared/interfaces';\n\nimport styles from './printable-interactive-worksheet.scss';\n\nconst MISSING_WORD_REGEX = /{([^{}]*)}/g;\n\ninterface PrintableInteractionContentProps {\n interaction: Interaction;\n}\n\nfunction InteractionName(props: PrintableInteractionContentProps): JSX.Element {\n return (\n <div className='mb-2'>{props.interaction.name}</div>\n );\n}\n\nfunction AnnotationInteraction(props: PrintableInteractionContentProps): JSX.Element {\n return (\n <div dangerouslySetInnerHTML={{ __html: props.interaction.data.annotation }}></div>\n );\n}\n\nfunction ImageInteraction(props: PrintableInteractionContentProps): JSX.Element {\n return (\n <>\n <InteractionName interaction={props.interaction} />\n <img className={styles.image} src={props.interaction.data.url} />\n </>\n );\n}\n\nfunction MissingWordInteraction(props: PrintableInteractionContentProps): JSX.Element {\n function replaceMissingWord(match: string, val: string): string {\n const actionableItem = props.interaction.actionableItems.find(a => a.order.toString() === val);\n const width = 2 * actionableItem.name.length;\n return Array(width + 1).join('_');\n }\n\n const formatted = (props.interaction.data.sentence as string).replace(MISSING_WORD_REGEX, replaceMissingWord);\n\n return (\n <div>{formatted}</div>\n );\n}\n\nfunction MultipleChoiceInteraction(props: PrintableInteractionContentProps): JSX.Element {\n return (\n <>\n <InteractionName interaction={props.interaction} />\n <table>\n <tbody>\n {props.interaction.actionableItems.map(a => (\n <tr key={a.id}>\n <td>\n <div className={`border ${styles.checkbox}`} />\n </td>\n <td className='break-word align-top'>\n <div className={styles.multipleChoiceAnswer}>\n {a.name}\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </>\n );\n}\n\nfunction ShortAnswerInteractive(props: PrintableInteractionContentProps): JSX.Element {\n return (\n <>\n <InteractionName interaction={props.interaction} />\n <div className={`border w-100 ${styles.shortAnswerTextArea}`} />\n </>\n );\n}\n\nexport const PrintableInteractionComponentLookup: {\n [typeId: number]: (props: PrintableInteractionContentProps) => JSX.Element\n} = {\n [InteractionTypeId.Annotation]: AnnotationInteraction,\n [InteractionTypeId.Image]: ImageInteraction,\n [InteractionTypeId.MissingWord]: MissingWordInteraction,\n [InteractionTypeId.MultipleChoice]: MultipleChoiceInteraction,\n [InteractionTypeId.TrueOrFalse]: MultipleChoiceInteraction,\n [InteractionTypeId.ShortAnswer]: ShortAnswerInteractive\n};\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ClickViewLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { Interaction, Interactive } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\n\nimport { PrintableInteractionComponentLookup } from './PrintableInteractionContent';\n\nimport styles from './printable-interactive-worksheet.scss';\n\nconst getPhrase = LanguageService.encloseNamespace('interactives.printableInteractiveWorksheet');\n\ninterface PrintableInteractionProps {\n interaction: Interaction;\n visibleAt: number;\n}\n\nfunction PrintableInteraction(props: PrintableInteractionProps): JSX.Element {\n const InteractionComponent = PrintableInteractionComponentLookup[props.interaction.typeId];\n\n if (!InteractionComponent)\n return <></>;\n\n return (\n <tr className={styles.interaction}>\n <td className={`align-top ${styles.timepointCell}`}>\n {DurationHelper.ToDisplayDuration(props.visibleAt)}\n </td>\n <td className={`break-word ${styles.interactionCell}`}>\n <InteractionComponent interaction={props.interaction} />\n </td>\n </tr>\n );\n}\n\ninterface PrintableInteractiveQuestionsProps {\n interactive: Interactive;\n}\n\nfunction PrintableInteractiveQuestions(props: PrintableInteractiveQuestionsProps): JSX.Element {\n return (\n <>\n {props.interactive.timepoints.map((timepoint, i) => (\n timepoint.interactions.map((interaction, j) => (\n <PrintableInteraction key={`${i}:${j}`} interaction={interaction} visibleAt={timepoint.visibleAt} />\n ))\n ))}\n </>\n );\n}\n\ninterface PrintableInteractiveWorksheetProps {\n worksheetElementId: string;\n interactive: Interactive;\n isClickViewContent: boolean;\n}\n\nexport function PrintableInteractiveWorksheet(props: PrintableInteractiveWorksheetProps): JSX.Element {\n const year = (new Date()).getFullYear();\n\n return (\n <div id={props.worksheetElementId} className={styles.worksheet}>\n <div className='row pb-2'>\n <div className='col-6'>{getPhrase('name')} ______________________________</div>\n <div className='col-6'>{getPhrase('date')} ______________________________</div>\n </div>\n <h1>\n <strong>{getPhrase('questionSheet')}:</strong> {props.interactive.name}\n </h1>\n <table>\n <tbody>\n <PrintableInteractiveQuestions interactive={props.interactive} />\n </tbody>\n </table>\n <div className={styles.cvLogo}>\n <ClickViewLogo />\n </div>\n {props.isClickViewContent &&\n <span className={styles.copyright}>{getPhrase('copyright', { year })}</span>\n }\n </div>\n );\n}\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport printJS from 'print-js';\n\nimport { DevError } from 'libs/common/backbone/errors/DevError';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { Interactive } from 'libs/shared/interfaces';\n\nimport { PrintableInteractiveWorksheet } from 'apps/interactives/components/printable-interactive-worksheet/PrintableInteractiveWorksheet';\n\nconst getPhrase = LanguageService.encloseNamespace('interactives.utils');\n\nexport function printInteractive(interactive: Interactive, isCVContent: boolean, onDone?: () => void): void {\n const printRegion = document.getElementById('print-region');\n\n if (!printRegion)\n Core.ErrorHelper.throw(new DevError('Could not find print region in layout'));\n\n if (!interactive)\n return;\n\n const worksheetElementId = `printable-interactive-${interactive.id}`;\n\n const root = createRoot(printRegion);\n\n function print(): void {\n printJS({\n printable: worksheetElementId,\n type: 'html',\n documentTitle: getPhrase('worksheetTitle', { interactiveName: interactive.name }),\n targetStyles: ['*'],\n style: '@page { size: A4; margin: 1.5cm 0; }',\n onLoadingEnd: () => {\n onDone && onDone();\n root.unmount();\n },\n /**\n * font_size is deprecated but a bug in print.js still applies the default (12pt) if it\n * is omitted, overriding any custom/inline styles. \n * This value is the same as the one found in in .worksheet in printable-interactive-worksheet.scss\n */\n font_size: '14px'\n });\n }\n\n root.render(\n <div className='d-none'>\n <PrintableInteractiveWorksheet\n worksheetElementId={worksheetElementId}\n interactive={interactive}\n isClickViewContent={isCVContent}\n />\n </div>\n );\n\n window.setTimeout(() => {\n print();\n }, 200);\n}","// extracted by mini-css-extract-plugin\nexport default {\"printBtn\":\"VWlur\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { ClickDescriptor, EntityType, EventVersion, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions, Actions as ActionButtons } from 'libs/shared/components/actions/Actions';\nimport { InteractiveQuestions } from 'libs/shared/components/interactive-questions/InteractiveQuestions';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { MINIMUM_GLANCE_HEIGHT } from 'libs/shared/constants/MinimumGlanceHeight';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { Interactive, InteractiveMetadata, PopupViewProps } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { printInteractive } from 'apps/interactives/utils/PrintInteractive';\n\nconst getPhrase = LanguageService.encloseNamespace('interactives.previewQuestions');\n\nimport styles from './preview-questions.scss';\n\n\ninterface PreviewQuestionsViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function PreviewQuestionsView(props: PreviewQuestionsViewProps): React.ReactElement {\n const [ showPrintButtonSpinner, setShowPrintButtonSpinner ] = React.useState(false);\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.id)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data ?\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId) : null);\n\n let analyticsData: HashObject = null;\n\n if (interactiveMetadata.data) {\n analyticsData = {\n id: interactiveMetadata.data.id,\n interactiveId: interactiveMetadata.data.interactiveId,\n name: interactiveMetadata.data.name\n };\n\n if (interactiveMetadata.data._parentVideo?.id)\n analyticsData.video = { id: interactiveMetadata.data._parentVideo.id };\n\n if (interactiveMetadata.data._parentClip?.id)\n analyticsData.clip = { id: interactiveMetadata.data._parentClip.id };\n }\n\n const actions: ActionOptions[] = [\n {\n label: getPhrase('watchInteractive'),\n className: 'btn btn-outline-dark me-2',\n svgName: cvSvgLibrary.Play,\n button: true,\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ props.id, TextHelper.slugify(interactive.data?.name) ]\n },\n onClick: props.closePopup,\n analyticsData,\n analyticsOptions: {\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.PreviewInteractiveQuestions,\n descriptor: ClickDescriptor.Button\n }\n },\n {\n label: getPhrase('printAsWorksheet'),\n className: `btn btn-outline-dark ${styles.printBtn}`,\n svgName: cvSvgLibrary.Print,\n button: true,\n onClick: () => {\n setShowPrintButtonSpinner(true);\n printInteractive(\n interactive.data,\n interactiveMetadata.data._isClickViewCurated?.value,\n () => setShowPrintButtonSpinner(false)\n );\n },\n showSpinner: showPrintButtonSpinner,\n analyticsData,\n analyticsOptions: {\n entity: EntityType.Interactive,\n actionType: UserAction.Print,\n location: LocationContext.PreviewInteractiveQuestions,\n workflowPhase: WorkflowPhase.Start,\n eventVersion: EventVersion.V2\n }\n }\n ];\n\n return (\n <Popup\n title={getPhrase('mainTitle')}\n closePopup={props.closePopup}\n showLoadingSpinner={!interactive.data}\n size='lg'\n >\n {(() => {\n if (!interactive.data)\n return <></>;\n\n return (\n <>\n <InteractiveQuestions interactive={interactive.data} maxHeight={MINIMUM_GLANCE_HEIGHT} />\n <PopupButtons>\n <ActionButtons actions={actions} />\n </PopupButtons>\n </>\n );\n })()}\n </Popup>\n );\n}\n"],"names":["Actions","props","orderedActions","actions","sort","a","b","order","buttonActions","moreActions","forEach","button","push","className","length","map","idx","key","label","appLink","href","onClick","svgName","svgSize","dropdownToggleSvgSize","tooltip","showSpinner","analyticsData","analyticsOptions","openInNewTab","disabled","iconButton","showBorder","customSize","title","spanHack","sortComponent","dropdownToggleClassName","actionsDropdownClassName","fetchMore","getPhrase","LanguageService","LazyDropdownItems","style","padding","height","width","getDropdownItemClassName","actionClassName","ActionsDropdownItem","FunctionHelper","action","AppLink","SvgContainer","e","preventDefault","AnalyticsHelper","role","tabIndex","onKeyDown","ActionsDropdown","isLazy","some","lazyPlaceholder","currentGroup","dropdownToggleId","RandomHelper","type","id","size","showDivider","undefined","group","Tooltip","defaultProps","S","namespace","Correctness","interaction","getCorrectness","InteractionCorrectness","Text","phrase","InteractionComponent","visibleAt","selectedInteractionId","goToTimepoint","scrollTo","isFirstInteraction","selected","toString","ref","current","el","rect","getBoundingClientRect","offset","top","offsetParent","cursor","DivButton","DurationHelper","InteractionLabel","showTypeName","typeNameClassName","questionClassName","onClickDelete","event","stopPropagation","TimepointComponent","timepoint","interactionId","interactions","i","InteractiveQuestions","interactive","maxHeight","elHeight","getClientHeight","scroll","getScrollTop","elementFromTop","scrollTop","borderClass","autoHeight","autoHeightMax","hideTracksWhenNotNeeded","timepoints","t","MINIMUM_GLANCE_HEIGHT","MISSING_WORD_REGEX","InteractionName","name","MultipleChoiceInteraction","actionableItems","PrintableInteractionComponentLookup","dangerouslySetInnerHTML","__html","data","annotation","src","url","formatted","sentence","replace","match","val","find","Array","join","PrintableInteraction","typeId","PrintableInteractiveQuestions","j","PrintableInteractiveWorksheet","year","Date","getFullYear","worksheetElementId","ClickViewLogo","isClickViewContent","printInteractive","isCVContent","onDone","printRegion","document","getElementById","DevError","root","render","window","setTimeout","printable","documentTitle","interactiveName","targetStyles","onLoadingEnd","unmount","font_size","PreviewQuestionsView","showPrintButtonSpinner","setShowPrintButtonSpinner","interactiveMetadata","InteractiveRequests","interactiveId","_parentVideo","video","_parentClip","clip","application","args","TextHelper","closePopup","entity","actionType","location","descriptor","_isClickViewCurated","value","workflowPhase","eventVersion","Popup","showLoadingSpinner","PopupButtons"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5229],{3044:(e,t,n)=>{n.d(t,{Q:()=>g});var r=n(32735),a=n(2948),o=n(82780),l=n(71020),c=n(83345),i=n(61254),s=n(38143),u=n(76881);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var d="userManager.bulkUserActionsConfirmationUserList";function g(e){var t,n,g=r.useRef(),p=(t=(0,a.D)(s.g.BULK_USER_ACTIONS),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,c=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1];r.useEffect((function(){var e;p("scrollContainer",null===(e=g.current)||void 0===e?void 0:e.view)}),[g.current]);var f=r.useMemo((function(){var t;return(null===(t=e.statuses)||void 0===t?void 0:t.length)?e.users.filter((function(t){return e.statuses.includes(t.status)})):e.users}),[e.users]);return r.createElement(r.Fragment,null,r.createElement("h3",{className:"h6 mt-3"},r.createElement(c.x,{namespace:d,phrase:e.userType===u.Y.Staff?"headingStaff":"headingStudents",options:{smartCount:e.userCount}})),r.createElement(i.s,{items:f,rowHeight:55,ref:g,getComponent:function(t){return r.createElement(o.m,{key:t.id,user:t,userType:e.userType,imageCdnUrl:e.imageCdnUrl})},staticComponentBelowRows:r.createElement(r.Fragment,null,(e.hasMore||e.isFetching)&&r.createElement(l._,{isFetching:e.isFetching,fetchNext:e.fetchNext}))}))}},82780:(e,t,n)=>{n.d(t,{m:()=>m});var r=n(32735),a=n(23481),o=n(37967),l=n(85402),c=n(76314),i=n(83657),s=n(35223),u="userManager.bulkUserActionsUserItem";function m(e){return r.createElement("li",{className:"d-flex align-items-center p-2"},r.createElement(c.u,{user:e.user,imageCdnUrl:e.imageCdnUrl}),r.createElement(o.t,{user:e.user}),r.createElement(l.H,{userType:e.userType,user:e.user}),e.customBadge&&e.customBadge(),e.onClickRemoveUser&&r.createElement(i.e,{actions:[{svgName:s.vn.Close,className:"btn btn-link svg-container",tooltip:a.T.getPhrase(u,"removeUser"),onClick:function(){return e.onClickRemoveUser(e.user)},button:!0}]}))}},83657:(e,t,n)=>{n.d(t,{e:()=>s});var r=n(32735),a=n(91967),o=n(10874),l=n(76177),c=n(42735),i=n(86509);function s(e){var t=r.useMemo((function(){return e.actions.sort((function(e,t){return e.order-t.order}))}),[e.actions]),n=[],s=[];t.forEach((function(e){e.button?n.push(e):s.push(e)}));var u="d-flex";return e.className&&(u+=" ".concat(e.className)),n.length||s.length?r.createElement("div",{className:u},n.length?n.map((function(t,n){return r.createElement(r.Fragment,{key:n},function(){if(t.label){var n=a.q.isFunction(t.label)?t.label:function(){return r.createElement(r.Fragment,null,t.label)};return r.createElement(c.K,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,svgSize:e.dropdownToggleSvgSize,className:t.className,tooltip:t.tooltip,showSpinner:t.showSpinner,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled},n())}var i=r.createElement(o.h,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,className:t.className,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled,showBorder:t.showBorder,customSize:e.customSize});return t.tooltip?r.createElement(l.u,{title:t.tooltip,spanHack:!0},i):i}())})):r.createElement(r.Fragment,null),e.sortComponent&&e.sortComponent,s.length?r.createElement(i.m,{actions:s,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):r.createElement(r.Fragment,null)):r.createElement(r.Fragment,null)}},86509:(e,t,n)=>{n.d(t,{m:()=>y});var r=n(32735),a=n(23481),o=n(91967),l=n(81886),c=n(45157),i=n(49985),s=n(36848),u=n(83914),m=n(76177),d=n(35223);const g={dropdownToggle:"UCAnJ"};var p=a.T.encloseNamespace("shared.actions");function f(){return r.createElement(r.Fragment,null,r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function v(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function h(e){var t=o.q.isFunction(e.action.label)?e.action.label:function(){return r.createElement(r.Fragment,null,e.action.label)};if(e.action.appLink)return r.createElement(s.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:v(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&r.createElement(u.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t()));function n(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&i.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),o.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&l.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?r.createElement("a",{className:v(e.action.className),onClick:n,href:e.action.href},e.action.svgName&&r.createElement(u.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t())):r.createElement("span",{className:"cursor-pointer ".concat(v(e.action.className)),onClick:n,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&n(e)}},e.action.svgName&&r.createElement(u.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function y(e){if(!e.actions||!e.actions.length)return r.createElement(r.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),n="dropdown";e.className&&(n+=" ".concat(e.className));var a,o="actions-dropdown-".concat(c.Y.getRandomInt()),l="dropdown-toggle px-0 ".concat(g.dropdownToggle);return e.dropdownToggleClassName&&(l+=" ".concat(e.dropdownToggleClassName)),r.createElement("div",{className:n},r.createElement("button",{className:l,type:"button",id:o,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":p("actionsDropdownLabel"),onClick:t?e.fetchMore:null},r.createElement(u.x,{svgName:d.vn.More,size:e.dropdownToggleSvgSize})),r.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":o},t?r.createElement(f,null):e.actions.map((function(e,t){var n=void 0!==a&&a!==e.group;return a=e.group,e.tooltip?r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(m.u,{title:e.tooltip,spanHack:!0},r.createElement(h,{action:e}))):r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(h,{action:e}))}))))}y.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:u.S.Small}},71020:(e,t,n)=>{n.d(t,{_:()=>u});var r=n(32735),a=n(80247),o=n(34152),l=n(83914),c=n(35223);const i={container:"VwD1b",spinner:"eJ85e"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function u(e){var t,n,u=(t=(0,o.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,c=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=u[0],d=u[1];return r.useEffect((function(){var t;e.fetchOnScroll&&d&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[d,e.isFetching]),r.createElement("div",{className:"p-3 text-center ".concat(i.container),ref:m},e.isFetching?r.createElement(a.Z,{as:"span",animation:"border",role:"status",className:i.spinner}):r.createElement(l.x,{svgName:c.vn.ChevronDown,className:"svg-container cursor-pointer",size:l.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},61254:(e,t,n)=>{n.d(t,{s:()=>c});var r=n(32735),a=n(42648);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,c=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var c=r.forwardRef((function(e,t){var n=o(r.useState(e.containerHeight||0),2),l=n[0],c=n[1],i=o(r.useState(0),2),s=i[0],u=i[1],m=r.useRef(null);r.useEffect((function(){var t,n;e.containerHeight||c(null!==(n=null===(t=m.current)||void 0===t?void 0:t.clientHeight)&&void 0!==n?n:0)}),[m.current]);var d,g,p,f=e.items.length,v=Math.ceil(l/e.rowHeight),h=e.rowHeight*f,y=Math.max(0,Math.floor(s/e.rowHeight)-v),b=Math.min(f,y+3*v);return r.createElement("div",{style:(p=null!==(g=null===(d=m.current)||void 0===d?void 0:d.getBoundingClientRect().top)&&void 0!==g?g:0,{height:e.containerHeight||"calc(100vh - ".concat(window.pageYOffset+p+30,"px)"),minHeight:"".concat(5*e.rowHeight,"px"),overflow:"auto"}),ref:m},r.createElement(a.$B,{onScroll:function(e){u(e.currentTarget.scrollTop)},autoHeightMin:h,autoHeightMax:h,ref:t},r.createElement("div",{style:{height:h,paddingTop:y*e.rowHeight}},r.createElement("ul",{className:"w-100 position-relative d-table striped-list list-unstyled no-full-width"},!!e.staticComponentAboveRows&&e.staticComponentAboveRows,function(){for(var t=[],n=y;n<b;){var r=e.items[n];r&&t.push(e.getComponent(r,n)),n++}return t}(),!!e.staticComponentBelowRows&&e.staticComponentBelowRows))))}))},36033:(e,t,n)=>{n.d(t,{s:()=>l});var r=n(32735),a=n(83345),o="wizard.wizardConfirmationHeader";function l(e){return r.createElement(a.D.Provider,{value:o},r.createElement("h2",{className:"h4"},r.createElement(a.x,{phrase:"confirmation"})),r.createElement("h3",{className:"h6"},r.createElement(a.x,{phrase:"changesToBeMade"})),r.createElement("div",{className:"p-2 border rounded mb-2"},e.children))}},29613:(e,t,n)=>{n.d(t,{q:()=>l});var r=n(99940),a=n(97395),o=n(149),l={createJob:function(e,t,n){return{url:"{gateway}/v1/batch/jobs",key:"create:job",type:r.k.POST,data:e,success:t,error:n}},getJobs:function(e){var t={},n=[],r=[];return e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.bulkActionType?(n=Array.isArray(e.bulkActionType)?e.bulkActionType:[e.bulkActionType],t.type=n):t.type=o.O,e.userType&&(r=Array.isArray(e.userType)?e.userType:[e.userType],t.dataType=r),{url:a._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"batch:jobs:".concat(e.cursor,":").concat(e.sort,":").concat(n.sort().join(":"),":").concat(r.sort().join(":"))}},getJob:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e),key:"job:".concat(e)}},getJobProgress:function(e,t,n){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/progress"),key:"job:".concat(e,":progress"),invalidationKeys:"job:".concat(e,":progress"),success:t,error:n}},getJobResults:function(e,t,n,r,o){var l={status:t};return n&&(l.cursor=n),{url:a._.urlBuilder("{gateway}/v1/batch/jobs/".concat(e,"/results"),l),key:"job:".concat(e,":results:").concat(t,":").concat(n),success:r,error:o}},getYearGroupRolloverStatus:function(e){return{url:"{gateway}/v1/batch/validations/customers/".concat(e,"/year-group-roll-over"),key:"year:group:rollover:status"}},sendJobReports:function(e){return{url:"{gateway}/v1/batch/results/export",key:"send:job:reports:".concat(e.sort().join(":")),type:r.k.POST,data:{jobIds:e}}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}}}}}]);
|
|
2
|
-
//# sourceMappingURL=5229-b673828f61-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/5229-b673828f61-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/confirmation/user-list/BulkUserActionsConfirmationUserList.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/user-list-items/bulk-user-actions-user-item/BulkUserActionsUserItem.tsx","file:///app/packages/libs/shared/src/components/actions/Actions.tsx","file:///app/packages/libs/shared/src/components/actions/actions.scss","file:///app/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","file:///app/packages/libs/shared/src/components/infinite-scroll-footer/infinite-scroll-footer.scss","file:///app/packages/libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx","file:///app/packages/libs/shared/src/components/windowed-list/WindowedList.tsx","file:///app/packages/libs/shared/src/components/wizard/confirmation-header/WizardConfirmationHeader.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import React from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { BulkUserActionsUserItem } from 'libs/shared/apps/user-manager/components/user-list-items/bulk-user-actions-user-item/BulkUserActionsUserItem';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { WindowedList } from 'libs/shared/components/windowed-list/WindowedList';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { ObjectStatus } from 'libs/shared/enums/ObjectStatus';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { User } from 'libs/shared/interfaces';\n\nconst namespace = 'userManager.bulkUserActionsConfirmationUserList';\n\ninterface BulkUserActionsConfirmationUserListProps {\n users: User[];\n imageCdnUrl: string;\n fetchNext: () => void;\n hasMore: boolean;\n isFetching: boolean;\n userType: UserGroup;\n userCount: number;\n statuses?: ObjectStatus[];\n}\n\nexport function BulkUserActionsConfirmationUserList(props: BulkUserActionsConfirmationUserListProps): JSX.Element {\n const ref = React.useRef<any>();\n const [ , setViewModel ] = useViewModel<BulkUserActionsViewModel>(SharedViewModelKeys.BULK_USER_ACTIONS);\n\n React.useEffect(() => {\n setViewModel('scrollContainer', ref.current?.view);\n }, [ref.current]);\n\n const items = React.useMemo(() => {\n if (!props.statuses?.length)\n return props.users;\n\n return props.users.filter(u => props.statuses.includes(u.status));\n }, [props.users]);\n\n return (\n <>\n <h3 className='h6 mt-3'>\n <Text\n namespace={namespace}\n phrase={props.userType === UserGroup.Staff ? 'headingStaff' : 'headingStudents'}\n options={{ smartCount: props.userCount }}\n />\n </h3>\n\n <WindowedList\n items={items}\n rowHeight={55}\n ref={ref}\n getComponent={user => (\n <BulkUserActionsUserItem\n key={user.id}\n user={user}\n userType={props.userType}\n imageCdnUrl={props.imageCdnUrl}\n />\n )}\n staticComponentBelowRows={(\n <>\n {(props.hasMore || props.isFetching) &&\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n />\n }\n </>\n )}\n />\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { BaseUserItemProps } from 'libs/shared/apps/user-manager/components/user-list/UserList';\nimport { BasicUserDetails } from 'libs/shared/apps/user-manager/components/user-list-items/components/BasicUserDetails';\nimport { RoleOrYearGroup } from 'libs/shared/apps/user-manager/components/user-list-items/components/RoleOrYearGroup';\nimport { UserItemAvatar } from 'libs/shared/apps/user-manager/components/user-list-items/components/UserItemAvatar';\nimport { Actions } from 'libs/shared/components/actions/Actions';\nimport { User } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'userManager.bulkUserActionsUserItem';\n\ninterface BulkUserActionsUserItemProps extends BaseUserItemProps {\n imageCdnUrl: string;\n customBadge?: () => JSX.Element;\n onClickRemoveUser?: (user: User) => void;\n}\n\nexport function BulkUserActionsUserItem(props: BulkUserActionsUserItemProps): JSX.Element {\n return (\n <li className='d-flex align-items-center p-2'>\n <UserItemAvatar user={props.user} imageCdnUrl={props.imageCdnUrl} />\n\n <BasicUserDetails user={props.user} />\n\n <RoleOrYearGroup userType={props.userType} user={props.user} />\n\n {props.customBadge && props.customBadge()}\n\n {props.onClickRemoveUser && (\n <Actions actions={[{\n svgName: cvSvgLibrary.Close,\n className: 'btn btn-link svg-container',\n tooltip: LanguageService.getPhrase(namespace, 'removeUser'),\n onClick: () => props.onClickRemoveUser(props.user),\n button: true\n }]} />\n )}\n </li>\n );\n}","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { ActionButton } from './ActionButton';\nimport { ActionsDropdown } from './ActionsDropdown';\n\nexport interface ActionOptions {\n order?: number;\n label?: string | (() => JSX.Element);\n appLink?: Core.AppLink;\n href?: string;\n onClick?: () => void;\n svgName?: string;\n className?: string;\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\n tooltip?: string;\n showSpinner?: boolean;\n showBorder?: boolean; // only works for button without text label\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n disabled?: boolean;\n openInNewTab?: boolean; // Only used if appLink or href is provided\n group?: string;\n lazyPlaceholder?: boolean;\n}\n\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\n\ninterface ActionsProps {\n actions: ActionOptions[];\n className?: string;\n actionsDropdownClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n sortComponent?: JSX.Element;\n customSize?: boolean;\n fetchMore?: () => void;\n}\n\nexport function Actions(props: ActionsProps): JSX.Element {\n const orderedActions = React.useMemo(() => props.actions.sort((a, b) => a.order - b.order), [props.actions]);\n\n const buttonActions: ActionOptions[] = [];\n const moreActions: ActionOptions[] = [];\n\n orderedActions.forEach(a => {\n if (a.button)\n buttonActions.push(a);\n else\n moreActions.push(a);\n });\n\n let className = 'd-flex';\n\n if (props.className)\n className += ` ${props.className}`;\n\n if (!buttonActions.length && !moreActions.length)\n return <></>;\n\n return (\n <div className={className}>\n {buttonActions.length ? buttonActions.map((a, idx) => (\n <React.Fragment key={idx}>\n {(() => {\n if (a.label) {\n const label = FunctionHelper.isFunction(a.label)\n ? a.label\n : () => <>{a.label}</>;\n\n return (\n <ActionButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n svgSize={props.dropdownToggleSvgSize}\n className={a.className}\n tooltip={a.tooltip}\n showSpinner={a.showSpinner}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n >\n {label()}\n </ActionButton>\n );\n }\n\n const iconButton = (\n <IconButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n className={a.className}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n showBorder={a.showBorder}\n customSize={props.customSize}\n />\n );\n\n return a.tooltip\n ? <Tooltip title={a.tooltip} spanHack>{iconButton}</Tooltip>\n : iconButton;\n })()}\n </React.Fragment>\n )) : <></>}\n {props.sortComponent && props.sortComponent}\n {moreActions.length ? (\n <ActionsDropdown\n actions={moreActions}\n dropdownToggleClassName={props.actionsDropdownClassName}\n dropdownToggleSvgSize={props.dropdownToggleSvgSize}\n fetchMore={props.fetchMore}\n />\n ) : <></>}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dropdownToggle\":\"UCAnJ\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionOptions } from './Actions';\n\nimport styles from './actions.scss';\n\n\nconst namespace = 'shared.actions';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction LazyDropdownItems(): JSX.Element {\n return (\n <>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '8rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '12rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '11rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '9rem' }}></div>\n </div>\n </>\n );\n}\n\nfunction getDropdownItemClassName(actionClassName?: string): string {\n let className = 'dropdown-item';\n\n if (actionClassName)\n className += ` ${actionClassName}`;\n\n return className;\n}\n\nexport type DropdownActionOptions = Omit<ActionOptions, 'button'>;\n\ninterface ActionsDropdownItemProps {\n action: DropdownActionOptions;\n}\n\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\n const label = FunctionHelper.isFunction(props.action.label)\n ? props.action.label\n : () => <>{props.action.label}</>;\n\n if (props.action.appLink)\n return (\n <AppLink\n appLink={props.action.appLink}\n onClick={props.action.onClick}\n className={getDropdownItemClassName(props.action.className)}\n analyticsData={props.action.analyticsData}\n analyticsOptions={props.action.analyticsOptions}\n openInNewTab={props.action.openInNewTab}\n disabled={props.action.disabled}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </AppLink>\n );\n\n function onClick(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n\n if (props.action.analyticsData && props.action.analyticsOptions)\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\n\n if (FunctionHelper.isFunction(props.action.onClick))\n props.action.onClick();\n\n if (props.action.href)\n Core.LocationUtils.PageLoad(props.action.href, props.action.openInNewTab);\n }\n\n if (props.action.href) {\n return (\n <a\n className={getDropdownItemClassName(props.action.className)}\n onClick={onClick}\n href={props.action.href}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </a>\n );\n }\n\n return (\n <span\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\n onClick={onClick}\n role='button'\n tabIndex={0}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClick(e)}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2' />}\n {label()}\n </span>\n );\n}\n\ninterface ActionsDropdownProps {\n actions: DropdownActionOptions[];\n className?: string;\n dropdownToggleClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n fetchMore?: () => void;\n}\n\nActionsDropdown.defaultProps = {\n dropdownToggleClassName: 'btn btn-light',\n dropdownToggleSvgSize: SvgContainerSize.Small\n};\n\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\n if (!props.actions || !props.actions.length)\n return <></>;\n\n const isLazy = props.actions.some(a => a.lazyPlaceholder);\n\n let className = 'dropdown';\n\n if (props.className)\n className += ` ${props.className}`;\n\n // Generate unique id to avoid collisions.\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\n\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\n\n if (props.dropdownToggleClassName)\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\n\n let currentGroup: string;\n\n return (\n <div className={className}>\n <button\n className={dropdownToggleClassName}\n type='button'\n id={dropdownToggleId}\n data-bs-toggle='dropdown'\n data-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n aria-label={getPhrase('actionsDropdownLabel')}\n onClick={isLazy ? props.fetchMore : null}\n >\n <SvgContainer svgName={cvSvgLibrary.More} size={props.dropdownToggleSvgSize} />\n </button>\n <ul className='dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal' aria-labelledby={dropdownToggleId}>\n {isLazy ?\n <LazyDropdownItems /> :\n props.actions.map((a, idx) => {\n const showDivider = currentGroup !== undefined && currentGroup !== a.group;\n currentGroup = a.group;\n \n if (a.tooltip) {\n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <Tooltip title={a.tooltip} spanHack>\n <ActionsDropdownItem action={a} />\n </Tooltip>\n \n </li>\n );\n }\n \n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <ActionsDropdownItem action={a} />\n </li>\n );\n })\n }\n </ul>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"VwD1b\",\"spinner\":\"eJ85e\"};","import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\nimport { useInView } from 'react-intersection-observer';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './infinite-scroll-footer.scss';\n\ninterface InfiniteScrollFooterProps {\n isFetching: boolean;\n fetchNext?: (nextCursor: string) => void;\n nextCursor?: string;\n fetchOnScroll?: boolean;\n}\n\nInfiniteScrollFooter.defaultProps = {\n fetchOnScroll: false\n};\n\nexport function InfiniteScrollFooter(props: InfiniteScrollFooterProps): React.ReactElement {\n const [ ref, inView ] = useInView();\n\n React.useEffect(() => {\n if (!props.fetchOnScroll)\n return;\n\n if (!inView || props.isFetching)\n return;\n\n props.fetchNext?.(props.nextCursor);\n }, [ inView, props.isFetching ]);\n\n return (\n <div className={`p-3 text-center ${styles.container}`} ref={ref}>\n {props.isFetching\n ? <Spinner as='span' animation='border' role='status' className={styles.spinner} />\n : (\n <SvgContainer\n svgName={cvSvgLibrary.ChevronDown}\n className='svg-container cursor-pointer'\n size={SvgContainerSize.Large}\n onClick={() => props.fetchNext?.(props.nextCursor)}\n />\n )\n }\n </div>\n );\n}","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\ninterface WindowedListProps<TObject> {\n items: TObject[];\n getComponent: (item: TObject, index: number) => JSX.Element;\n rowHeight: number;\n containerHeight?: number;\n\n staticComponentAboveRows?: JSX.Element;\n staticComponentBelowRows?: JSX.Element;\n}\n\nexport const WindowedList = React.forwardRef((\n props: WindowedListProps<any>,\n ref: React.Ref<Scrollbars>\n) => {\n const [ availableHeight, setAvailableHeight ] = React.useState<number>(props.containerHeight || 0);\n const [ scrollTop, setScrollTop ] = React.useState<number>(0);\n\n const tableRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (props.containerHeight)\n return;\n\n setAvailableHeight(tableRef.current?.clientHeight ?? 0);\n }, [tableRef.current]);\n\n const numRows = props.items.length;\n const totalRowsVisible = Math.ceil(availableHeight / props.rowHeight);\n const totalHeight = props.rowHeight * numRows;\n\n const startIndex = Math.max(\n 0,\n Math.floor(scrollTop / props.rowHeight) - totalRowsVisible\n );\n\n const endIndex = Math.min(\n numRows,\n startIndex + (totalRowsVisible * 3)\n );\n\n function onScrollTable(e: React.UIEvent<HTMLDivElement>): void {\n setScrollTop(e.currentTarget.scrollTop);\n }\n\n function getTableStyles(): React.CSSProperties {\n const tablePosFromTop = tableRef.current?.getBoundingClientRect().top ?? 0;\n\n const height = props.containerHeight || `calc(100vh - ${window.pageYOffset + tablePosFromTop + 30}px)`;\n \n return {\n height,\n minHeight: `${props.rowHeight * 5}px`,\n overflow: 'auto'\n };\n }\n\n function getRows(): JSX.Element[] {\n const items = [];\n \n let index = startIndex;\n while (index < endIndex) {\n const item = props.items[index];\n\n if (item)\n items.push(props.getComponent(item, index));\n \n index++;\n }\n\n return items;\n }\n\n return (\n <div style={getTableStyles()} ref={tableRef}>\n <Scrollbars\n onScroll={onScrollTable}\n autoHeightMin={totalHeight}\n autoHeightMax={totalHeight}\n ref={ref}\n >\n <div style={{ height: totalHeight, paddingTop: startIndex * props.rowHeight }}>\n <ul className='w-100 position-relative d-table striped-list list-unstyled no-full-width'>\n {!!props.staticComponentAboveRows && props.staticComponentAboveRows}\n {getRows()}\n {!!props.staticComponentBelowRows && props.staticComponentBelowRows}\n </ul>\n </div>\n </Scrollbars>\n </div>\n );\n});","import React from 'react';\n\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'wizard.wizardConfirmationHeader';\n\ntype WizardConfirmationHeaderProps = React.PropsWithChildren<any>;\n\nexport function WizardConfirmationHeader(props: WizardConfirmationHeaderProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4'>\n <Text phrase='confirmation' />\n </h2>\n\n <h3 className='h6'>\n <Text phrase='changesToBeMade' />\n </h3>\n\n <div className='p-2 border rounded mb-2'>\n {props.children}\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["namespace","BulkUserActionsConfirmationUserList","props","ref","setViewModel","current","view","items","statuses","length","users","filter","u","includes","status","className","phrase","userType","options","smartCount","userCount","rowHeight","getComponent","user","key","id","imageCdnUrl","staticComponentBelowRows","hasMore","isFetching","fetchNext","BulkUserActionsUserItem","customBadge","onClickRemoveUser","actions","svgName","tooltip","onClick","button","Actions","orderedActions","sort","a","b","order","buttonActions","moreActions","forEach","push","map","idx","label","appLink","href","svgSize","dropdownToggleSvgSize","showSpinner","analyticsData","analyticsOptions","openInNewTab","disabled","iconButton","showBorder","customSize","title","spanHack","sortComponent","dropdownToggleClassName","actionsDropdownClassName","fetchMore","getPhrase","LanguageService","LazyDropdownItems","style","padding","height","width","getDropdownItemClassName","actionClassName","ActionsDropdownItem","FunctionHelper","action","AppLink","SvgContainer","e","preventDefault","AnalyticsHelper","role","tabIndex","onKeyDown","ActionsDropdown","isLazy","some","lazyPlaceholder","currentGroup","dropdownToggleId","RandomHelper","type","size","showDivider","undefined","group","Tooltip","defaultProps","S","InfiniteScrollFooter","inView","fetchOnScroll","nextCursor","Spinner","as","animation","WindowedList","containerHeight","availableHeight","setAvailableHeight","scrollTop","setScrollTop","tableRef","clientHeight","tablePosFromTop","numRows","totalRowsVisible","Math","ceil","totalHeight","startIndex","max","floor","endIndex","min","getBoundingClientRect","top","window","pageYOffset","minHeight","overflow","onScroll","currentTarget","autoHeightMin","autoHeightMax","paddingTop","staticComponentAboveRows","index","item","getRows","WizardConfirmationHeader","value","children","JobRequests","createJob","data","success","error","url","getJobs","queryParams","params","bulkActionTypes","userTypes","cursor","bulkActionType","Array","isArray","dataType","join","getJob","getJobProgress","invalidationKeys","getJobResults","getYearGroupRolloverStatus","customerId","sendJobReports","ids","jobIds","getJobSummary"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5385],{83657:(e,t,n)=>{n.d(t,{e:()=>s});var r=n(32735),a=n(91967),o=n(10874),l=n(76177),i=n(42735),c=n(86509);function s(e){var t=r.useMemo((function(){return e.actions.sort((function(e,t){return e.order-t.order}))}),[e.actions]),n=[],s=[];t.forEach((function(e){e.button?n.push(e):s.push(e)}));var u="d-flex";return e.className&&(u+=" ".concat(e.className)),n.length||s.length?r.createElement("div",{className:u},n.length?n.map((function(t,n){return r.createElement(r.Fragment,{key:n},function(){if(t.label){var n=a.q.isFunction(t.label)?t.label:function(){return r.createElement(r.Fragment,null,t.label)};return r.createElement(i.K,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,svgSize:e.dropdownToggleSvgSize,className:t.className,tooltip:t.tooltip,showSpinner:t.showSpinner,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled},n())}var c=r.createElement(o.h,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,className:t.className,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled,showBorder:t.showBorder,customSize:e.customSize});return t.tooltip?r.createElement(l.u,{title:t.tooltip,spanHack:!0},c):c}())})):r.createElement(r.Fragment,null),e.sortComponent&&e.sortComponent,s.length?r.createElement(c.m,{actions:s,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):r.createElement(r.Fragment,null)):r.createElement(r.Fragment,null)}},86509:(e,t,n)=>{n.d(t,{m:()=>b});var r=n(32735),a=n(23481),o=n(91967),l=n(81886),i=n(45157),c=n(49985),s=n(36848),u=n(83914),d=n(76177),m=n(35223);const f={dropdownToggle:"UCAnJ"};var p=a.T.encloseNamespace("shared.actions");function h(){return r.createElement(r.Fragment,null,r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function v(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function g(e){var t=o.q.isFunction(e.action.label)?e.action.label:function(){return r.createElement(r.Fragment,null,e.action.label)};if(e.action.appLink)return r.createElement(s.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:v(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&r.createElement(u.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t()));function n(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&c.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),o.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&l.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?r.createElement("a",{className:v(e.action.className),onClick:n,href:e.action.href},e.action.svgName&&r.createElement(u.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t())):r.createElement("span",{className:"cursor-pointer ".concat(v(e.action.className)),onClick:n,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&n(e)}},e.action.svgName&&r.createElement(u.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function b(e){if(!e.actions||!e.actions.length)return r.createElement(r.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),n="dropdown";e.className&&(n+=" ".concat(e.className));var a,o="actions-dropdown-".concat(i.Y.getRandomInt()),l="dropdown-toggle px-0 ".concat(f.dropdownToggle);return e.dropdownToggleClassName&&(l+=" ".concat(e.dropdownToggleClassName)),r.createElement("div",{className:n},r.createElement("button",{className:l,type:"button",id:o,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":p("actionsDropdownLabel"),onClick:t?e.fetchMore:null},r.createElement(u.x,{svgName:m.vn.More,size:e.dropdownToggleSvgSize})),r.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":o},t?r.createElement(h,null):e.actions.map((function(e,t){var n=void 0!==a&&a!==e.group;return a=e.group,e.tooltip?r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(d.u,{title:e.tooltip,spanHack:!0},r.createElement(g,{action:e}))):r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(g,{action:e}))}))))}b.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:u.S.Small}},11921:(e,t,n)=>{n.d(t,{F:()=>i});var r=n(32735),a=n(35223),o=n(83914);var l=function(e){switch(e){case"up":return"JAT0R";case"down":return"ld41u";case"right":return"HHkPe";case"left":return"jZTRR"}};function i(e){return r.createElement(o.x,{svgName:a.vn.Caret,className:"".concat(l(e.direction)," svg-container d-inline-block ").concat(e.className)})}i.defaultProps={direction:"right"}},38365:(e,t,n)=>{n.d(t,{n:()=>w,W:()=>E});var r=n(32735),a=n(80247),o=n(80130),l=n(92802),i=n(91967),c=n(1048),s=n(36848),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function d(e){var t=e.label,n=e.checkboxLabelClassName,a=e.checkboxLabelFontWeight,l=e.className,i=u(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return r.createElement(o.Z.Group,{className:"form-group"},r.createElement("div",{className:"form-check ".concat(l||"")},r.createElement(w,Object.assign({className:"form-check-input"},i)),r.createElement(o.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===a?"fw-normal":""," \n ").concat(n),htmlFor:i.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&r.createElement(r.Fragment,null,r.createElement("span",null," "),r.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var m=n(83914),f=n(83345),p=n(73814),h=n(35223);function v(e){var t=(0,l.u6)().values[e.fieldName];return"string"!=typeof t?r.createElement(r.Fragment,null):r.createElement("div",{className:"float-end text-secondary fw-normal"},t.length,"/",e.limit," characters")}const g={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var y=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},N="shared.formField";function w(e){var t,n,o=e.children,s=e.showLoadingSpinner,u=y(e,["children","showLoadingSpinner"]),d=(t=r.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,i=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(t,n)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],p=d[1],v=i.q.isFunction(o)?function(e){return o(e)}:r.Children.count(o)?o:null;if("password"!==u.type)return s?r.createElement("div",{className:"position-relative"},r.createElement(l.gN,Object.assign({},c.t.omit(u,["formSize"])),v),r.createElement("div",{className:g.spinner},r.createElement(a.Z,{animation:"border",size:"sm"}))):r.createElement(l.gN,Object.assign({},c.t.omit(u,["formSize"])),v);var N="position-relative ".concat(g.passwordContainer);return u.className&&(N+=" ".concat(u.className)),u.disabled&&(N+=" ".concat(g.passwordContainerDisabled)),r.createElement("div",{className:N},r.createElement(l.gN,Object.assign({},c.t.omit(u,["formSize","type","className"]),{type:f,className:"".concat(g.passwordInput," border-0 w-100 h-100 outline-none rounded")}),v),"password"===u.type&&r.createElement(m.x,{svgName:"password"===f?h.vn.VisibleOn:h.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(g.revealPassword),onClick:function(){p("password"===f?"text":"password")}}))}function E(e){var t=e.label,n=e.className,a=e.showCharacterCounter,i=e.showRequiredStar,s=e.infoTooltip,u=e.infoTooltipPlacement,b=e.infoText,E=e.formSize,S=e.showOptionalLabel,O=y(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),k=(0,l.u6)(),x=k.errors,C=k.touched,j=function(){};if("checkbox"===O.type){var T=c.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(T.onChange=j),r.createElement(d,Object.assign({},T))}var A=Object.assign(Object.assign({},O),{className:p.w.getCustomFormControlClassName(x,C,O.name,E,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(A.onChange=j),r.createElement(o.Z.Group,{className:"form-group"},!!t&&r.createElement(o.Z.Label,{htmlFor:O.id,className:"d-flex align-items-center"},t,i&&r.createElement("span",{className:"text-danger"},"*"),s&&r.createElement(m.x,{className:"svg-container text-secondary ".concat(g.infoTooltip),svgName:h.vn.Info,title:s,tooltipPlacement:u,tooltipSpanHack:!0}),S&&r.createElement("span",{className:"text-secondary"}," ",r.createElement(f.x,{namespace:N,phrase:"optional"})),!!a&&!!O.maxLength&&r.createElement("div",{className:"ms-auto"},r.createElement(v,{fieldName:O.name,limit:O.maxLength}))),r.createElement(w,Object.assign({},A)),!!b&&r.createElement(o.Z.Text,{className:"text-secondary"},b),r.createElement(l.Bc,{name:O.name},(function(e){return r.createElement(o.Z.Control.Feedback,{type:"invalid"},e)})))}w.defaultProps={autoComplete:"off"},E.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>s});var r=n(32735),a=n(92802),o=n(91967),l=n(1048);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var c=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,d=c(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),m=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=l.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&(l.t.isObject(n[r])?e(n[r]):null===t[r]&&delete t[r])}))}(t),t}(s)):s,f={allowInitialSubmit:e.allowInitialSubmit};return r.createElement(a.J9,Object.assign({enableReinitialize:!0},d,{initialValues:m,onSubmit:function(t,r){var a=r.setSubmitting,o=r.resetForm,l=r.setFieldError,c=n&&e.validationSchema?e.validationSchema.cast(t):t;u(c,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&o(),n.errors)for(var r=0,c=Object.entries(n.errors);r<c.length;r++){var s=(e=c[r],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,i=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],d=s[1];l(u,d)}a(!1)}))},initialStatus:f}),o.q.isFunction(e.children)?function(t){return e.children(t)}:r.Children.count(e.children)?e.children:null)}function u(){return(0,a.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},55367:(e,t,n)=>{n.d(t,{m:()=>g});var r=n(32735),a=n(81886),o=n(28400),l=n(83657),i=n(11921),c=n(11607),s=n(11462),u=n(76177);const d={tree:"ZYvBT",text:"eVGWe",chevron:"v76mu",disabled:"wIrTq",root:"JDRq_",selected:"wT87N",actions:"fKJU4",node:"gOBrH",noActions:"fKmrr"};function m(e){var t;function n(){var t="".concat(d.text," clamp-4");return e.className&&(t+=" ".concat(e.className)),t}if(e.isDisabled){var a="string"==typeof e.disabledTooltip?e.disabledTooltip:null===(t=e.disabledTooltip)||void 0===t?void 0:t.call(e,e.tree);return r.createElement(u.u,{title:a,spanHack:!0,spanHackClassName:"d-inline-block flex-grow-1"},r.createElement("span",{className:"".concat(n()," text-secondary ").concat(d.disabled)},e.text))}return r.createElement("div",{className:n()},e.text)}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var p="tree-actions";function h(e){var t,n,u,h=e.tree,v=e.selectedIds,b=e.getAppLink,y=e.onSelect,N=e.isDisabled,w=e.isClickDisabled,E=e.actions,S=e.isDropdown,O=r.useRef(null),k=r.useMemo((function(){return null==v?void 0:v.some((function(e){return s.d.find(h,e)}))}),[h,v]),x=e.openDepth&&e.depth<e.openDepth,C=(n=r.useState(k||x),u=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,i=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(n,u)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(n,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),j=C[0],T=C[1],A=null==v?void 0:v.some((function(e){return o.m.isEqual(h.id,e)})),I=!!h.children&&!!h.children.length;function D(){(null==w?void 0:w(h))||(e.multiSelect||T(!j),b?a.Q.C$.trigger(b(h)):(null==N?void 0:N(h))?y(null):null==y||y(h))}return e.maxDisplayDepth&&I&&(I=e.depth<e.maxDisplayDepth),r.useEffect((function(){if(O.current&&S){var e=function(e){e.stopPropagation(),D()};return O.current.addEventListener("click",e),function(){O.current&&O.current.removeEventListener("click",e)}}}),[O.current,y]),r.useEffect((function(){var t;e.multiSelect||j&&(k||A||!(null===(t=e.selectedIds)||void 0===t?void 0:t.length)&&(null==N?void 0:N(e.tree))||x||T(!1))}),[v]),e.maxDisplayDepth&&e.depth>e.maxDisplayDepth?r.createElement(r.Fragment,null):r.createElement("li",{className:"position-relative ".concat(j?"":d.collapsed," ").concat(e.isRoot?d.root:"")},r.createElement("div",{className:"position-relative"},r.createElement(c.L,{className:(t="py-1 d-flex align-items-center w-100 position-relative ".concat(d.node),A&&(t+=" "+e.selectedLinkClassName),(null==E?void 0:E.length)||(t+=" "+d.noActions),k&&e.multiSelect&&(t+=" text-underline fst-italic"),t),onClick:S?null:D,ref:O},I&&r.createElement("div",{className:d.chevron,onClick:function(t){t.stopPropagation(),e.multiSelect?T(!j):D()}},r.createElement(i.F,{direction:j?"down":"right"})),r.createElement(m,{tree:h,text:h.name||h.description,isDisabled:(null==N?void 0:N(h))||(null==w?void 0:w(h)),disabledTooltip:e.disabledTooltip})),!!e.actions&&r.createElement(l.e,{className:d.actions,actions:null==E?void 0:E.map((function(e){return Object.assign(Object.assign({},e),{appLink:e.getAppLink(h)})})),actionsDropdownClassName:"btn btn-light ".concat(p," py-0")}),j&&r.createElement(g,Object.assign({key:h.id},e,{isChild:!0,depth:e.depth+1}))))}h.defaultProps={selectedLinkClassName:d.selected};var v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function g(e){var t=e.tree,n=v(e,["tree"]);return t&&t.children?r.createElement("ul",{className:"m-0 p-0 list-unstyled ".concat(d.tree)},t.children.map((function(t,a){return r.createElement(h,Object.assign({key:a,tree:t},n,{isRoot:!e.isChild,depth:e.depth||0}))}))):r.createElement(r.Fragment,null)}},73814:(e,t,n)=>{n.d(t,{w:()=>a});var r=n(92802),a={getCustomFormControlClassName:function(e,t,n,a,o,l){var i="";return i=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(l,a),(0,r.u9)(t,n)&&(0,r.u9)(e,n)&&(i+=" is-invalid"),o&&(i+=" ".concat(o)),i}}},11462:(e,t,n)=>{n.d(t,{d:()=>d,q:()=>u});var r=n(1048),a=n(28400);function o(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=i(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,i=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(e,t)||i(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t,n){if(a.m.isEqual(e.id,t))return[e,n];var r,o=e.children;if(!o||!o.length)return[null,null];for(var u=0;u<o.length;u++){var d=l(s(o[u],t,[].concat(function(e){if(Array.isArray(e))return c(e)}(r=n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||i(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e])),2),m=d[0],f=d[1];if(m)return[m,f]}return[null,null]}var u=7,d={find:function(e,t){if(e&&e.children&&e.children.length)for(var n=0;n<e.children.length;n++){var r=l(s(e.children[n],t,[]),1)[0];if(r)return r}},getPath:function(e,t){if(e&&e.children&&e.children.length)for(var n=0;n<e.children.length;n++){var r=l(s(e.children[n],t,[]),2)[1];if(null==r?void 0:r.length)return r}},getParent:function(e,t){var n=d.getPath(e,t);return(null==n?void 0:n.length)?n[n.length-1]:null},convertNestedObjectToTree:function(e){var t,n=Object.assign(Object.assign({},e.data),{children:e.children});return(null===(t=n.children)||void 0===t?void 0:t.length)&&(n.children=n.children.map(d.convertNestedObjectToTree)),n},findDepth:function(e,t){var n,r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!e||0===e.length)return 0;var l,i=0,c=o(e);try{for(c.s();!(l=c.n()).done;){var s=l.value;if((null===(r=null===(n=s.data)||void 0===n?void 0:n.id)||void 0===r?void 0:r.toString())===t.toString())return a;var u=d.findDepth(s.children,t,a+1);if(u>0){i=u;break}}}catch(e){c.e(e)}finally{c.f()}return i},findMaxChildDepth:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!e||0===e.length)return t;var n,r=t,a=o(e);try{for(a.s();!(n=a.n()).done;){var l=n.value,i=d.findMaxChildDepth(l.children,t+1);r=Math.max(r,i)}}catch(e){a.e(e)}finally{a.f()}return r},findTargetNode:function(e,t){var n,r;if(!e||0===e.length)return null;var a,l=o(e);try{for(l.s();!(a=l.n()).done;){var i=a.value;if((null===(r=null===(n=i.data)||void 0===n?void 0:n.id)||void 0===r?void 0:r.toString())===t.toString())return i;var c=d.findTargetNode(i.children,t);if(null!==c)return c}}catch(e){l.e(e)}finally{l.f()}return null},isMaxDepth:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u,a=d.findTargetNode(e,t);return d.findMaxChildDepth(a.children)+d.findDepth(e,n)>=r},flatten:function(e){if(!e)return[];var t=[];return e.children.forEach((function e(n){t.push(r.t.omit(n,["children"])),n.children.forEach(e)})),t}}}}]);
|
|
2
|
-
//# sourceMappingURL=5385-db9999f839-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/5385-db9999f839-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/actions/Actions.tsx","file:///app/packages/libs/shared/src/components/actions/actions.scss","file:///app/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","file:///app/packages/libs/shared/src/components/caret/Caret.tsx","file:///app/packages/libs/shared/src/components/caret/caret.scss","file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/components/tree/tree.scss","file:///app/packages/libs/shared/src/components/tree/TreeNodeText.tsx","file:///app/packages/libs/shared/src/components/tree/TreeNode.tsx","file:///app/packages/libs/shared/src/components/tree/Tree.tsx","file:///app/packages/libs/shared/src/utils/FormHelper.ts","file:///app/packages/libs/shared/src/utils/TreeHelper.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { ActionButton } from './ActionButton';\nimport { ActionsDropdown } from './ActionsDropdown';\n\nexport interface ActionOptions {\n order?: number;\n label?: string | (() => JSX.Element);\n appLink?: Core.AppLink;\n href?: string;\n onClick?: () => void;\n svgName?: string;\n className?: string;\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\n tooltip?: string;\n showSpinner?: boolean;\n showBorder?: boolean; // only works for button without text label\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n disabled?: boolean;\n openInNewTab?: boolean; // Only used if appLink or href is provided\n group?: string;\n lazyPlaceholder?: boolean;\n}\n\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\n\ninterface ActionsProps {\n actions: ActionOptions[];\n className?: string;\n actionsDropdownClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n sortComponent?: JSX.Element;\n customSize?: boolean;\n fetchMore?: () => void;\n}\n\nexport function Actions(props: ActionsProps): JSX.Element {\n const orderedActions = React.useMemo(() => props.actions.sort((a, b) => a.order - b.order), [props.actions]);\n\n const buttonActions: ActionOptions[] = [];\n const moreActions: ActionOptions[] = [];\n\n orderedActions.forEach(a => {\n if (a.button)\n buttonActions.push(a);\n else\n moreActions.push(a);\n });\n\n let className = 'd-flex';\n\n if (props.className)\n className += ` ${props.className}`;\n\n if (!buttonActions.length && !moreActions.length)\n return <></>;\n\n return (\n <div className={className}>\n {buttonActions.length ? buttonActions.map((a, idx) => (\n <React.Fragment key={idx}>\n {(() => {\n if (a.label) {\n const label = FunctionHelper.isFunction(a.label)\n ? a.label\n : () => <>{a.label}</>;\n\n return (\n <ActionButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n svgSize={props.dropdownToggleSvgSize}\n className={a.className}\n tooltip={a.tooltip}\n showSpinner={a.showSpinner}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n >\n {label()}\n </ActionButton>\n );\n }\n\n const iconButton = (\n <IconButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n className={a.className}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n showBorder={a.showBorder}\n customSize={props.customSize}\n />\n );\n\n return a.tooltip\n ? <Tooltip title={a.tooltip} spanHack>{iconButton}</Tooltip>\n : iconButton;\n })()}\n </React.Fragment>\n )) : <></>}\n {props.sortComponent && props.sortComponent}\n {moreActions.length ? (\n <ActionsDropdown\n actions={moreActions}\n dropdownToggleClassName={props.actionsDropdownClassName}\n dropdownToggleSvgSize={props.dropdownToggleSvgSize}\n fetchMore={props.fetchMore}\n />\n ) : <></>}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dropdownToggle\":\"UCAnJ\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionOptions } from './Actions';\n\nimport styles from './actions.scss';\n\n\nconst namespace = 'shared.actions';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction LazyDropdownItems(): JSX.Element {\n return (\n <>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '8rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '12rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '11rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '9rem' }}></div>\n </div>\n </>\n );\n}\n\nfunction getDropdownItemClassName(actionClassName?: string): string {\n let className = 'dropdown-item';\n\n if (actionClassName)\n className += ` ${actionClassName}`;\n\n return className;\n}\n\nexport type DropdownActionOptions = Omit<ActionOptions, 'button'>;\n\ninterface ActionsDropdownItemProps {\n action: DropdownActionOptions;\n}\n\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\n const label = FunctionHelper.isFunction(props.action.label)\n ? props.action.label\n : () => <>{props.action.label}</>;\n\n if (props.action.appLink)\n return (\n <AppLink\n appLink={props.action.appLink}\n onClick={props.action.onClick}\n className={getDropdownItemClassName(props.action.className)}\n analyticsData={props.action.analyticsData}\n analyticsOptions={props.action.analyticsOptions}\n openInNewTab={props.action.openInNewTab}\n disabled={props.action.disabled}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </AppLink>\n );\n\n function onClick(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n\n if (props.action.analyticsData && props.action.analyticsOptions)\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\n\n if (FunctionHelper.isFunction(props.action.onClick))\n props.action.onClick();\n\n if (props.action.href)\n Core.LocationUtils.PageLoad(props.action.href, props.action.openInNewTab);\n }\n\n if (props.action.href) {\n return (\n <a\n className={getDropdownItemClassName(props.action.className)}\n onClick={onClick}\n href={props.action.href}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </a>\n );\n }\n\n return (\n <span\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\n onClick={onClick}\n role='button'\n tabIndex={0}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClick(e)}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2' />}\n {label()}\n </span>\n );\n}\n\ninterface ActionsDropdownProps {\n actions: DropdownActionOptions[];\n className?: string;\n dropdownToggleClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n fetchMore?: () => void;\n}\n\nActionsDropdown.defaultProps = {\n dropdownToggleClassName: 'btn btn-light',\n dropdownToggleSvgSize: SvgContainerSize.Small\n};\n\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\n if (!props.actions || !props.actions.length)\n return <></>;\n\n const isLazy = props.actions.some(a => a.lazyPlaceholder);\n\n let className = 'dropdown';\n\n if (props.className)\n className += ` ${props.className}`;\n\n // Generate unique id to avoid collisions.\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\n\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\n\n if (props.dropdownToggleClassName)\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\n\n let currentGroup: string;\n\n return (\n <div className={className}>\n <button\n className={dropdownToggleClassName}\n type='button'\n id={dropdownToggleId}\n data-bs-toggle='dropdown'\n data-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n aria-label={getPhrase('actionsDropdownLabel')}\n onClick={isLazy ? props.fetchMore : null}\n >\n <SvgContainer svgName={cvSvgLibrary.More} size={props.dropdownToggleSvgSize} />\n </button>\n <ul className='dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal' aria-labelledby={dropdownToggleId}>\n {isLazy ?\n <LazyDropdownItems /> :\n props.actions.map((a, idx) => {\n const showDivider = currentGroup !== undefined && currentGroup !== a.group;\n currentGroup = a.group;\n \n if (a.tooltip) {\n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <Tooltip title={a.tooltip} spanHack>\n <ActionsDropdownItem action={a} />\n </Tooltip>\n \n </li>\n );\n }\n \n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <ActionsDropdownItem action={a} />\n </li>\n );\n })\n }\n </ul>\n </div>\n );\n}","import React from 'react';\n\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './caret.scss';\n\ntype CaretDirection = 'left' | 'right' | 'up' | 'down';\n\n\nconst getDirectionClass = (direction: CaretDirection) => {\n switch (direction) {\n case 'up':\n return styles.up;\n case 'down':\n return styles.down;\n case 'right':\n return styles.right;\n case 'left':\n return styles.left;\n }\n};\n\ninterface CaretProps {\n direction?: CaretDirection;\n className?: string;\n}\n\nCaret.defaultProps = {\n direction: 'right'\n};\n\nexport function Caret(props: CaretProps): JSX.Element {\n return (\n <SvgContainer\n svgName={cvSvgLibrary.Caret}\n className={`${getDirectionClass(props.direction)} svg-container d-inline-block ${props.className}`}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"up\":\"JAT0R\",\"down\":\"ld41u\",\"left\":\"jZTRR\",\"right\":\"HHkPe\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span> </span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = values[props.fieldName];\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'> <Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","// extracted by mini-css-extract-plugin\nexport default {\"tree\":\"ZYvBT\",\"text\":\"eVGWe\",\"chevron\":\"v76mu\",\"disabled\":\"wIrTq\",\"root\":\"JDRq_\",\"selected\":\"wT87N\",\"actions\":\"fKJU4\",\"node\":\"gOBrH\",\"noActions\":\"fKmrr\"};","import React from 'react';\n\nimport { BaseObject } from 'libs/analytics/interfaces';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nimport styles from './tree.scss';\n\ninterface TreeNodeTextProps<T extends BaseTree<BaseObject>> {\n tree: T;\n text: string;\n className?: string;\n isDisabled?: boolean;\n disabledTooltip?: string | ((tree: T) => string);\n}\n\nexport function TreeNodeText<T extends BaseTree<BaseObject>>(props: TreeNodeTextProps<T>): React.ReactElement {\n function getTextClass(): string {\n let textClassName = `${styles.text} clamp-4`;\n\n if (props.className)\n textClassName += ` ${props.className}`;\n\n return textClassName;\n }\n\n if (props.isDisabled) {\n const disabledToolTip = typeof props.disabledTooltip === 'string' ?\n props.disabledTooltip :\n props.disabledTooltip?.(props.tree);\n\n return (\n <Tooltip title={disabledToolTip} spanHack spanHackClassName='d-inline-block flex-grow-1'>\n <span className={`${getTextClass()} text-secondary ${styles.disabled}`}>\n {props.text}\n </span>\n </Tooltip>\n );\n }\n\n return (\n <div className={getTextClass()}>\n {props.text}\n </div>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Actions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nimport { Tree } from './Tree';\nimport { TreeNodeText } from './TreeNodeText';\n\nimport styles from './tree.scss';\n\nconst TREE_ACTIONS_CLASS = 'tree-actions';\n\nexport interface TreeNodeAction<T extends BaseTree<BaseObject>> {\n label: string;\n getAppLink: (node: T) => Core.AppLink;\n className?: string;\n}\n\ninterface TreeNodeProps<T extends BaseTree<BaseObject>> {\n tree: T;\n selectedIds?: string[];\n getAppLink?: (item: T) => Core.AppLink;\n onSelect?: (item: T) => void;\n isDisabled?: (item: T) => boolean;\n isClickDisabled?: (item: T) => boolean;\n actions?: TreeNodeAction<T>[];\n selectedLinkClassName?: string;\n disabledTooltip?: string | ((tree: T) => string);\n isRoot?: boolean;\n isDropdown?: boolean;\n multiSelect?: boolean;\n depth: number;\n openDepth?: number;\n maxDisplayDepth?: number;\n}\n\nTreeNode.defaultProps = {\n selectedLinkClassName: styles.selected\n};\n\nexport function TreeNode<T extends BaseTree<BaseObject>>(props: TreeNodeProps<T>): React.ReactElement {\n const { tree, selectedIds, getAppLink, onSelect, isDisabled, isClickDisabled, actions, isDropdown } = props;\n\n const ref = React.useRef<HTMLDivElement>(null);\n\n // If one of our children is selected\n const isParentOfSelected = React.useMemo(() => {\n return selectedIds?.some(id => TreeHelper.find(tree, id));\n }, [ tree, selectedIds ]);\n\n // Or we are below the initial open depth\n const initiallyOpen = props.openDepth && props.depth < props.openDepth;\n\n // We render expanded initially\n const [ isExpanded, setIsExpanded ] = React.useState(isParentOfSelected || initiallyOpen);\n\n const isSelected = selectedIds?.some(id => TextHelper.isEqual(tree.id, id));\n let hasChildren = !!tree.children && !!tree.children.length;\n\n if (props.maxDisplayDepth && hasChildren)\n hasChildren = props.depth < props.maxDisplayDepth;\n\n /**\n * We need to stop propagation of our event if our tree is rendered\n * inside of a bootstrap dropdown - Sha\n */\n React.useEffect(() => {\n if (!ref.current || !isDropdown)\n return;\n\n const onClick = (e: Event) => {\n e.stopPropagation();\n onSelectNode();\n };\n\n ref.current.addEventListener('click', onClick);\n return () => {\n if (!ref.current)\n return;\n\n ref.current.removeEventListener('click', onClick);\n };\n }, [ ref.current, onSelect ]);\n\n /**\n * Check if an expanded item should actually be collapsed\n */\n React.useEffect(() => {\n // Don't do auto collapsing for trees that support multiple selections\n if (props.multiSelect)\n return;\n\n // Skip item if it's already collapsed\n if (!isExpanded)\n return;\n\n // Parents of a selected item should remain expanded\n if (isParentOfSelected)\n return;\n\n // Selected items should remain expanded\n if (isSelected)\n return;\n\n // Disabled items can be expanded if nothing has been selected\n if (!props.selectedIds?.length && isDisabled?.(props.tree))\n return;\n\n // If we want it to be initially open\n if (initiallyOpen)\n return;\n\n setIsExpanded(false);\n }, [selectedIds]);\n\n function onSelectNode(): void {\n if (isClickDisabled?.(tree))\n return;\n\n if (!props.multiSelect)\n setIsExpanded(!isExpanded);\n\n if (getAppLink) {\n Core.AppLinkHelper.trigger(getAppLink(tree));\n return;\n }\n\n if (isDisabled?.(tree)) {\n onSelect(null);\n return;\n }\n\n onSelect?.(tree);\n }\n\n function onClickCaret(e: any): void {\n e.stopPropagation();\n\n if (props.multiSelect) {\n setIsExpanded(!isExpanded);\n return;\n }\n\n onSelectNode();\n }\n\n function getNodeClass(): string {\n let className = `py-1 d-flex align-items-center w-100 position-relative ${styles.node}`;\n\n if (isSelected)\n className += ' ' + props.selectedLinkClassName;\n\n if (!actions?.length)\n className += ' ' + styles.noActions;\n\n if (isParentOfSelected && props.multiSelect)\n className += ' text-underline fst-italic';\n\n return className;\n }\n\n if (props.maxDisplayDepth && (props.depth > props.maxDisplayDepth))\n return <></>;\n\n return (\n <li className={`position-relative ${isExpanded ? '' : styles.collapsed} ${props.isRoot ? styles.root : ''}`}>\n <div className='position-relative'>\n <DivButton\n className={getNodeClass()}\n onClick={isDropdown ? null : onSelectNode}\n ref={ref}\n >\n {hasChildren && (\n <div className={styles.chevron} onClick={onClickCaret}>\n <Caret direction={isExpanded ? 'down' : 'right'} />\n </div>\n )}\n\n <TreeNodeText\n tree={tree}\n // Always prefer name over description\n text={tree.name || tree.description}\n isDisabled={isDisabled?.(tree) || isClickDisabled?.(tree)}\n disabledTooltip={props.disabledTooltip}\n />\n </DivButton>\n\n {!!props.actions && (\n <Actions\n className={styles.actions}\n actions={actions?.map(a => ({ ...a, appLink: a.getAppLink(tree) }))}\n actionsDropdownClassName={`btn btn-light ${TREE_ACTIONS_CLASS} py-0`}\n />\n )}\n\n {isExpanded && <Tree key={tree.id} {...props} isChild depth={props.depth + 1} />}\n </div>\n </li>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nimport { TreeNode, TreeNodeAction } from './TreeNode';\n\nimport styles from './tree.scss';\n\nexport interface TreeProps<T extends BaseTree<BaseObject>> {\n tree: T;\n selectedIds?: string[];\n getAppLink?: (item: T) => Core.AppLink;\n onSelect?: (item: T) => void;\n isDisabled?: (item: T) => boolean;\n isClickDisabled?: (item: T) => boolean;\n actions?: TreeNodeAction<T>[];\n selectedLinkClassName?: string;\n disabledTooltip?: string | ((tree: T) => string);\n isChild?: boolean;\n depth?: number;\n multiSelect?: boolean;\n /**\n * Set to true if you are using this component inside of\n * a bootstrap dropdown menu and don't want it to close\n * on click events - Sha\n */\n isDropdown?: boolean;\n /**\n * If you want to initially render open to a certain depth\n */\n openDepth?: number;\n maxDisplayDepth?: number;\n}\n\nexport function Tree<T extends BaseTree<BaseObject>>(props: TreeProps<T>): React.ReactElement {\n const { tree, ...childProps } = props;\n\n if (!tree || !tree.children)\n return <></>;\n\n return (\n <ul className={`m-0 p-0 list-unstyled ${styles.tree}`}>\n {tree.children.map((child, key) => (\n <TreeNode key={key} tree={child} {...childProps} isRoot={!props.isChild} depth={props.depth || 0} />\n ))}\n </ul>\n );\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};","import { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { BaseObject, MasterNestedObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nfunction _find<T extends BaseTree<BaseObject>>(\n node: T,\n id: string | number,\n parents: T[]\n): [ T | null, T[] ] {\n if (TextHelper.isEqual(node.id, id))\n return [ node, parents ];\n\n const children = node.children;\n\n if (!children || !children.length)\n return [ null, null ];\n\n for (let i = 0; i < children.length; i++) {\n const [ child, foundParents ] = _find(children[i] as T, id, [ ...parents, node ]);\n\n if (child)\n return [ child, foundParents ];\n }\n\n return [ null, null ];\n}\n\nexport const DEFAULT_MAX_DEPTH = 7;\n\nexport const TreeHelper = {\n find<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T | null {\n if (!tree || !tree.children || !tree.children.length)\n return;\n\n for (let j = 0; j < tree.children.length; j++) {\n const [child] = _find(tree.children[j] as T, id, []);\n \n if (child)\n return child;\n }\n },\n\n getPath<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T[] {\n if (!tree || !tree.children || !tree.children.length)\n return;\n\n for (let j = 0; j < tree.children.length; j++) {\n const [ , path ] = _find(tree.children[j] as T, id, []);\n \n if (path?.length)\n return path;\n }\n },\n\n getParent<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T {\n const path = TreeHelper.getPath(tree, id);\n\n if (!path?.length)\n return null;\n\n return path[path.length - 1];\n },\n\n convertNestedObjectToTree<T extends BaseObject>(nestedObject: MasterNestedObject<T>): BaseTree<T> {\n const node: BaseTree<T> = {\n ...nestedObject.data,\n children: nestedObject.children\n };\n\n if (node.children?.length)\n node.children = node.children.map(TreeHelper.convertNestedObjectToTree);\n\n return node;\n },\n\n findDepth<T extends MasterNestedObject<BaseObject>>(nodes: T[], targetId: string, currentDepth: number = 0): number {\n if (!nodes || nodes.length === 0) {\n return 0;\n }\n\n let depth = 0;\n\n for (const node of nodes) {\n if (node.data?.id?.toString() === targetId.toString()) {\n return currentDepth;\n }\n\n const childDepth = TreeHelper.findDepth(node.children, targetId, currentDepth + 1);\n\n if (childDepth > 0) {\n depth = childDepth;\n break;\n }\n }\n\n return depth;\n },\n\n findMaxChildDepth<T extends BaseObject>(nodes: MasterNestedObject<T>[], currentDepth: number = 0): number {\n if (!nodes || nodes.length === 0) {\n return currentDepth;\n }\n \n let deepestLevel = currentDepth;\n \n for (const node of nodes) {\n const childLevel = TreeHelper.findMaxChildDepth(node.children, currentDepth + 1);\n deepestLevel = Math.max(deepestLevel, childLevel);\n }\n \n return deepestLevel;\n },\n\n findTargetNode<T extends BaseObject>(nodes: MasterNestedObject<T>[], targetId: string): MasterNestedObject<T> | null {\n if (!nodes || nodes.length === 0) {\n return null;\n }\n \n for (const node of nodes) {\n if (node.data?.id?.toString() === targetId.toString()) {\n return node;\n }\n \n const result = TreeHelper.findTargetNode(node.children, targetId);\n if (result !== null) {\n return result;\n }\n }\n \n return null;\n },\n\n isMaxDepth<T extends MasterNestedObject<BaseObject>>(\n nodes: T[],\n sourceId: string,\n targetId: string,\n maxDepth: number = DEFAULT_MAX_DEPTH\n ): boolean {\n const sourceTree = TreeHelper.findTargetNode(nodes, sourceId);\n const maxChildDepth = TreeHelper.findMaxChildDepth(sourceTree.children);\n const targetDepth = TreeHelper.findDepth(nodes, targetId);\n \n return maxChildDepth + targetDepth >= maxDepth;\n },\n\n flatten<T>(\n tree: BaseTree<T>\n ): T[] {\n if (!tree)\n return [];\n\n const nodes: T[] = [];\n\n function pushNode(node: BaseTree<T>): void {\n nodes.push(ObjectHelper.omit(node, ['children']));\n node.children.forEach(pushNode);\n }\n\n tree.children.forEach(pushNode);\n\n return nodes;\n }\n};"],"names":["Actions","props","orderedActions","actions","sort","a","b","order","buttonActions","moreActions","forEach","button","push","className","length","map","idx","key","label","appLink","href","onClick","svgName","svgSize","dropdownToggleSvgSize","tooltip","showSpinner","analyticsData","analyticsOptions","openInNewTab","disabled","iconButton","showBorder","customSize","title","spanHack","sortComponent","dropdownToggleClassName","actionsDropdownClassName","fetchMore","getPhrase","LanguageService","LazyDropdownItems","style","padding","height","width","getDropdownItemClassName","actionClassName","ActionsDropdownItem","FunctionHelper","action","AppLink","SvgContainer","e","preventDefault","AnalyticsHelper","role","tabIndex","onKeyDown","ActionsDropdown","isLazy","some","lazyPlaceholder","currentGroup","dropdownToggleId","RandomHelper","type","id","size","showDivider","undefined","group","Tooltip","defaultProps","S","getDirectionClass","direction","Caret","FormCheckbox","checkboxLabelClassName","checkboxLabelFontWeight","fieldProps","Form","FieldWrapper","htmlFor","checkboxAppLink","checkboxAppLinkText","CharacterCounter","field","values","fieldName","limit","namespace","children","showLoadingSpinner","setType","resolvedChildren","f","ObjectHelper","Spinner","animation","containerClassName","FormField","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","name","as","tooltipPlacement","tooltipSpanHack","Text","phrase","maxLength","errorMessage","autoComplete","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formikProps","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","options","reset","entries","value","useFormikContextWrapper","TreeNodeText","getTextClass","textClassName","isDisabled","disabledToolTip","disabledTooltip","tree","spanHackClassName","text","TREE_ACTIONS_CLASS","TreeNode","selectedIds","getAppLink","onSelect","isClickDisabled","isDropdown","ref","isParentOfSelected","TreeHelper","initiallyOpen","openDepth","depth","isExpanded","setIsExpanded","isSelected","TextHelper","hasChildren","onSelectNode","multiSelect","maxDisplayDepth","current","stopPropagation","addEventListener","removeEventListener","isRoot","DivButton","selectedLinkClassName","description","Tree","isChild","childProps","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize","_find","node","parents","i","foundParents","DEFAULT_MAX_DEPTH","find","j","getPath","path","getParent","convertNestedObjectToTree","nestedObject","data","findDepth","nodes","targetId","currentDepth","toString","childDepth","findMaxChildDepth","deepestLevel","childLevel","Math","max","findTargetNode","result","isMaxDepth","sourceId","maxDepth","sourceTree","flatten","pushNode"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5595],{50690:(e,t,a)=>{a.d(t,{b:()=>r});var n=a(12788),r={renderInPortalIfExists:function(e,t){return t?(0,n.createPortal)(e,t):e}}},84963:(e,t,a)=>{a.d(t,{r:()=>d});var n=a(32735),r=a(23481),o=a(83914),l=a(76177),i=a(35223);const c={tag:"XRj8d",tooltip:"X6mLk"};var s="specialEventCalendar.comingSoonTag";function d(e){return n.createElement(l.u,{title:r.T.getPhrase(s,"tooltip"),spanHackClassName:"d-block ".concat(c.tooltip),spanHack:!0},n.createElement("div",{className:"d-flex text-dark align-items-center ".concat(c.tag," ").concat(e.className)},n.createElement(o.x,{svgName:i.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(s,"comingSoon")))}},73679:(e,t,a)=>{a.d(t,{s:()=>l});var n=a(32735),r=a(36848);const o={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function l(e){var t,a,l;return n.createElement(r.F,{appLink:null===(t=e.getAppLink)||void 0===t?void 0:t.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(a=e.theme)||void 0===a?void 0:a.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},n.createElement("div",{className:"position-relative ".concat(o.dateItem)},n.createElement("div",{className:"".concat(null===(l=e.theme)||void 0===l?void 0:l.background," py-1 ").concat(o.label," d-flex align-items-center justify-content-center")},e.label?e.label:n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return o.bodyRange;case"day":return o.bodyDay;case"month":return o.bodyMonth}}()," ").concat(o.body," my-2")},e.body.text),n.createElement("div",{className:"mb-0 ".concat(o.month)},e.month)))}},83657:(e,t,a)=>{a.d(t,{e:()=>s});var n=a(32735),r=a(91967),o=a(10874),l=a(76177),i=a(42735),c=a(86509);function s(e){var t=n.useMemo((function(){return e.actions.sort((function(e,t){return e.order-t.order}))}),[e.actions]),a=[],s=[];t.forEach((function(e){e.button?a.push(e):s.push(e)}));var d="d-flex";return e.className&&(d+=" ".concat(e.className)),a.length||s.length?n.createElement("div",{className:d},a.length?a.map((function(t,a){return n.createElement(n.Fragment,{key:a},function(){if(t.label){var a=r.q.isFunction(t.label)?t.label:function(){return n.createElement(n.Fragment,null,t.label)};return n.createElement(i.K,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,svgSize:e.dropdownToggleSvgSize,className:t.className,tooltip:t.tooltip,showSpinner:t.showSpinner,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled},a())}var c=n.createElement(o.h,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,className:t.className,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled,showBorder:t.showBorder,customSize:e.customSize});return t.tooltip?n.createElement(l.u,{title:t.tooltip,spanHack:!0},c):c}())})):n.createElement(n.Fragment,null),e.sortComponent&&e.sortComponent,s.length?n.createElement(c.m,{actions:s,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):n.createElement(n.Fragment,null)):n.createElement(n.Fragment,null)}},86509:(e,t,a)=>{a.d(t,{m:()=>h});var n=a(32735),r=a(23481),o=a(91967),l=a(81886),i=a(45157),c=a(49985),s=a(36848),d=a(83914),m=a(76177),u=a(35223);const g={dropdownToggle:"UCAnJ"};var p=r.T.encloseNamespace("shared.actions");function v(){return n.createElement(n.Fragment,null,n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function f(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function b(e){var t=o.q.isFunction(e.action.label)?e.action.label:function(){return n.createElement(n.Fragment,null,e.action.label)};if(e.action.appLink)return n.createElement(s.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:f(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&n.createElement(d.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),n.createElement("span",{className:"align-middle"},t()));function a(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&c.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),o.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&l.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?n.createElement("a",{className:f(e.action.className),onClick:a,href:e.action.href},e.action.svgName&&n.createElement(d.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),n.createElement("span",{className:"align-middle"},t())):n.createElement("span",{className:"cursor-pointer ".concat(f(e.action.className)),onClick:a,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&a(e)}},e.action.svgName&&n.createElement(d.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function h(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),a="dropdown";e.className&&(a+=" ".concat(e.className));var r,o="actions-dropdown-".concat(i.Y.getRandomInt()),l="dropdown-toggle px-0 ".concat(g.dropdownToggle);return e.dropdownToggleClassName&&(l+=" ".concat(e.dropdownToggleClassName)),n.createElement("div",{className:a},n.createElement("button",{className:l,type:"button",id:o,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":p("actionsDropdownLabel"),onClick:t?e.fetchMore:null},n.createElement(d.x,{svgName:u.vn.More,size:e.dropdownToggleSvgSize})),n.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":o},t?n.createElement(v,null):e.actions.map((function(e,t){var a=void 0!==r&&r!==e.group;return r=e.group,e.tooltip?n.createElement("li",{key:t},a&&n.createElement("hr",{className:"dropdown-divider",role:"separator"}),n.createElement(m.u,{title:e.tooltip,spanHack:!0},n.createElement(b,{action:e}))):n.createElement("li",{key:t},a&&n.createElement("hr",{className:"dropdown-divider",role:"separator"}),n.createElement(b,{action:e}))}))))}h.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:d.S.Small}},44522:(e,t,a)=>{a.d(t,{p:()=>x,v:()=>S});var n=a(32735),r=a(110),o=a(50690),l=a(84963),i=a(73679),c=a(83657),s=a(23481),d=a(36848),m=a(83914),u=a(35223),g="shared.backButton";function p(e){var t=Object.assign({textShadow:!0},e),a=t.backToName,r=t.appLink,o=t.color,l=t.extraClasses,i=t.textShadow,c=a?s.T.getPhrase(g,"backTo",{backToName:a}):s.T.getPhrase(g,"back"),p="black"===o?"":"text-white",v=i?"text-shadow":"";return n.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(l," ").concat(p," ").concat(v)},n.createElement(m.x,{svgName:u.vn.ChevronLeft,size:m.S.Medium}),n.createElement("span",{className:"ms-1"},c))}p.defaultProps={color:"black",extraClasses:""};var v=a(36518),f=a(83345),b=a(10587),h=a(94232),y=a(54610),E=a(79967),N=a(67453);const k={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var w="".concat(b.y[y.__.Banners].width,":").concat(b.y[y.__.Banners].height);function C(e){return e.length<160?"h1":k.headingLarge}var x=n.memo((function(e){var t,a,s,d,m=e.heading,u=e.banner,g=e.imageCdnUrl,b=e.actions,x=e.sortComponent,S=e.blockColourClass,L=e.specialEvent,D=n.useContext(h.n),T=(0,E.k)().xxl?1920:1200,F=n.useMemo((function(){if(!L||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return L.endDate?L.startDate<=t&&L.endDate>=t:L.startDate===t}),[L]),O=e.imageOptions||{width:T,ratio:w,resizeType:y.Nq.Cover},A=!!u&&!!g&&N.j.createBannerUrl(u,{fallbackBaseUrl:g,fallbackCategoryName:m,type:y.__.Banners},O),I={className:"banner banner-header ".concat(e.bannerClassName),style:A?{backgroundImage:"url('".concat(A,"')")}:{}};!u&&S&&(delete I.style,I.className+=" ".concat(S));var j=e.detailsComponent;return o.b.renderInPortalIfExists(n.createElement("header",Object.assign({},I),n.createElement("div",{className:"container ".concat(k.container," position-relative inner-banner")},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(p,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),n.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(k.bannerContent," px-2 ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?k.bannerContentWithLogo:""))},!!L&&n.createElement("div",{className:"position-relative ".concat(k.specialEventContainer)},n.createElement(i.s,{body:{type:L.endDate?"range":"day",text:L.endDate?"".concat(r.O.format(L.startDate,"DD"),"-").concat(r.O.format(L.endDate,"DD")):r.O.format(L.startDate,"DD")},month:r.O.format(L.startDate,"MMMM"),theme:e.calendarTheme})),n.createElement("div",null,F&&n.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},n.createElement(f.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&n.createElement(l.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),n.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&n.createElement("div",{className:"".concat(k.logoContainerLeft," d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3")},(null===(a=e.logo)||void 0===a?void 0:a.url)&&n.createElement(v.w,{src:N.j.createUrl(null===(s=e.logo)||void 0===s?void 0:s.url,{size:y.h2.Medium})})),n.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(k.heading," ").concat(C(m)," ").concat(e.alignLogoLeft?"w-50":"")},m,j&&n.createElement(j,null)))),!!b&&n.createElement("div",{className:k.actionsContainer},n.createElement(c.e,{actions:b,sortComponent:x,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&n.createElement("div",{className:k.logoContainer},n.createElement("img",{src:N.j.createUrl(e.logo.url,{size:y.h2.Small}),className:"rounded-circle"})))),null==D?void 0:D.container)}),(function(e,t){var a,n;return e.actions===t.actions&&e.heading===t.heading&&(null===(a=e.logo)||void 0===a?void 0:a.url)===(null===(n=t.logo)||void 0===n?void 0:n.url)}));function S(){var e=n.useContext(h.n);return o.b.renderInPortalIfExists(n.createElement("div",{className:"partial-banner partial-loading-background ".concat(k.banner)}),null==e?void 0:e.container)}},11921:(e,t,a)=>{a.d(t,{F:()=>i});var n=a(32735),r=a(35223),o=a(83914);var l=function(e){switch(e){case"up":return"JAT0R";case"down":return"ld41u";case"right":return"HHkPe";case"left":return"jZTRR"}};function i(e){return n.createElement(o.x,{svgName:r.vn.Caret,className:"".concat(l(e.direction)," svg-container d-inline-block ").concat(e.className)})}i.defaultProps={direction:"right"}},88711:(e,t,a)=>{a.d(t,{j:()=>o});var n=a(32735),r=a(20455);function o(e){var t,a,o=(0,r.O1)(Object.assign(Object.assign({},e.draggable),{disabled:!e.draggable,attributes:{role:"drag",tabIndex:-1}})),l=o.active,i=o.isDragging,c=o.attributes,s=o.listeners,d=o.setNodeRef,m=(0,r.Zj)(Object.assign(Object.assign({},e.droppable),{disabled:!e.droppable})),u=m.isOver,g=m.over,p=m.active,v=m.setNodeRef;return n.useEffect((function(){var t,a,n,r=null===(t=e.draggable)||void 0===t?void 0:t.data;Array.isArray(r)&&(null==r?void 0:r.includes(null==l?void 0:l.id.toString()))?null===(a=e.setIsDragging)||void 0===a||a.call(e,i):null===(n=e.setIsDragging)||void 0===n||n.call(e,!1)}),[i]),n.createElement("div",Object.assign({ref:d},s,c,{className:"".concat(e.draggable?"cursor-grab":"cursor-default"," ").concat(i&&l||e.isDragging&&(a=null===(t=e.draggable)||void 0===t?void 0:t.data,Array.isArray(a)&&a.includes(e.draggable.id.toString()))?e.dragStyle:null)}),n.createElement("div",{ref:v,className:p&&u&&(null==l?void 0:l.id)!==(null==g?void 0:g.id)?e.dropStye:null},e.children))}},83834:(e,t,a)=>{a.d(t,{$:()=>N});var n=a(32735),r=a(57900),o=a(11921),l=a(11607),i=a(97395),c=a(83657),s=a(36848),d=a(88711),m=a(75163),u=a(5465),g=a(54610);const p={actions:"cN3nB",actionsContainer:"xM37V",dropStyle:"kvCLS",dragStyle:"md9Na"};function v(e){var t,a=e.folder.thumbnail?i._.urlBuilder(e.folder.thumbnail.url,{size:g.h2.Small}):null,r=null===(t=e.getFolderActions)||void 0===t?void 0:t.call(e,e.folder);return n.createElement(d.j,{draggable:e.drag&&{id:e.folder.id,data:e.folder},droppable:e.drop&&{id:e.folder.id,data:e.folder},dropStye:p.dropStyle,dragStyle:p.dragStyle},n.createElement("div",{className:"position-relative"},n.createElement(s.F,{className:"rounded-3 d-block text-decoration-none",appLink:e.getAppLink(e.folder),title:e.folder.name},n.createElement(m.Z,{data:a,imageType:g.__.Thumbnails,imageClassName:"rounded-top-lg"},n.createElement(u.oy,{name:e.folder.name,type:u.mS.Folder,extraClasses:"rounded-top-lg"})),n.createElement("h3",{className:"bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2"},n.createElement("span",{className:"text-truncate d-block"},e.folder.name))),(null==r?void 0:r.length)&&n.createElement(c.e,{actions:r,className:p.actionsContainer,actionsDropdownClassName:p.actions,dropdownToggleSvgSize:null})))}var f=a(83345),b=a(79967);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var y="libraries.folderList",E="has:expanded:library:folders";function N(e){var t,a,i,c=(a=n.useState(r.SG.get(E)||!1),i=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,o,l,i=[],c=!0,s=!1;try{if(o=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=o.call(a)).done)&&(i.push(n.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw r}}return i}}(a,i)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?h(e,t):void 0}}(a,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],d=c[1],m=e.expandFolders||s,u=(t=(0,b.k)()).xxl||t.xl||t.lg?6:t.md?4:3;function g(){d(!m),r.SG.set(E,!m)}var p=m?e.folders:e.folders.slice(0,u),N=e.folders.length>u&&!e.expandFolders;return n.createElement(n.Fragment,null,n.createElement("div",{className:"d-flex justify-content-between align-items-center"},e.showHeading&&n.createElement(l.L,{className:"d-inline-flex align-items-center mb-2 px-2 ".concat(N?"":"cursor-default"),onClick:g},N&&n.createElement(o.F,{direction:m?"down":"right"}),n.createElement("h2",{className:"h4 mb-0"},n.createElement(f.x,{namespace:y,phrase:"folders",options:{count:e.folders.length}}))),!(m||!N)&&n.createElement("div",{className:"d-flex justify-content-end justify-self-end px-2"},n.createElement(l.L,{onClick:g,className:"text-dark hover-text-underline d-inline-block"},n.createElement(f.x,{namespace:y,phrase:"seeAll",options:{count:e.folders.length}}))),!(!m||!N)&&n.createElement("div",{className:"d-flex justify-content-end justify-self-end px-2"},n.createElement(l.L,{onClick:g,className:"text-dark hover-text-underline d-inline-block"},n.createElement(f.x,{namespace:y,phrase:"seeLess"}))),e.extraButtons?e.extraButtons:n.createElement(n.Fragment,null)),n.createElement("div",{className:"row mx-1"},p.map((function(t){return n.createElement("div",{key:t.id,className:"col-4 col-md-3 col-lg-2 px-1 pb-3"},n.createElement(v,{folder:t,getAppLink:e.getAppLink,getFolderActions:e.getFolderActions,drag:e.drag,drop:e.drop}))}))))}N.defaultProps={showHeading:!0}},65403:(e,t,a)=>{a.d(t,{i:()=>l});var n=a(32735);const r={partialFolderHeading:"dhbsL",partialFolderThumbnail:"CI9vk",partialFolderName:"l0Nll"};var o=function(){return n.createElement("div",{className:"col-4 col-md-3 col-lg-2 px-1 pb-3"},n.createElement("div",{className:"".concat(r.partialFolderThumbnail," partial-loading-background rounded-top-lg")}),n.createElement("div",{className:"".concat(r.partialFolderName," partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2")}," "))};function l(e){var t=e.count,a=void 0===t?3:t;return n.createElement(n.Fragment,null,n.createElement("div",{className:"".concat(r.partialFolderHeading," h4 mb-2 partial-loading-background")}," "),n.createElement("div",{className:"row mx-n1"},Array(a).fill(null).map((function(e,t){return n.createElement(o,{key:t})}))))}},94644:(e,t,a)=>{a.d(t,{r:()=>d});var n=a(50242),r=a(81886),o=a(67058),l=a(14553),i=a(49267),c=a(49075),s={notFound:o.d,forbidden:{rating:l.q,yearLevel:l.q,region:i.a,privacy:l.q},badRequest:c._};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var l=Object.assign(Object.assign({},s),t);o&&r.Q.Ry.isStatusCodeError(o)&&(o!==n.o.NotFound?o!==n.o.Forbidden?a.badRequest||r.Q.Ry.throw(new l.badRequest):a.forbidden||r.Q.Ry.throw(new l.forbidden.privacy):a.notFound||r.Q.Ry.throw(new l.notFound))}}},91286:(e,t,a)=>{a.d(t,{v:()=>l});var n=a(32735),r=a(94644);function o(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,t,a){var l=Array.isArray(e)?e:[e];(0,n.useEffect)((function(){l.forEach((function(e){(0,r.r)(e.statusCode,t,a)}))}),[o(l),t,a])}},17087:(e,t,a)=>{a.d(t,{T:()=>i});var n=a(20354),r=a(98064);function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function i(e){var t,a,l=e.folderId,i=e.firstItem,c=e.lastItem,s=e.getAppLink,d=n.a.useBasicFetch(r.D.folderParentTree(l));if(!(null===(a=null===(t=d.data)||void 0===t?void 0:t.children)||void 0===a?void 0:a.length))return[];for(var m=d.data.children.map((function(e){return{node:e,path:[e]}})),u=[],g=function(){var e=m.pop(),t=e.node,a=e.path;t.data.id.toString()===l.toString()&&(u=a.map((function(e){return{name:e.data.name,appLink:s(e)}}))),t.children&&m.push.apply(m,o(t.children.map((function(e){return{node:e,path:[].concat(o(a),[e])}}))))};m.length;)g();return i&&u.unshift(i),c&&u.push(c),u[u.length-1].active=!0,u}},98860:(e,t,a)=>{a.d(t,{P:()=>i});var n=a(20354),r=a(98064),o=a(3010),l=a(45719);function i(e){var t=n.a.useGetFetch();function a(t){return r.D.childFolders(e,t)}return(0,o.i)(!!e&&a,!!e&&function(e){t(a(e))}),(0,l.P)(!!e&&function(e){return a(e).key})}},21325:(e,t,a)=>{a.d(t,{o:()=>i});var n=a(32735),r=a(81886),o=a(96560),l=a(67058);function i(e){n.useEffect((function(){e.hasCompleted&&!e.hasError&&e.data.type!==o.r.CustomLibrary&&r.Q.Ry.throw(new l.d)}),[e.hasCompleted])}},8406:(e,t,a)=>{a.d(t,{Bf:()=>d,WO:()=>s,a5:()=>c});var n=a(28400),r=a(7733),o=a(17087),l=a(14070),i=a(97291);function c(e,t,a){return e&&t?{application:i.O.LIBRARIES,action:l.e.Libraries.FOLDER,args:[e,t.id,n.m.slugify(t.name)],params:{sort:a}}:null}function s(e){for(var t,a,n=0,o=0;null!==(a=o<(null===(t=e.name)||void 0===t?void 0:t.length))&&void 0!==a&&a;o++)n+=e.name.charCodeAt(o);return r.o[n%r.o.length]}function d(e,t,a){return(0,o.T)({folderId:t&&e,getAppLink:function(e){return c(t.id,e.data,a)},firstItem:{name:null==t?void 0:t.name,appLink:{application:i.O.LIBRARIES,action:l.e.Libraries.LIBRARY,args:[null==t?void 0:t.id,n.m.slugify(null==t?void 0:t.name)]}}})}},55595:(e,t,a)=>{a.r(t),a.d(t,{LibraryView:()=>x});var n=a(32735),r=a(20354),o=a(65858),l=a(43500),i=a(44522),c=a(83834),s=a(65403),d=a(10874),m=a(4201),u=a(83345),g=a(98064),p=a(31949),v=a(91286),f=a(79612),b=a(35223),h=a(68140),y=a(14070),E=a(97291),N=a(98860),k=a(21325),w=a(8406),C="libraries.library";function x(e){var t,a,x,S,L=(0,m.of)().focusSearchBar,D=r.a.useBasicFetch(g.D.domainLibraries(["customLibrary","sharedLibrary"])),T=r.a.useBasicFetch(g.D.library(e.id)),F=(0,N.P)(null===(a=null===(t=T.data)||void 0===t?void 0:t.categoryTree)||void 0===a?void 0:a.id),O=r.a.useBasicFetch(p.N.currentUser()),A=!!O.data&&h.d.getOrSetSortType(O.data.id,e.sort);return(0,f.M)({title:null===(x=T.data)||void 0===x?void 0:x.name}),(0,v.v)(T),(0,k.o)(T),n.createElement(n.Fragment,null,T.data?n.createElement(i.p,{heading:T.data.name,blockColourClass:(0,w.WO)(T.data),logo:null===(S=T.data.owner)||void 0===S?void 0:S.logo}):n.createElement(i.v,null),function(){var t,a;return(null==F?void 0:F.items)?F.items.length?n.createElement("div",{className:"mt-3 px-2"},n.createElement(c.$,{folders:F.items,getAppLink:function(t){return(0,w.a5)(e.id,t,A)},expandFolders:!0,extraButtons:n.createElement(d.h,{svgName:b.vn.Search,appLink:{application:E.O.SEARCH,action:y.e.Search.HOME,params:{source:l.fi.School}},className:"btn btn-outline-dark mb-3 me-2 d-none d-sm-inline-block",onClick:L,analyticsData:{},analyticsOptions:{entity:o.py.SearchResults,location:o.LZ.Libraries,actionType:o.Vw.Click,descriptor:o.Bk.School}},n.createElement(u.x,{namespace:C,phrase:"searchLibrary",options:{smartCount:null!==(a=null===(t=D.data)||void 0===t?void 0:t.length)&&void 0!==a?a:1}}))})):n.createElement(n.Fragment,null):n.createElement("div",{className:"mt-3 px-3"},n.createElement(s.i,{count:10}))}())}}}]);
|
|
2
|
-
//# sourceMappingURL=5595-8f3931b8c2-lite.chunk.js.map
|