@ytsaurus/ui 1.14.2 → 1.15.0
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/build/cjs/@types/core.d.ts +3 -2
- package/build/cjs/server/configs/local.js +1 -0
- package/build/cjs/server/configs/local.js.map +1 -1
- package/build/cjs/shared/constants/yt-api-id.d.ts +139 -0
- package/build/cjs/shared/constants/yt-api-id.js +148 -0
- package/build/cjs/shared/constants/yt-api-id.js.map +1 -0
- package/build/cjs/shared/ui-settings.d.ts +1 -0
- package/build/cjs/shared/ui-settings.js.map +1 -1
- package/build/cjs/shared/utils/check-permission.d.ts +1 -14
- package/build/cjs/shared/utils/check-permission.js +6 -10
- package/build/cjs/shared/utils/check-permission.js.map +1 -1
- package/build/cjs/ui/UIFactory.d.ts +4 -1
- package/build/cjs/ui/UIFactory.js +9 -2
- package/build/cjs/ui/UIFactory.js.map +1 -1
- package/build/cjs/ui/components/Support/Support.js +6 -4
- package/build/cjs/ui/components/Support/Support.js.map +1 -1
- package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
- package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
- package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -1
- package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
- package/build/cjs/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
- package/build/cjs/ui/containers/SupportComponent/SupportComponent.js +24 -0
- package/build/cjs/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
- package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
- package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
- package/build/cjs/ui/rum/rum-wrap-api.d.ts +3 -141
- package/build/cjs/ui/rum/rum-wrap-api.js +12 -145
- package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
- package/build/cjs/ui/store/actions/cluster-params.js +22 -15
- package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/cjs/ui/store/actions/system/masters.js +7 -3
- package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
- package/build/cjs/ui/store/selectors/global/index.d.ts +1 -1
- package/build/cjs/ui/store/selectors/global/index.js +4 -4
- package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
- package/build/cjs/ui/utils/scheduling/pool-child.js +1 -1
- package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
- package/build/esm/@types/core.d.ts +3 -2
- package/build/esm/server/configs/local.js +2 -1
- package/build/esm/server/configs/local.js.map +1 -1
- package/build/esm/shared/constants/yt-api-id.d.ts +139 -0
- package/build/esm/shared/constants/yt-api-id.js +141 -0
- package/build/esm/shared/constants/yt-api-id.js.map +1 -0
- package/build/esm/shared/ui-settings.d.ts +1 -0
- package/build/esm/shared/ui-settings.js.map +1 -1
- package/build/esm/shared/utils/check-permission.d.ts +1 -14
- package/build/esm/shared/utils/check-permission.js +8 -11
- package/build/esm/shared/utils/check-permission.js.map +1 -1
- package/build/esm/ui/UIFactory.d.ts +4 -1
- package/build/esm/ui/UIFactory.js +9 -2
- package/build/esm/ui/UIFactory.js.map +1 -1
- package/build/esm/ui/components/Support/Support.js +6 -4
- package/build/esm/ui/components/Support/Support.js.map +1 -1
- package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
- package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
- package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -2
- package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
- package/build/esm/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
- package/build/esm/ui/containers/SupportComponent/SupportComponent.js +18 -0
- package/build/esm/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +6 -1
- package/build/esm/ui/rum/rum-wrap-api.d.ts +3 -141
- package/build/esm/ui/rum/rum-wrap-api.js +3 -141
- package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
- package/build/esm/ui/store/actions/cluster-params.js +24 -17
- package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/esm/ui/store/actions/system/masters.js +7 -3
- package/build/esm/ui/store/actions/system/masters.js.map +1 -1
- package/build/esm/ui/store/selectors/global/index.d.ts +1 -1
- package/build/esm/ui/store/selectors/global/index.js +3 -3
- package/build/esm/ui/store/selectors/global/index.js.map +1 -1
- package/build/esm/ui/utils/scheduling/pool-child.js +1 -1
- package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
- package/dist/public/build/assets-manifest.json +16 -16
- package/dist/public/build/css/{89.3546950a.chunk.css → 861.c5a67589.chunk.css} +1 -1
- package/dist/public/build/css/861.c5a67589.chunk.css.map +1 -0
- package/dist/public/build/css/{main.e919e247.css → main.675cb8c4.css} +2 -2
- package/dist/public/build/css/main.675cb8c4.css.map +1 -0
- package/dist/public/build/js/861.9703a31c.chunk.js +2 -0
- package/dist/public/build/js/861.9703a31c.chunk.js.map +1 -0
- package/dist/public/build/js/{943.f6342dd5.chunk.js → 943.40ff6440.chunk.js} +2 -2
- package/dist/public/build/js/{943.f6342dd5.chunk.js.map → 943.40ff6440.chunk.js.map} +1 -1
- package/dist/public/build/js/main.fb68ce2c.js +3 -0
- package/dist/public/build/js/{main.8e777909.js.map → main.fb68ce2c.js.map} +1 -1
- package/dist/public/build/js/runtime.ac9a4336.js +2 -0
- package/dist/public/build/js/{runtime.fd8cf219.js.map → runtime.ac9a4336.js.map} +1 -1
- package/dist/public/build/manifest.json +12 -12
- package/dist/server/configs/local.js +1 -0
- package/dist/shared/ui-settings.d.ts +1 -0
- package/package.json +4 -4
- package/dist/public/build/css/89.3546950a.chunk.css.map +0 -1
- package/dist/public/build/css/main.e919e247.css.map +0 -1
- package/dist/public/build/js/89.07445d46.chunk.js +0 -2
- package/dist/public/build/js/89.07445d46.chunk.js.map +0 -1
- package/dist/public/build/js/main.8e777909.js +0 -3
- package/dist/public/build/js/runtime.fd8cf219.js +0 -2
- /package/dist/public/build/js/{main.8e777909.js.LICENSE.txt → main.fb68ce2c.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_AppNavigationPageLayout","_externalAclApi","_YTUserSuggest","_docsUrls","_YTSubjectSuggest","_RoleActions","_OperationDetailsMonitorLinks","_acl","_uiSettings","_ytConfig","_jsxRuntime","obj","__esModule","default","experimentalPages","uiFactory","getClusterAppearance","cluster","_YT$clusters","YT","clusters","urls","isWatchMen","makeUrlForUserName","_ref","login","concat","makeUrlForTransferTask","undefined","makeUrlForNodeIO","makeUrlForTabletCellBundleDashboard","makeUrlForMonitoringDescriptor","makeUrlForUserDashboard","getExtaClusterPages","getExtraRootPages","getExtraReducersAndUrlMapping","getSchedulingExtraTabs","_uiSettings$schedulin","uiSettings","schedulingMonitoring","urlTemplate","_uiSettings$schedulin2","_uiSettings$schedulin3","title","name","getMonitoringForAccounts","_uiSettings$accountsM","accountsMonitoring","_uiSettings$accountsM2","getMonitoringForBundle","_uiSettings$bundlesMo","bundlesMonitoring","_uiSettings$bundlesMo2","getMonitoringForOperation","params","_uiSettings$operation","_params$pools","operationsMonitoring","_uiSettings$operation2","hasPoolParameter","indexOf","pools","length","component","OperationDetailMonitorLinks","getMonitorComponentForJob","getMonitoringComponentForChyt","_uiSettings$chytMonit","_ref2","chytMonitoring","getStatisticsComponentForAccount","getStatisticsComponentForBundle","renderNavigationExtraActions","renderSchedulingLastDayMaximum","renderComponentsNodeCardTop","getExtraMetaTableItemsForComponentsNode","getExtraMetaTableItemsForPool","getExtraMetaTableItemsForBundle","getComponentsNodeDashboardUrl","renderTransferQuotaNoticeForPool","renderTransferQuotaNoticeForAccount","renderTopRowExtraControlsForAccount","renderTopRowExtraControlsForPool","renderTopRowExtraControlsForBundle","renderAccountsTableItemExtraControls","renderSchedulingTableItemExtraControls","renderBundlesTableItemExtraControls","renderControlAbcService","makeSupportContent","getComponentForConsumerMetrics","getComonentForQueueMetrics","renderTableCellBundleEditorNotice","getNodeDeployUrl","getNodeNannyUrl","renderAppNavigation","props","_jsx","AppNavigationPageLayout","_objectSpread","createNotificationUrl","wrapApp","app","externalSchemaDescriptionSetup","load","_cluster","_path","Promise","resolve","getAclApi","defaultAclApi","renderAclSubjectsSuggestControl","YTSubjectSuggest","renderRolesLink","getExternalSettings","renderUserSuggest","YTUserSuggest","getExperimentalPages","getAllowedExperimentalPages","docsUrls","getComponentForAclRoleActions","RoleActions","getAclPermissionsSettings","PERMISSIONS_SETTINGS","onChytAliasSqlClick","configureUIFactoryItem","k","redefinition","configureUIFactory","overrides","_forEach","_v","key","_default","exports","Proxy","set","Error","isAbcAllowed","abc","onChange","value","id","slug","Boolean"],"sources":["UIFactory.tsx"],"sourcesContent":["import {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\nimport {MetaTableItem} from './components/MetaTable/MetaTable';\nimport _ from 'lodash';\nimport React from 'react';\nimport {Reducer} from 'redux';\nimport {PathParameters} from './store/location';\nimport {TabletBundle} from './store/reducers/tablet_cell_bundles';\nimport {PoolInfo} from './store/selectors/scheduling/scheduling-pools';\nimport {ClusterConfig, ClusterUiConfig} from '../shared/yt-types';\nimport {ClusterAppearance} from './appearance';\nimport AppNavigationPageLayout, {\n AppNavigationProps,\n} from './containers/AppNavigation/AppNavigationPageLayout';\nimport {ExternalSchemaDescription} from './pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription';\nimport {AclApi, defaultAclApi} from './utils/acl/external-acl-api';\nimport {SubjectsControlProps} from './components/ACL/SubjectsControl/SubjectsControl';\nimport {SettingsPage} from './containers/SettingsPanel/settings-description';\nimport {UserSuggestProps} from './containers/UserSuggest/UserSuggest';\nimport {YTUserSuggest} from './containers/UserSuggest/YTUserSuggest';\nimport {DocsUrls, docsUrls} from './constants/docsUrls';\nimport {YTSubjectSuggest} from './components/ACL/SubjectsControl/YTSubjectSuggest';\nimport RoleActions, {Props as RoleActionsProps} from './components/ACL/RoleActions';\nimport OperationDetailMonitorLinks from './pages/operations/OperationDetail/tabs/monitor/OperationDetailsMonitorLinks';\nimport {PERMISSIONS_SETTINGS} from './constants/acl';\nimport {uiSettings} from './config/ui-settings';\nimport YT from './config/yt-config';\n\ntype HeaderItemOrPage =\n | {\n href: string;\n\n pageId?: undefined;\n reactComponent?: undefined;\n reducers?: undefined;\n urlMapping?: undefined;\n }\n | {\n pageId?: string;\n reactComponent?: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n\n href?: undefined;\n };\n\nexport type UIFactoryRootPageInfo = HeaderItemOrPage & {\n title: string;\n getVisible?: () => Promise<boolean>;\n};\n\nexport interface UIFactoryClusterPageInfo {\n title: string;\n pageId: string; // also used as urlMatch for <Route path={`/:cluster/${pageId}`} ... />\n svgIcon?: SVGIconData;\n reducers?: Record<string, Reducer>;\n reactComponent: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n topRowComponent?: React.ComponentType<any>; // used as component for <Route ... component={topRowComponent} />\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface ExternalSchemaDescriptionResponse {\n url?: string;\n externalSchema?: Map<string, ExternalSchemaDescription>;\n}\n\nexport interface ReducersAndUrlMapping {\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface SchedulingExtraTab {\n name: string;\n title?: string;\n component?: React.ComponentType<any>;\n /**\n * Allows to redefine link of corresponding tab\n * Example: https://grafana.mydomain.com?var-pool={ytPool}&var-tree={ytPoolTree}&var-cluster={ytCluster}\n */\n urlTemplate?: string;\n}\n\nexport interface OperationMonitoringTabProps {\n cluster: string;\n operation: {\n id: string;\n startTime?: string;\n finishTime?: string;\n pools?: Array<{pool: string; tree: string; slotIndex?: number}>;\n };\n}\n\nexport interface UIFactory {\n getClusterAppearance(cluster?: string): undefined | ClusterAppearance;\n\n isWatchMen(login: string): boolean;\n\n makeUrlForUserName({cluster, login}: {cluster: string; login: string}): string | undefined;\n makeUrlForTransferTask(operation: unknown): string | undefined;\n makeUrlForNodeIO(cluster: string, host?: string): string | undefined;\n makeUrlForTabletCellBundleDashboard(cluster: string, bundle: string): string | undefined;\n makeUrlForMonitoringDescriptor(\n cluster: string,\n timeRange: {from: string; to?: string},\n monitoring_descriptor?: string,\n ): string | undefined;\n makeUrlForUserDashboard(cluster: string, user: string): string | undefined;\n\n getExtaClusterPages(): Array<UIFactoryClusterPageInfo>;\n getExtraRootPages(): Array<UIFactoryRootPageInfo>;\n\n getExtraReducersAndUrlMapping(): undefined | ReducersAndUrlMapping;\n getSchedulingExtraTabs(params: {\n cluster: string;\n pool: string;\n tree: string;\n extraOptions: {\n isRoot?: boolean;\n isEphemeral?: boolean | undefined;\n };\n }): Array<SchedulingExtraTab>;\n\n getMonitoringForAccounts():\n | undefined\n | {\n component: React.ComponentType<{cluster: string; account: string}>;\n urlTemplate?: undefined;\n title?: undefined;\n }\n | {urlTemplate: string; title?: string; component?: undefined};\n getMonitoringForBundle():\n | undefined\n | {\n component: React.ComponentType<{\n cluster: string;\n tablet_cell_bundle: string;\n bundleData: any;\n }>;\n urlTemplate?: undefined;\n title?: undefined;\n }\n | {urlTemplate: string; title?: string; component?: undefined};\n getMonitoringForOperation(params: OperationMonitoringTabProps['operation']):\n | undefined\n | {\n component: React.ComponentType<OperationMonitoringTabProps>;\n urlTemplate?: undefined;\n title?: undefined;\n }\n | {urlTemplate: string; title?: string; component?: undefined};\n getMonitorComponentForJob():\n | undefined\n | React.ComponentType<{\n cluster: string;\n job_descriptor: string;\n from?: number;\n to?: number;\n }>;\n\n getMonitoringComponentForChyt():\n | undefined\n | {\n component?: React.ComponentType<{cluster: string; alias: string}>;\n urlTemplate?: string;\n title?: string;\n };\n\n getStatisticsComponentForAccount():\n | undefined\n | React.ComponentType<{\n cluster: string;\n account: string;\n accountSubtreeAllNames: Array<string>;\n theme: string;\n }>;\n\n getStatisticsComponentForBundle():\n | undefined\n | React.ComponentType<{cluster: string; bundle: string; theme: string}>;\n\n renderNavigationExtraActions(params: {\n className?: string;\n cluster: string;\n path: string;\n type: string;\n attributes: unknown;\n }): React.ReactNode;\n\n renderSchedulingLastDayMaximum(props: {\n className?: string;\n cluster: string;\n tree: string;\n title?: string;\n sensor: 'max_operation_count' | 'max_running_operation_count';\n format?(sensorValue?: number): string;\n current?: {value: string; title: string};\n showHint?: boolean;\n showAsLink?: boolean;\n }): React.ReactNode;\n\n renderComponentsNodeCardTop(props: {\n className?: string;\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): React.ReactNode;\n\n getComponentsNodeDashboardUrl(props: {cluster: string; host: string}): {\n url?: string;\n title?: string;\n };\n\n renderTransferQuotaNoticeForPool(props: {\n className?: string;\n pool?: PoolInfo;\n parentPool?: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n isTopLevel?: boolean;\n }): React.ReactNode;\n\n renderTransferQuotaNoticeForAccount(props: {\n className?: string;\n isTopLevel?: boolean;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForAccount(props: {\n className?: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForPool(props: {\n itemClassName?: string;\n pool?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForBundle(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getExtraMetaTableItemsForComponentsNode(props: {\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForPool(props: {\n pool: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForBundle(props: {\n bundle: TabletBundle;\n clusterUiConfig: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n renderAccountsTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n account: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderSchedulingTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n pool: unknown;\n clusterUiConfig: ClusterUiConfig;\n }): React.ReactNode;\n\n renderBundlesTableItemExtraControls(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderControlAbcService<T extends {slug: string; id?: number}>(props: {\n className?: string;\n value?: T;\n onChange: (v?: T) => void;\n placeholder?: string;\n disabled?: boolean;\n }): React.ReactNode;\n\n makeSupportContent(\n params: {login: string; cluster?: string; buttonToWrap?: React.ReactNode},\n makeContent: (onSupportClick: () => void) => React.ReactNode,\n ): React.ReactNode;\n\n getComponentForConsumerMetrics():\n | undefined\n | React.ComponentType<{\n cluster: string;\n path: string;\n targetQueue?: string;\n }>;\n\n getComonentForQueueMetrics(): undefined | React.ComponentType<{cluster: string; path: string}>;\n\n renderTableCellBundleEditorNotice(props: {\n bundleData?: {$attributes: unknown};\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getNodeDeployUrl(ypCluster?: string, podId?: string): string | undefined;\n getNodeNannyUrl(params: {\n pod_id?: string;\n nanny_service?: string;\n yp_cluster?: string;\n }): string | undefined;\n\n renderAppNavigation(props: AppNavigationProps): React.ReactElement;\n\n createNotificationUrl(clusterConfig?: ClusterConfig): string | undefined;\n\n wrapApp(app: React.ReactElement): React.ReactElement;\n\n externalSchemaDescriptionSetup: {\n columns?: Record<keyof ExternalSchemaDescription['glossaryEntity'], string>;\n load(cluster: string, path: string): Promise<ExternalSchemaDescriptionResponse>;\n };\n\n getAclApi(): AclApi;\n\n renderAclSubjectsSuggestControl(props: SubjectsControlProps): React.ReactNode;\n\n renderRolesLink(params: {cluster: string; login: string; className?: string}): React.ReactNode;\n\n getExternalSettings(params: {\n cluster: string;\n login: string;\n isAdmin: boolean;\n }): Array<SettingsPage>;\n\n renderUserSuggest(props: UserSuggestProps): React.ReactNode;\n\n yqlWidgetSetup?: {\n renderButton(props: {className?: string; isSplit?: string}): React.ReactNode;\n renderWidget(props: {cluster: string; path: string; attributes: unknown}): React.ReactNode;\n renderYqlOperationLink(yqlOperationId: string): React.ReactNode;\n };\n\n getExperimentalPages(): string[];\n getAllowedExperimentalPages(login: string): Promise<Array<string>>;\n\n docsUrls: DocsUrls;\n\n getComponentForAclRoleActions(): undefined | React.ComponentType<RoleActionsProps>;\n\n getAclPermissionsSettings(): typeof PERMISSIONS_SETTINGS;\n\n onChytAliasSqlClick(params: {alias: string; cluster: string}): void;\n}\n\nconst experimentalPages: string[] = [];\n\nconst uiFactory: UIFactory = {\n getClusterAppearance(cluster) {\n return YT.clusters[cluster!]?.urls;\n },\n isWatchMen() {\n return false;\n },\n makeUrlForUserName({cluster, login}: {cluster?: string; login: string}) {\n return `/${cluster}/users?filter=${login}`;\n },\n makeUrlForTransferTask() {\n return undefined;\n },\n makeUrlForNodeIO() {\n return undefined;\n },\n makeUrlForTabletCellBundleDashboard() {\n return undefined;\n },\n makeUrlForMonitoringDescriptor() {\n return undefined;\n },\n makeUrlForUserDashboard() {\n return undefined;\n },\n\n getExtaClusterPages() {\n return [];\n },\n getExtraRootPages() {\n return [];\n },\n\n getExtraReducersAndUrlMapping() {\n return undefined;\n },\n\n getSchedulingExtraTabs() {\n if (!uiSettings.schedulingMonitoring?.urlTemplate) {\n return [];\n }\n\n const {urlTemplate, title = 'Monitoring'} = uiSettings.schedulingMonitoring;\n\n return [\n {\n name: 'monitoring',\n title,\n urlTemplate,\n },\n ];\n },\n getMonitoringForAccounts() {\n if (!uiSettings?.accountsMonitoring?.urlTemplate) {\n return undefined;\n }\n\n const {urlTemplate, title} = uiSettings.accountsMonitoring;\n return {urlTemplate, title};\n },\n getMonitoringForBundle() {\n if (!uiSettings.bundlesMonitoring?.urlTemplate) {\n return undefined;\n }\n\n const {urlTemplate, title} = uiSettings.bundlesMonitoring;\n return {urlTemplate, title};\n },\n getMonitoringForOperation(params) {\n if (!uiSettings.operationsMonitoring?.urlTemplate) {\n return undefined;\n }\n\n const {urlTemplate, title} = uiSettings.operationsMonitoring;\n\n const hasPoolParameter =\n urlTemplate.indexOf('{ytPool}') !== -1 || urlTemplate.indexOf('{ytPoolTree}') !== -1;\n\n if (hasPoolParameter && params.pools?.length! > 1) {\n return {component: OperationDetailMonitorLinks};\n }\n\n return {urlTemplate, title};\n },\n getMonitorComponentForJob() {\n return undefined;\n },\n getMonitoringComponentForChyt() {\n const {urlTemplate, title} = uiSettings.chytMonitoring ?? {};\n if (!urlTemplate) {\n return undefined;\n }\n\n return {urlTemplate, title};\n },\n getStatisticsComponentForAccount() {\n return undefined;\n },\n getStatisticsComponentForBundle() {\n return undefined;\n },\n\n renderNavigationExtraActions() {\n return null;\n },\n\n renderSchedulingLastDayMaximum() {\n return undefined;\n },\n\n renderComponentsNodeCardTop() {\n return undefined;\n },\n\n getExtraMetaTableItemsForComponentsNode() {\n return undefined;\n },\n\n getExtraMetaTableItemsForPool() {\n return undefined;\n },\n\n getExtraMetaTableItemsForBundle() {\n return undefined;\n },\n\n getComponentsNodeDashboardUrl() {\n return {};\n },\n\n renderTransferQuotaNoticeForPool() {\n return undefined;\n },\n\n renderTransferQuotaNoticeForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForPool() {\n return undefined;\n },\n\n renderTopRowExtraControlsForBundle() {\n return undefined;\n },\n\n renderAccountsTableItemExtraControls() {\n return undefined;\n },\n\n renderSchedulingTableItemExtraControls() {\n return undefined;\n },\n\n renderBundlesTableItemExtraControls() {\n return undefined;\n },\n\n renderControlAbcService() {\n return undefined;\n },\n\n makeSupportContent() {\n return undefined;\n },\n\n getComponentForConsumerMetrics() {\n return undefined;\n },\n\n getComonentForQueueMetrics() {\n return undefined;\n },\n\n renderTableCellBundleEditorNotice() {\n return undefined;\n },\n\n getNodeDeployUrl() {\n return undefined;\n },\n\n getNodeNannyUrl() {\n return undefined;\n },\n\n renderAppNavigation(props) {\n return <AppNavigationPageLayout {...props} />;\n },\n\n createNotificationUrl() {\n return undefined;\n },\n\n wrapApp(app) {\n return app;\n },\n\n externalSchemaDescriptionSetup: {\n load(_cluster: string, _path: string) {\n return Promise.resolve({});\n },\n },\n\n getAclApi() {\n return defaultAclApi;\n },\n\n renderAclSubjectsSuggestControl(props) {\n return <YTSubjectSuggest {...props} />;\n },\n\n renderRolesLink() {\n return undefined;\n },\n\n getExternalSettings() {\n return [];\n },\n\n renderUserSuggest(props) {\n return <YTUserSuggest {...props} />;\n },\n\n getExperimentalPages() {\n return experimentalPages;\n },\n\n getAllowedExperimentalPages() {\n return Promise.resolve([]);\n },\n\n docsUrls: docsUrls,\n\n getComponentForAclRoleActions() {\n return RoleActions;\n },\n\n getAclPermissionsSettings() {\n return PERMISSIONS_SETTINGS;\n },\n\n onChytAliasSqlClick() {},\n};\n\nfunction configureUIFactoryItem<K extends keyof UIFactory>(k: K, redefinition: UIFactory[K]) {\n uiFactory[k] = redefinition;\n}\n\nexport function configureUIFactory(overrides: Partial<UIFactory>) {\n _.forEach(overrides, (_v, k) => {\n const key = k as keyof UIFactory;\n configureUIFactoryItem(key, overrides[key]!);\n });\n}\n\nexport default new Proxy(uiFactory, {\n set: () => {\n throw new Error('Use configureUIFactory(...) method instead of direct modifications');\n },\n});\n\nexport function isAbcAllowed() {\n const abc = uiFactory.renderControlAbcService({\n onChange: () => {},\n value: {id: 123, slug: '123'},\n });\n return Boolean(abc);\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAOA,IAAAC,wBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAIA,IAAAE,eAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,6BAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,IAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAX,sBAAA,CAAAC,OAAA;AAAoC,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAD,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA8UpC,IAAMG,iBAA2B,GAAG,EAAE;AAEtC,IAAMC,SAAoB,GAAG;EACzBC,oBAAoB,WAAAA,qBAACC,OAAO,EAAE;IAAA,IAAAC,YAAA;IAC1B,QAAAA,YAAA,GAAOC,iBAAE,CAACC,QAAQ,CAACH,OAAO,CAAE,cAAAC,YAAA,uBAArBA,YAAA,CAAuBG,IAAI;EACtC,CAAC;EACDC,UAAU,WAAAA,WAAA,EAAG;IACT,OAAO,KAAK;EAChB,CAAC;EACDC,kBAAkB,WAAAA,mBAAAC,IAAA,EAAsD;IAAA,IAApDP,OAAO,GAAAO,IAAA,CAAPP,OAAO;MAAEQ,KAAK,GAAAD,IAAA,CAALC,KAAK;IAC9B,WAAAC,MAAA,CAAWT,OAAO,oBAAAS,MAAA,CAAiBD,KAAK;EAC5C,CAAC;EACDE,sBAAsB,WAAAA,uBAAA,EAAG;IACrB,OAAOC,SAAS;EACpB,CAAC;EACDC,gBAAgB,WAAAA,iBAAA,EAAG;IACf,OAAOD,SAAS;EACpB,CAAC;EACDE,mCAAmC,WAAAA,oCAAA,EAAG;IAClC,OAAOF,SAAS;EACpB,CAAC;EACDG,8BAA8B,WAAAA,+BAAA,EAAG;IAC7B,OAAOH,SAAS;EACpB,CAAC;EACDI,uBAAuB,WAAAA,wBAAA,EAAG;IACtB,OAAOJ,SAAS;EACpB,CAAC;EAEDK,mBAAmB,WAAAA,oBAAA,EAAG;IAClB,OAAO,EAAE;EACb,CAAC;EACDC,iBAAiB,WAAAA,kBAAA,EAAG;IAChB,OAAO,EAAE;EACb,CAAC;EAEDC,6BAA6B,WAAAA,8BAAA,EAAG;IAC5B,OAAOP,SAAS;EACpB,CAAC;EAEDQ,sBAAsB,WAAAA,uBAAA,EAAG;IAAA,IAAAC,qBAAA;IACrB,IAAI,GAAAA,qBAAA,GAACC,sBAAU,CAACC,oBAAoB,cAAAF,qBAAA,eAA/BA,qBAAA,CAAiCG,WAAW,GAAE;MAC/C,OAAO,EAAE;IACb;IAEA,IAAAC,sBAAA,GAA4CH,sBAAU,CAACC,oBAAoB;MAApEC,WAAW,GAAAC,sBAAA,CAAXD,WAAW;MAAAE,sBAAA,GAAAD,sBAAA,CAAEE,KAAK;MAALA,KAAK,GAAAD,sBAAA,cAAG,YAAY,GAAAA,sBAAA;IAExC,OAAO,CACH;MACIE,IAAI,EAAE,YAAY;MAClBD,KAAK,EAALA,KAAK;MACLH,WAAW,EAAXA;IACJ,CAAC,CACJ;EACL,CAAC;EACDK,wBAAwB,WAAAA,yBAAA,EAAG;IAAA,IAAAC,qBAAA;IACvB,IAAI,EAACR,sBAAU,aAAVA,sBAAU,gBAAAQ,qBAAA,GAAVR,sBAAU,CAAES,kBAAkB,cAAAD,qBAAA,eAA9BA,qBAAA,CAAgCN,WAAW,GAAE;MAC9C,OAAOZ,SAAS;IACpB;IAEA,IAAAoB,sBAAA,GAA6BV,sBAAU,CAACS,kBAAkB;MAAnDP,WAAW,GAAAQ,sBAAA,CAAXR,WAAW;MAAEG,KAAK,GAAAK,sBAAA,CAALL,KAAK;IACzB,OAAO;MAACH,WAAW,EAAXA,WAAW;MAAEG,KAAK,EAALA;IAAK,CAAC;EAC/B,CAAC;EACDM,sBAAsB,WAAAA,uBAAA,EAAG;IAAA,IAAAC,qBAAA;IACrB,IAAI,GAAAA,qBAAA,GAACZ,sBAAU,CAACa,iBAAiB,cAAAD,qBAAA,eAA5BA,qBAAA,CAA8BV,WAAW,GAAE;MAC5C,OAAOZ,SAAS;IACpB;IAEA,IAAAwB,sBAAA,GAA6Bd,sBAAU,CAACa,iBAAiB;MAAlDX,WAAW,GAAAY,sBAAA,CAAXZ,WAAW;MAAEG,KAAK,GAAAS,sBAAA,CAALT,KAAK;IACzB,OAAO;MAACH,WAAW,EAAXA,WAAW;MAAEG,KAAK,EAALA;IAAK,CAAC;EAC/B,CAAC;EACDU,yBAAyB,WAAAA,0BAACC,MAAM,EAAE;IAAA,IAAAC,qBAAA,EAAAC,aAAA;IAC9B,IAAI,GAAAD,qBAAA,GAACjB,sBAAU,CAACmB,oBAAoB,cAAAF,qBAAA,eAA/BA,qBAAA,CAAiCf,WAAW,GAAE;MAC/C,OAAOZ,SAAS;IACpB;IAEA,IAAA8B,sBAAA,GAA6BpB,sBAAU,CAACmB,oBAAoB;MAArDjB,WAAW,GAAAkB,sBAAA,CAAXlB,WAAW;MAAEG,KAAK,GAAAe,sBAAA,CAALf,KAAK;IAEzB,IAAMgB,gBAAgB,GAClBnB,WAAW,CAACoB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAIpB,WAAW,CAACoB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAExF,IAAID,gBAAgB,IAAI,EAAAH,aAAA,GAAAF,MAAM,CAACO,KAAK,cAAAL,aAAA,uBAAZA,aAAA,CAAcM,MAAM,IAAI,CAAC,EAAE;MAC/C,OAAO;QAACC,SAAS,EAAEC;MAA2B,CAAC;IACnD;IAEA,OAAO;MAACxB,WAAW,EAAXA,WAAW;MAAEG,KAAK,EAALA;IAAK,CAAC;EAC/B,CAAC;EACDsB,yBAAyB,WAAAA,0BAAA,EAAG;IACxB,OAAOrC,SAAS;EACpB,CAAC;EACDsC,6BAA6B,WAAAA,8BAAA,EAAG;IAAA,IAAAC,qBAAA;IAC5B,IAAAC,KAAA,IAAAD,qBAAA,GAA6B7B,sBAAU,CAAC+B,cAAc,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;MAArD3B,WAAW,GAAA4B,KAAA,CAAX5B,WAAW;MAAEG,KAAK,GAAAyB,KAAA,CAALzB,KAAK;IACzB,IAAI,CAACH,WAAW,EAAE;MACd,OAAOZ,SAAS;IACpB;IAEA,OAAO;MAACY,WAAW,EAAXA,WAAW;MAAEG,KAAK,EAALA;IAAK,CAAC;EAC/B,CAAC;EACD2B,gCAAgC,WAAAA,iCAAA,EAAG;IAC/B,OAAO1C,SAAS;EACpB,CAAC;EACD2C,+BAA+B,WAAAA,gCAAA,EAAG;IAC9B,OAAO3C,SAAS;EACpB,CAAC;EAED4C,4BAA4B,WAAAA,6BAAA,EAAG;IAC3B,OAAO,IAAI;EACf,CAAC;EAEDC,8BAA8B,WAAAA,+BAAA,EAAG;IAC7B,OAAO7C,SAAS;EACpB,CAAC;EAED8C,2BAA2B,WAAAA,4BAAA,EAAG;IAC1B,OAAO9C,SAAS;EACpB,CAAC;EAED+C,uCAAuC,WAAAA,wCAAA,EAAG;IACtC,OAAO/C,SAAS;EACpB,CAAC;EAEDgD,6BAA6B,WAAAA,8BAAA,EAAG;IAC5B,OAAOhD,SAAS;EACpB,CAAC;EAEDiD,+BAA+B,WAAAA,gCAAA,EAAG;IAC9B,OAAOjD,SAAS;EACpB,CAAC;EAEDkD,6BAA6B,WAAAA,8BAAA,EAAG;IAC5B,OAAO,CAAC,CAAC;EACb,CAAC;EAEDC,gCAAgC,WAAAA,iCAAA,EAAG;IAC/B,OAAOnD,SAAS;EACpB,CAAC;EAEDoD,mCAAmC,WAAAA,oCAAA,EAAG;IAClC,OAAOpD,SAAS;EACpB,CAAC;EAEDqD,mCAAmC,WAAAA,oCAAA,EAAG;IAClC,OAAOrD,SAAS;EACpB,CAAC;EAEDsD,gCAAgC,WAAAA,iCAAA,EAAG;IAC/B,OAAOtD,SAAS;EACpB,CAAC;EAEDuD,kCAAkC,WAAAA,mCAAA,EAAG;IACjC,OAAOvD,SAAS;EACpB,CAAC;EAEDwD,oCAAoC,WAAAA,qCAAA,EAAG;IACnC,OAAOxD,SAAS;EACpB,CAAC;EAEDyD,sCAAsC,WAAAA,uCAAA,EAAG;IACrC,OAAOzD,SAAS;EACpB,CAAC;EAED0D,mCAAmC,WAAAA,oCAAA,EAAG;IAClC,OAAO1D,SAAS;EACpB,CAAC;EAED2D,uBAAuB,WAAAA,wBAAA,EAAG;IACtB,OAAO3D,SAAS;EACpB,CAAC;EAED4D,kBAAkB,WAAAA,mBAAA,EAAG;IACjB,OAAO5D,SAAS;EACpB,CAAC;EAED6D,8BAA8B,WAAAA,+BAAA,EAAG;IAC7B,OAAO7D,SAAS;EACpB,CAAC;EAED8D,0BAA0B,WAAAA,2BAAA,EAAG;IACzB,OAAO9D,SAAS;EACpB,CAAC;EAED+D,iCAAiC,WAAAA,kCAAA,EAAG;IAChC,OAAO/D,SAAS;EACpB,CAAC;EAEDgE,gBAAgB,WAAAA,iBAAA,EAAG;IACf,OAAOhE,SAAS;EACpB,CAAC;EAEDiE,eAAe,WAAAA,gBAAA,EAAG;IACd,OAAOjE,SAAS;EACpB,CAAC;EAEDkE,mBAAmB,WAAAA,oBAACC,KAAK,EAAE;IACvB,oBAAO,IAAAC,eAAA,EAACC,gCAAuB,MAAAC,sBAAA,MAAKH,KAAK,CAAG,CAAC;EACjD,CAAC;EAEDI,qBAAqB,WAAAA,sBAAA,EAAG;IACpB,OAAOvE,SAAS;EACpB,CAAC;EAEDwE,OAAO,WAAAA,QAACC,GAAG,EAAE;IACT,OAAOA,GAAG;EACd,CAAC;EAEDC,8BAA8B,EAAE;IAC5BC,IAAI,WAAAA,KAACC,QAAgB,EAAEC,KAAa,EAAE;MAClC,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B;EACJ,CAAC;EAEDC,SAAS,WAAAA,UAAA,EAAG;IACR,OAAOC,6BAAa;EACxB,CAAC;EAEDC,+BAA+B,WAAAA,gCAACf,KAAK,EAAE;IACnC,oBAAO,IAAAC,eAAA,EAACe,kCAAgB,MAAAb,sBAAA,MAAKH,KAAK,CAAG,CAAC;EAC1C,CAAC;EAEDiB,eAAe,WAAAA,gBAAA,EAAG;IACd,OAAOpF,SAAS;EACpB,CAAC;EAEDqF,mBAAmB,WAAAA,oBAAA,EAAG;IAClB,OAAO,EAAE;EACb,CAAC;EAEDC,iBAAiB,WAAAA,kBAACnB,KAAK,EAAE;IACrB,oBAAO,IAAAC,eAAA,EAACmB,4BAAa,MAAAjB,sBAAA,MAAKH,KAAK,CAAG,CAAC;EACvC,CAAC;EAEDqB,oBAAoB,WAAAA,qBAAA,EAAG;IACnB,OAAOtG,iBAAiB;EAC5B,CAAC;EAEDuG,2BAA2B,WAAAA,4BAAA,EAAG;IAC1B,OAAOX,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;EAC9B,CAAC;EAEDW,QAAQ,EAAEA,kBAAQ;EAElBC,6BAA6B,WAAAA,8BAAA,EAAG;IAC5B,OAAOC,oBAAW;EACtB,CAAC;EAEDC,yBAAyB,WAAAA,0BAAA,EAAG;IACxB,OAAOC,yBAAoB;EAC/B,CAAC;EAEDC,mBAAmB,WAAAA,oBAAA,EAAG,CAAC;AAC3B,CAAC;AAED,SAASC,sBAAsBA,CAA4BC,CAAI,EAAEC,YAA0B,EAAE;EACzF/G,SAAS,CAAC8G,CAAC,CAAC,GAAGC,YAAY;AAC/B;AAEO,SAASC,kBAAkBA,CAACC,SAA6B,EAAE;EAC9D,IAAAC,iBAAA,EAAUD,SAAS,EAAE,UAACE,EAAE,EAAEL,CAAC,EAAK;IAC5B,IAAMM,GAAG,GAAGN,CAAoB;IAChCD,sBAAsB,CAACO,GAAG,EAAEH,SAAS,CAACG,GAAG,CAAE,CAAC;EAChD,CAAC,CAAC;AACN;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAxH,OAAA,GAEe,IAAIyH,KAAK,CAACvH,SAAS,EAAE;EAChCwH,GAAG,EAAE,SAAAA,IAAA,EAAM;IACP,MAAM,IAAIC,KAAK,CAAC,oEAAoE,CAAC;EACzF;AACJ,CAAC,CAAC;AAEK,SAASC,YAAYA,CAAA,EAAG;EAC3B,IAAMC,GAAG,GAAG3H,SAAS,CAACwE,uBAAuB,CAAC;IAC1CoD,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC,CAAC;IAClBC,KAAK,EAAE;MAACC,EAAE,EAAE,GAAG;MAAEC,IAAI,EAAE;IAAK;EAChC,CAAC,CAAC;EACF,OAAOC,OAAO,CAACL,GAAG,CAAC;AACvB"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_AppNavigationPageLayout","_externalAclApi","_SupportComponent","_YTUserSuggest","_docsUrls","_YTSubjectSuggest","_RoleActions","_OperationDetailsMonitorLinks","_acl","_uiSettings","_ytConfig","_jsxRuntime","obj","__esModule","default","experimentalPages","uiFactory","getClusterAppearance","cluster","_YT$clusters","YT","clusters","urls","isWatchMen","makeUrlForUserName","_ref","login","concat","makeUrlForTransferTask","undefined","makeUrlForNodeIO","makeUrlForTabletCellBundleDashboard","makeUrlForMonitoringDescriptor","makeUrlForUserDashboard","getExtaClusterPages","getExtraRootPages","getExtraReducersAndUrlMapping","getSchedulingExtraTabs","_uiSettings$schedulin","uiSettings","schedulingMonitoring","urlTemplate","_uiSettings$schedulin2","_uiSettings$schedulin3","title","name","getMonitoringForAccounts","_uiSettings$accountsM","accountsMonitoring","_uiSettings$accountsM2","getMonitoringForBundle","_uiSettings$bundlesMo","bundlesMonitoring","_uiSettings$bundlesMo2","getMonitoringForOperation","params","_uiSettings$operation","_params$pools","operationsMonitoring","_uiSettings$operation2","hasPoolParameter","indexOf","pools","length","component","OperationDetailMonitorLinks","getMonitorComponentForJob","getMonitoringComponentForChyt","_uiSettings$chytMonit","_ref2","chytMonitoring","getStatisticsComponentForAccount","getStatisticsComponentForBundle","renderNavigationExtraActions","renderSchedulingLastDayMaximum","renderComponentsNodeCardTop","getExtraMetaTableItemsForComponentsNode","getExtraMetaTableItemsForPool","getExtraMetaTableItemsForBundle","getComponentsNodeDashboardUrl","renderTransferQuotaNoticeForPool","renderTransferQuotaNoticeForAccount","renderTopRowExtraControlsForAccount","renderTopRowExtraControlsForPool","renderTopRowExtraControlsForBundle","renderAccountsTableItemExtraControls","renderSchedulingTableItemExtraControls","renderBundlesTableItemExtraControls","renderControlAbcService","makeSupportContent","_x","makeContent","reportBugUrl","_jsx","SupportComponent","getComponentForConsumerMetrics","getComonentForQueueMetrics","renderTableCellBundleEditorNotice","getNodeDeployUrl","getNodeNannyUrl","renderAppNavigation","props","AppNavigationPageLayout","_objectSpread","createNotificationUrl","wrapApp","app","externalSchemaDescriptionSetup","load","_cluster","_path","Promise","resolve","getAclApi","defaultAclApi","renderAclSubjectsSuggestControl","YTSubjectSuggest","renderRolesLink","getExternalSettings","renderUserSuggest","YTUserSuggest","getExperimentalPages","getAllowedExperimentalPages","docsUrls","getComponentForAclRoleActions","RoleActions","getAclPermissionsSettings","PERMISSIONS_SETTINGS","onChytAliasSqlClick","configureUIFactoryItem","k","redefinition","configureUIFactory","overrides","_forEach","_v","key","_default","exports","Proxy","set","Error","isAbcAllowed","abc","onChange","value","id","slug","Boolean"],"sources":["UIFactory.tsx"],"sourcesContent":["import {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\nimport {MetaTableItem} from './components/MetaTable/MetaTable';\nimport _ from 'lodash';\nimport React from 'react';\nimport {Reducer} from 'redux';\nimport {PathParameters} from './store/location';\nimport {TabletBundle} from './store/reducers/tablet_cell_bundles';\nimport {PoolInfo} from './store/selectors/scheduling/scheduling-pools';\nimport {ClusterConfig, ClusterUiConfig} from '../shared/yt-types';\nimport {ClusterAppearance} from './appearance';\nimport AppNavigationPageLayout, {\n AppNavigationProps,\n} from './containers/AppNavigation/AppNavigationPageLayout';\nimport {ExternalSchemaDescription} from './pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription';\nimport {AclApi, defaultAclApi} from './utils/acl/external-acl-api';\nimport {SubjectsControlProps} from './components/ACL/SubjectsControl/SubjectsControl';\nimport {SettingsPage} from './containers/SettingsPanel/settings-description';\nimport {SupportComponent} from './containers/SupportComponent/SupportComponent';\nimport {UserSuggestProps} from './containers/UserSuggest/UserSuggest';\nimport {YTUserSuggest} from './containers/UserSuggest/YTUserSuggest';\nimport {DocsUrls, docsUrls} from './constants/docsUrls';\nimport {YTSubjectSuggest} from './components/ACL/SubjectsControl/YTSubjectSuggest';\nimport RoleActions, {Props as RoleActionsProps} from './components/ACL/RoleActions';\nimport OperationDetailMonitorLinks from './pages/operations/OperationDetail/tabs/monitor/OperationDetailsMonitorLinks';\nimport {PERMISSIONS_SETTINGS} from './constants/acl';\nimport {uiSettings} from './config/ui-settings';\nimport YT from './config/yt-config';\n\ntype HeaderItemOrPage =\n | {\n href: string;\n\n pageId?: undefined;\n reactComponent?: undefined;\n reducers?: undefined;\n urlMapping?: undefined;\n }\n | {\n pageId?: string;\n reactComponent?: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n\n href?: undefined;\n };\n\nexport type UIFactoryRootPageInfo = HeaderItemOrPage & {\n title: string;\n getVisible?: () => Promise<boolean>;\n};\n\nexport interface UIFactoryClusterPageInfo {\n title: string;\n pageId: string; // also used as urlMatch for <Route path={`/:cluster/${pageId}`} ... />\n svgIcon?: SVGIconData;\n reducers?: Record<string, Reducer>;\n reactComponent: React.ComponentType<any>; // used as component for <Route ... component={reactComponent} />\n topRowComponent?: React.ComponentType<any>; // used as component for <Route ... component={topRowComponent} />\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface ExternalSchemaDescriptionResponse {\n url?: string;\n externalSchema?: Map<string, ExternalSchemaDescription>;\n}\n\nexport interface ReducersAndUrlMapping {\n reducers?: Record<string, Reducer>;\n urlMapping?: Record<string, PathParameters>;\n}\n\nexport interface SchedulingExtraTab {\n name: string;\n title?: string;\n component?: React.ComponentType<any>;\n /**\n * Allows to redefine link of corresponding tab\n * Example: https://grafana.mydomain.com?var-pool={ytPool}&var-tree={ytPoolTree}&var-cluster={ytCluster}\n */\n urlTemplate?: string;\n}\n\nexport interface OperationMonitoringTabProps {\n cluster: string;\n operation: {\n id: string;\n startTime?: string;\n finishTime?: string;\n pools?: Array<{pool: string; tree: string; slotIndex?: number}>;\n };\n}\n\nexport interface UIFactory {\n getClusterAppearance(cluster?: string): undefined | ClusterAppearance;\n\n isWatchMen(login: string): boolean;\n\n makeUrlForUserName({cluster, login}: {cluster: string; login: string}): string | undefined;\n makeUrlForTransferTask(operation: unknown): string | undefined;\n makeUrlForNodeIO(cluster: string, host?: string): string | undefined;\n makeUrlForTabletCellBundleDashboard(cluster: string, bundle: string): string | undefined;\n makeUrlForMonitoringDescriptor(\n cluster: string,\n timeRange: {from: string; to?: string},\n monitoring_descriptor?: string,\n ): string | undefined;\n makeUrlForUserDashboard(cluster: string, user: string): string | undefined;\n\n getExtaClusterPages(): Array<UIFactoryClusterPageInfo>;\n getExtraRootPages(): Array<UIFactoryRootPageInfo>;\n\n getExtraReducersAndUrlMapping(): undefined | ReducersAndUrlMapping;\n getSchedulingExtraTabs(params: {\n cluster: string;\n pool: string;\n tree: string;\n extraOptions: {\n isRoot?: boolean;\n isEphemeral?: boolean | undefined;\n };\n }): Array<SchedulingExtraTab>;\n\n getMonitoringForAccounts():\n | undefined\n | {\n component: React.ComponentType<{cluster: string; account: string}>;\n urlTemplate?: undefined;\n title?: undefined;\n }\n | {urlTemplate: string; title?: string; component?: undefined};\n getMonitoringForBundle():\n | undefined\n | {\n component: React.ComponentType<{\n cluster: string;\n tablet_cell_bundle: string;\n bundleData: any;\n }>;\n urlTemplate?: undefined;\n title?: undefined;\n }\n | {urlTemplate: string; title?: string; component?: undefined};\n getMonitoringForOperation(params: OperationMonitoringTabProps['operation']):\n | undefined\n | {\n component: React.ComponentType<OperationMonitoringTabProps>;\n urlTemplate?: undefined;\n title?: undefined;\n }\n | {urlTemplate: string; title?: string; component?: undefined};\n getMonitorComponentForJob():\n | undefined\n | React.ComponentType<{\n cluster: string;\n job_descriptor: string;\n from?: number;\n to?: number;\n }>;\n\n getMonitoringComponentForChyt():\n | undefined\n | {\n component?: React.ComponentType<{cluster: string; alias: string}>;\n urlTemplate?: string;\n title?: string;\n };\n\n getStatisticsComponentForAccount():\n | undefined\n | React.ComponentType<{\n cluster: string;\n account: string;\n accountSubtreeAllNames: Array<string>;\n theme: string;\n }>;\n\n getStatisticsComponentForBundle():\n | undefined\n | React.ComponentType<{cluster: string; bundle: string; theme: string}>;\n\n renderNavigationExtraActions(params: {\n className?: string;\n cluster: string;\n path: string;\n type: string;\n attributes: unknown;\n }): React.ReactNode;\n\n renderSchedulingLastDayMaximum(props: {\n className?: string;\n cluster: string;\n tree: string;\n title?: string;\n sensor: 'max_operation_count' | 'max_running_operation_count';\n format?(sensorValue?: number): string;\n current?: {value: string; title: string};\n showHint?: boolean;\n showAsLink?: boolean;\n }): React.ReactNode;\n\n renderComponentsNodeCardTop(props: {\n className?: string;\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): React.ReactNode;\n\n getComponentsNodeDashboardUrl(props: {cluster: string; host: string}): {\n url?: string;\n title?: string;\n };\n\n renderTransferQuotaNoticeForPool(props: {\n className?: string;\n pool?: PoolInfo;\n parentPool?: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n isTopLevel?: boolean;\n }): React.ReactNode;\n\n renderTransferQuotaNoticeForAccount(props: {\n className?: string;\n isTopLevel?: boolean;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForAccount(props: {\n className?: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForPool(props: {\n itemClassName?: string;\n pool?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderTopRowExtraControlsForBundle(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getExtraMetaTableItemsForComponentsNode(props: {\n clusterConfig: ClusterConfig;\n host: string;\n physicalHost: string;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForPool(props: {\n pool: PoolInfo;\n clusterUiConfig?: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n getExtraMetaTableItemsForBundle(props: {\n bundle: TabletBundle;\n clusterUiConfig: ClusterUiConfig;\n }): undefined | Array<MetaTableItem>;\n\n renderAccountsTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n account: string;\n accountAttributes?: unknown;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderSchedulingTableItemExtraControls(props: {\n itemClassName?: string;\n cluster: string;\n pool: unknown;\n clusterUiConfig: ClusterUiConfig;\n }): React.ReactNode;\n\n renderBundlesTableItemExtraControls(props: {\n itemClassName?: string;\n bundle?: TabletBundle;\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n renderControlAbcService<T extends {slug: string; id?: number}>(props: {\n className?: string;\n value?: T;\n onChange: (v?: T) => void;\n placeholder?: string;\n disabled?: boolean;\n }): React.ReactNode;\n\n makeSupportContent(\n params: {login: string; cluster?: string; buttonToWrap?: React.ReactNode},\n makeContent: (params: {\n supportContent?: React.ReactNode;\n onSupportClick: () => void;\n }) => React.ReactNode,\n ): React.ReactNode;\n\n getComponentForConsumerMetrics():\n | undefined\n | React.ComponentType<{\n cluster: string;\n path: string;\n targetQueue?: string;\n }>;\n\n getComonentForQueueMetrics(): undefined | React.ComponentType<{cluster: string; path: string}>;\n\n renderTableCellBundleEditorNotice(props: {\n bundleData?: {$attributes: unknown};\n clusterUiConfig?: ClusterUiConfig;\n }): React.ReactNode;\n\n getNodeDeployUrl(ypCluster?: string, podId?: string): string | undefined;\n getNodeNannyUrl(params: {\n pod_id?: string;\n nanny_service?: string;\n yp_cluster?: string;\n }): string | undefined;\n\n renderAppNavigation(props: AppNavigationProps): React.ReactElement;\n\n createNotificationUrl(clusterConfig?: ClusterConfig): string | undefined;\n\n wrapApp(app: React.ReactElement): React.ReactElement;\n\n externalSchemaDescriptionSetup: {\n columns?: Record<keyof ExternalSchemaDescription['glossaryEntity'], string>;\n load(cluster: string, path: string): Promise<ExternalSchemaDescriptionResponse>;\n };\n\n getAclApi(): AclApi;\n\n renderAclSubjectsSuggestControl(props: SubjectsControlProps): React.ReactNode;\n\n renderRolesLink(params: {cluster: string; login: string; className?: string}): React.ReactNode;\n\n getExternalSettings(params: {\n cluster: string;\n login: string;\n isAdmin: boolean;\n }): Array<SettingsPage>;\n\n renderUserSuggest(props: UserSuggestProps): React.ReactNode;\n\n yqlWidgetSetup?: {\n renderButton(props: {className?: string; isSplit?: string}): React.ReactNode;\n renderWidget(props: {cluster: string; path: string; attributes: unknown}): React.ReactNode;\n renderYqlOperationLink(yqlOperationId: string): React.ReactNode;\n };\n\n getExperimentalPages(): string[];\n getAllowedExperimentalPages(login: string): Promise<Array<string>>;\n\n docsUrls: DocsUrls;\n\n getComponentForAclRoleActions(): undefined | React.ComponentType<RoleActionsProps>;\n\n getAclPermissionsSettings(): typeof PERMISSIONS_SETTINGS;\n\n onChytAliasSqlClick(params: {alias: string; cluster: string}): void;\n}\n\nconst experimentalPages: string[] = [];\n\nconst uiFactory: UIFactory = {\n getClusterAppearance(cluster) {\n return YT.clusters[cluster!]?.urls;\n },\n isWatchMen() {\n return false;\n },\n makeUrlForUserName({cluster, login}: {cluster?: string; login: string}) {\n return `/${cluster}/users?filter=${login}`;\n },\n makeUrlForTransferTask() {\n return undefined;\n },\n makeUrlForNodeIO() {\n return undefined;\n },\n makeUrlForTabletCellBundleDashboard() {\n return undefined;\n },\n makeUrlForMonitoringDescriptor() {\n return undefined;\n },\n makeUrlForUserDashboard() {\n return undefined;\n },\n\n getExtaClusterPages() {\n return [];\n },\n getExtraRootPages() {\n return [];\n },\n\n getExtraReducersAndUrlMapping() {\n return undefined;\n },\n\n getSchedulingExtraTabs() {\n if (!uiSettings.schedulingMonitoring?.urlTemplate) {\n return [];\n }\n\n const {urlTemplate, title = 'Monitoring'} = uiSettings.schedulingMonitoring;\n\n return [\n {\n name: 'monitoring',\n title,\n urlTemplate,\n },\n ];\n },\n getMonitoringForAccounts() {\n if (!uiSettings?.accountsMonitoring?.urlTemplate) {\n return undefined;\n }\n\n const {urlTemplate, title} = uiSettings.accountsMonitoring;\n return {urlTemplate, title};\n },\n getMonitoringForBundle() {\n if (!uiSettings.bundlesMonitoring?.urlTemplate) {\n return undefined;\n }\n\n const {urlTemplate, title} = uiSettings.bundlesMonitoring;\n return {urlTemplate, title};\n },\n getMonitoringForOperation(params) {\n if (!uiSettings.operationsMonitoring?.urlTemplate) {\n return undefined;\n }\n\n const {urlTemplate, title} = uiSettings.operationsMonitoring;\n\n const hasPoolParameter =\n urlTemplate.indexOf('{ytPool}') !== -1 || urlTemplate.indexOf('{ytPoolTree}') !== -1;\n\n if (hasPoolParameter && params.pools?.length! > 1) {\n return {component: OperationDetailMonitorLinks};\n }\n\n return {urlTemplate, title};\n },\n getMonitorComponentForJob() {\n return undefined;\n },\n getMonitoringComponentForChyt() {\n const {urlTemplate, title} = uiSettings.chytMonitoring ?? {};\n if (!urlTemplate) {\n return undefined;\n }\n\n return {urlTemplate, title};\n },\n getStatisticsComponentForAccount() {\n return undefined;\n },\n getStatisticsComponentForBundle() {\n return undefined;\n },\n\n renderNavigationExtraActions() {\n return null;\n },\n\n renderSchedulingLastDayMaximum() {\n return undefined;\n },\n\n renderComponentsNodeCardTop() {\n return undefined;\n },\n\n getExtraMetaTableItemsForComponentsNode() {\n return undefined;\n },\n\n getExtraMetaTableItemsForPool() {\n return undefined;\n },\n\n getExtraMetaTableItemsForBundle() {\n return undefined;\n },\n\n getComponentsNodeDashboardUrl() {\n return {};\n },\n\n renderTransferQuotaNoticeForPool() {\n return undefined;\n },\n\n renderTransferQuotaNoticeForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForAccount() {\n return undefined;\n },\n\n renderTopRowExtraControlsForPool() {\n return undefined;\n },\n\n renderTopRowExtraControlsForBundle() {\n return undefined;\n },\n\n renderAccountsTableItemExtraControls() {\n return undefined;\n },\n\n renderSchedulingTableItemExtraControls() {\n return undefined;\n },\n\n renderBundlesTableItemExtraControls() {\n return undefined;\n },\n\n renderControlAbcService() {\n return undefined;\n },\n\n makeSupportContent(_x, makeContent) {\n const {reportBugUrl} = uiSettings;\n if (!reportBugUrl) {\n return undefined;\n }\n\n return <SupportComponent makeContent={makeContent} />;\n },\n\n getComponentForConsumerMetrics() {\n return undefined;\n },\n\n getComonentForQueueMetrics() {\n return undefined;\n },\n\n renderTableCellBundleEditorNotice() {\n return undefined;\n },\n\n getNodeDeployUrl() {\n return undefined;\n },\n\n getNodeNannyUrl() {\n return undefined;\n },\n\n renderAppNavigation(props) {\n return <AppNavigationPageLayout {...props} />;\n },\n\n createNotificationUrl() {\n return undefined;\n },\n\n wrapApp(app) {\n return app;\n },\n\n externalSchemaDescriptionSetup: {\n load(_cluster: string, _path: string) {\n return Promise.resolve({});\n },\n },\n\n getAclApi() {\n return defaultAclApi;\n },\n\n renderAclSubjectsSuggestControl(props) {\n return <YTSubjectSuggest {...props} />;\n },\n\n renderRolesLink() {\n return undefined;\n },\n\n getExternalSettings() {\n return [];\n },\n\n renderUserSuggest(props) {\n return <YTUserSuggest {...props} />;\n },\n\n getExperimentalPages() {\n return experimentalPages;\n },\n\n getAllowedExperimentalPages() {\n return Promise.resolve([]);\n },\n\n docsUrls: docsUrls,\n\n getComponentForAclRoleActions() {\n return RoleActions;\n },\n\n getAclPermissionsSettings() {\n return PERMISSIONS_SETTINGS;\n },\n\n onChytAliasSqlClick() {},\n};\n\nfunction configureUIFactoryItem<K extends keyof UIFactory>(k: K, redefinition: UIFactory[K]) {\n uiFactory[k] = redefinition;\n}\n\nexport function configureUIFactory(overrides: Partial<UIFactory>) {\n _.forEach(overrides, (_v, k) => {\n const key = k as keyof UIFactory;\n configureUIFactoryItem(key, overrides[key]!);\n });\n}\n\nexport default new Proxy(uiFactory, {\n set: () => {\n throw new Error('Use configureUIFactory(...) method instead of direct modifications');\n },\n});\n\nexport function isAbcAllowed() {\n const abc = uiFactory.renderControlAbcService({\n onChange: () => {},\n value: {id: 123, slug: '123'},\n });\n return Boolean(abc);\n}\n"],"mappings":"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"}
|
@@ -17,11 +17,13 @@ function Support(_ref) {
|
|
17
17
|
var children = _ref.children;
|
18
18
|
var login = (0, _reactRedux.useSelector)(_global.getCurrentUserName);
|
19
19
|
var cluster = (0, _reactRedux.useSelector)(_global.getCluster);
|
20
|
-
var makeContent = _react.default.useCallback(function (
|
21
|
-
|
20
|
+
var makeContent = _react.default.useCallback(function (_ref2) {
|
21
|
+
var supportContent = _ref2.supportContent,
|
22
|
+
onSupportClick = _ref2.onSupportClick;
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
22
24
|
className: b(),
|
23
25
|
onClick: onSupportClick,
|
24
|
-
children: children || /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
26
|
+
children: [supportContent, children || /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
25
27
|
className: b('toggler'),
|
26
28
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
|
27
29
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -55,7 +57,7 @@ function Support(_ref) {
|
|
55
57
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
56
58
|
className: b('toggler-moo')
|
57
59
|
})]
|
58
|
-
})
|
60
|
+
})]
|
59
61
|
});
|
60
62
|
}, [children]);
|
61
63
|
return _UIFactory.default.makeSupportContent({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_UIFactory","_global","_reactRedux","_jsxRuntime","obj","__esModule","default","b","cn","Support","_ref","children","login","useSelector","getCurrentUserName","cluster","getCluster","makeContent","React","useCallback","onSupportClick","
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_UIFactory","_global","_reactRedux","_jsxRuntime","obj","__esModule","default","b","cn","Support","_ref","children","login","useSelector","getCurrentUserName","cluster","getCluster","makeContent","React","useCallback","_ref2","supportContent","onSupportClick","_jsxs","className","onClick","xmlns","width","height","viewBox","_jsx","id","x1","x2","y1","y2","offset","stopColor","d","fill","strokeWidth","stroke","UIFactory","makeSupportContent"],"sources":["Support.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport './Support.scss';\nimport UIFactory from '../../UIFactory';\nimport {getCluster, getCurrentUserName} from '../../store/selectors/global';\nimport {useSelector} from 'react-redux';\n\ninterface SupportProps {\n children?: React.ReactNode;\n}\n\nconst b = cn('support-form');\n\nexport function Support({children}: SupportProps) {\n const login = useSelector(getCurrentUserName);\n const cluster = useSelector(getCluster);\n\n const makeContent = React.useCallback(\n ({\n supportContent,\n onSupportClick,\n }: {\n supportContent?: React.ReactNode;\n onSupportClick: () => void;\n }) => (\n <div className={b()} onClick={onSupportClick}>\n {supportContent}\n {children || (\n <div className={b('toggler')}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"45\"\n height=\"32\"\n viewBox=\"0 0 45 32\"\n >\n <defs>\n <linearGradient id=\"moo_bg\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop className=\"moo-bg__start\" offset=\"0%\" stopColor=\"#fff\" />\n <stop className=\"moo-bg__stop\" offset=\"100%\" stopColor=\"#eee\" />\n </linearGradient>\n </defs>\n <path\n className={b('toggler-back')}\n d=\"M-0.5 0h36l8 16l-8 16.5h-36z\"\n fill=\"url(#moo_bg)\"\n strokeWidth=\"1\"\n stroke=\"rgba(0,0,0,0.25)\"\n />\n </svg>\n <span className={b('toggler-moo')} />\n </div>\n )}\n </div>\n ),\n [children],\n );\n\n return UIFactory.makeSupportContent({login, cluster}, makeContent) || null;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGAA,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAwC,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMxC,IAAMG,CAAC,GAAG,IAAAC,kBAAE,EAAC,cAAc,CAAC;AAErB,SAASC,OAAOA,CAAAC,IAAA,EAA2B;EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC7B,IAAMC,KAAK,GAAG,IAAAC,uBAAW,EAACC,0BAAkB,CAAC;EAC7C,IAAMC,OAAO,GAAG,IAAAF,uBAAW,EAACG,kBAAU,CAAC;EAEvC,IAAMC,WAAW,GAAGC,cAAK,CAACC,WAAW,CACjC,UAAAC,KAAA;IAAA,IACIC,cAAc,GAAAD,KAAA,CAAdC,cAAc;MACdC,cAAc,GAAAF,KAAA,CAAdE,cAAc;IAAA,oBAKd,IAAAC,gBAAA;MAAKC,SAAS,EAAEjB,CAAC,CAAC,CAAE;MAACkB,OAAO,EAAEH,cAAe;MAAAX,QAAA,GACxCU,cAAc,EACdV,QAAQ,iBACL,IAAAY,gBAAA;QAAKC,SAAS,EAAEjB,CAAC,CAAC,SAAS,CAAE;QAAAI,QAAA,gBACzB,IAAAY,gBAAA;UACIG,KAAK,EAAC,4BAA4B;UAClCC,KAAK,EAAC,IAAI;UACVC,MAAM,EAAC,IAAI;UACXC,OAAO,EAAC,WAAW;UAAAlB,QAAA,gBAEnB,IAAAmB,eAAA;YAAAnB,QAAA,eACI,IAAAY,gBAAA;cAAgBQ,EAAE,EAAC,QAAQ;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAAAxB,QAAA,gBACnD,IAAAmB,eAAA;gBAAMN,SAAS,EAAC,eAAe;gBAACY,MAAM,EAAC,IAAI;gBAACC,SAAS,EAAC;cAAM,CAAE,CAAC,eAC/D,IAAAP,eAAA;gBAAMN,SAAS,EAAC,cAAc;gBAACY,MAAM,EAAC,MAAM;gBAACC,SAAS,EAAC;cAAM,CAAE,CAAC;YAAA,CACpD;UAAC,CACf,CAAC,eACP,IAAAP,eAAA;YACIN,SAAS,EAAEjB,CAAC,CAAC,cAAc,CAAE;YAC7B+B,CAAC,EAAC,8BAA8B;YAChCC,IAAI,EAAC,cAAc;YACnBC,WAAW,EAAC,GAAG;YACfC,MAAM,EAAC;UAAkB,CAC5B,CAAC;QAAA,CACD,CAAC,eACN,IAAAX,eAAA;UAAMN,SAAS,EAAEjB,CAAC,CAAC,aAAa;QAAE,CAAE,CAAC;MAAA,CACpC,CACR;IAAA,CACA,CAAC;EAAA,CACT,EACD,CAACI,QAAQ,CACb,CAAC;EAED,OAAO+B,kBAAS,CAACC,kBAAkB,CAAC;IAAC/B,KAAK,EAALA,KAAK;IAAEG,OAAO,EAAPA;EAAO,CAAC,EAAEE,WAAW,CAAC,IAAI,IAAI;AAC9E"}
|
@@ -7,14 +7,15 @@ exports.default = void 0;
|
|
7
7
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
10
|
+
var _reactRouter = require("react-router");
|
10
11
|
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
11
12
|
var _navigation = require("@gravity-ui/navigation");
|
13
|
+
var _uikit = require("@gravity-ui/uikit");
|
12
14
|
var _appLogo = _interopRequireDefault(require("../../../../img/svg/appLogo.svg"));
|
13
15
|
var _Link = _interopRequireDefault(require("../../components/Link/Link"));
|
14
16
|
var _userAvatar = _interopRequireDefault(require("../../../../img/user-avatar.svg"));
|
17
|
+
var _UIFactory = _interopRequireDefault(require("../../UIFactory"));
|
15
18
|
require("./AppNavigationComponent.css");
|
16
|
-
var _uikit = require("@gravity-ui/uikit");
|
17
|
-
var _reactRouter = require("react-router");
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
19
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
20
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
@@ -47,6 +48,34 @@ GearIcon.defaultProps = {
|
|
47
48
|
fill: "none",
|
48
49
|
viewBox: "0 0 16 16"
|
49
50
|
};
|
51
|
+
var BugIcon = function BugIcon(props) {
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
53
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
54
|
+
clipPath: "url(#a)",
|
55
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
56
|
+
fill: "currentColor",
|
57
|
+
fillRule: "evenodd",
|
58
|
+
d: "M5.865.031a.75.75 0 0 1 .918.53l.531 1.981a5.554 5.554 0 0 1 2.384.225 2.5 2.5 0 1 1 3.535 3.535 5.496 5.496 0 0 1 .225 2.384l1.98.53a.75.75 0 0 1-.388 1.45l-1.98-.53a5.49 5.49 0 0 1-.687 1.187l1.45 1.45a.75.75 0 0 1-1.06 1.06l-1.45-1.45a5.493 5.493 0 0 1-1.188.687l.53 1.98a.75.75 0 1 1-1.448.388l-.531-1.98a5.5 5.5 0 0 1-6.144-6.143l-1.98-.532A.75.75 0 0 1 .95 5.334l1.98.531c.18-.426.411-.824.687-1.188l-1.45-1.45a.75.75 0 1 1 1.06-1.06l1.45 1.45a5.494 5.494 0 0 1 1.188-.687L5.335.95a.75.75 0 0 1 .53-.919ZM8 12a4 4 0 1 0-3.309-1.752L8.42 6.52a.75.75 0 0 1 1.06 1.06l-3.728 3.73c.64.435 1.414.69 2.248.69Z",
|
59
|
+
clipRule: "evenodd"
|
60
|
+
})
|
61
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("defs", {
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
|
63
|
+
id: "a",
|
64
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
65
|
+
fill: "currentColor",
|
66
|
+
d: "M0 0h16v16H0z"
|
67
|
+
})
|
68
|
+
})
|
69
|
+
})]
|
70
|
+
}));
|
71
|
+
};
|
72
|
+
BugIcon.defaultProps = {
|
73
|
+
xmlns: "http://www.w3.org/2000/svg",
|
74
|
+
width: "16",
|
75
|
+
height: "16",
|
76
|
+
fill: "none",
|
77
|
+
viewBox: "0 0 16 16"
|
78
|
+
};
|
50
79
|
var block = (0, _bemCnLite.default)('yt-app-navigation');
|
51
80
|
function AppNavigationComponent(_ref) {
|
52
81
|
var logoClassName = _ref.logoClassName,
|
@@ -105,7 +134,23 @@ function AppNavigationComponent(_ref) {
|
|
105
134
|
renderFooter: function renderFooter(_ref2) {
|
106
135
|
var compact = _ref2.compact;
|
107
136
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
108
|
-
children: [
|
137
|
+
children: [_UIFactory.default.makeSupportContent({
|
138
|
+
login: currentUser
|
139
|
+
}, function (_ref3) {
|
140
|
+
var onSupportClick = _ref3.onSupportClick,
|
141
|
+
supportContent = _ref3.supportContent;
|
142
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
|
143
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_navigation.FooterItem, {
|
144
|
+
compact: compact,
|
145
|
+
item: {
|
146
|
+
id: 'support',
|
147
|
+
title: 'Report a bug',
|
148
|
+
icon: BugIcon,
|
149
|
+
onItemClick: onSupportClick
|
150
|
+
}
|
151
|
+
}), supportContent]
|
152
|
+
});
|
153
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_navigation.FooterItem, {
|
109
154
|
compact: compact,
|
110
155
|
item: {
|
111
156
|
id: 'settings',
|
@@ -121,8 +166,8 @@ function AppNavigationComponent(_ref) {
|
|
121
166
|
onItemClick: function onItemClick() {
|
122
167
|
setPopupVisible(!popupVisible);
|
123
168
|
},
|
124
|
-
itemWrapper: function itemWrapper(
|
125
|
-
var title =
|
169
|
+
itemWrapper: function itemWrapper(_ref4, makeItem) {
|
170
|
+
var title = _ref4.title;
|
126
171
|
return makeItem({
|
127
172
|
title: title,
|
128
173
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_bemCnLite","_interopRequireDefault","_navigation","_appLogo","_Link","_userAvatar","_uikit","_reactRouter","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","block","cn","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","authWay","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","React","useMemo","content","visible","className","_useState","useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","useHistory","PageLayoutAside","multipleTooltip","headerDecoration","logo","text","textSize","icon","Logo","iconSize","iconClassName","wrapper","node","Link","url","theme","target","renderFooter","_ref2","compact","_Fragment","FooterItem","item","title","onItemClick","itemWrapper","_ref3","makeItem","src","unknown","enableTooltip","onClosePopup","renderPopupContent","Menu","Item","onClick","push","href","_default","exports","memo"],"sources":["AppNavigationComponent.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport {FooterItem, PageLayoutAside} from '@gravity-ui/navigation';\n\nimport Logo from '../../../../img/svg/appLogo.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport Link from '../../components/Link/Link';\nimport unknown from '../../../../img/user-avatar.svg';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\n\nimport './AppNavigationComponent.scss';\nimport {Menu} from '@gravity-ui/uikit';\nimport {useHistory} from 'react-router';\n\nconst block = cn('yt-app-navigation');\n\nfunction AppNavigationComponent({\n logoClassName,\n menuItems,\n currentUser,\n authWay,\n\n panelContent,\n panelVisible,\n panelClassName,\n onClosePanel,\n\n settingsVisible,\n settingsContent,\n toggleSettingsVisible,\n\n onChangeCompact,\n}: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>) {\n const panelItems = React.useMemo(() => {\n return [\n {\n id: 'panel',\n content: panelContent,\n visible: panelVisible,\n className: panelClassName,\n },\n {\n id: 'settings',\n content: settingsContent,\n visible: settingsVisible,\n },\n ];\n }, [panelVisible, panelContent, settingsVisible, settingsContent]);\n\n const [popupVisible, setPopupVisible] = useState(false);\n const history = useHistory();\n\n return (\n <PageLayoutAside\n multipleTooltip\n panelItems={panelItems}\n onClosePanel={onClosePanel}\n menuItems={menuItems}\n headerDecoration\n logo={{\n text: () => 'YTsaurus',\n textSize: 22,\n icon: Logo,\n iconSize: 36,\n iconClassName: logoClassName,\n wrapper: (node) => {\n return (\n <Link url={'/'} theme={'primary'} target=\"_blank\">\n {node}\n </Link>\n );\n },\n }}\n onChangeCompact={onChangeCompact}\n renderFooter={({compact}) => {\n return (\n <>\n <FooterItem\n compact={compact}\n item={{\n id: 'settings',\n title: 'Settings',\n onItemClick: toggleSettingsVisible,\n icon: GearIcon,\n }}\n />\n <FooterItem\n compact={compact}\n item={{\n id: 'user',\n title: currentUser,\n onItemClick: () => {\n setPopupVisible(!popupVisible);\n },\n itemWrapper: ({title}: any, makeItem: any) => {\n return makeItem({\n title,\n icon: (\n <img\n className={block('user-icon')}\n width={40}\n height={40}\n src={unknown}\n />\n ),\n });\n },\n }}\n enableTooltip={!popupVisible}\n popupVisible={popupVisible}\n onClosePopup={() => setPopupVisible(false)}\n renderPopupContent={() => {\n return (\n <div className={block('settings-ul')}>\n <Menu>\n {authWay === 'passwd' && (\n <Menu.Item\n onClick={() => history.push('/change-password')}\n >\n Change password\n </Menu.Item>\n )}\n <Menu.Item href={'/api/yt/logout'}>Logout</Menu.Item>\n </Menu>\n </div>\n );\n }}\n />\n </>\n );\n }}\n />\n );\n}\n\nexport default React.memo(AppNavigationComponent);\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAGAA,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAAwC,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AARW,IAC5CC,QAAQ,YAARA,QAAQA,CAAAC,KAAA;EAAA,wBAAAC,gBAAA,aAAAC,sBAAA,MAAAA,sBAAA,MAAAF,KAAA;IAAAG,QAAA,oBAAAC,eAAA;MAAAC,QAAA;MAAAF,QAAA,mBAAAC,eAAA;QAAAE,IAAA;QAAAC,QAAA;QAAAC,CAAA;QAAAC,QAAA;MAAA;IAAA,qBAAAL,eAAA;MAAAD,QAAA,mBAAAC,eAAA;QAAAM,EAAA;QAAAP,QAAA,mBAAAC,eAAA;UAAAE,IAAA;UAAAE,CAAA;QAAA;MAAA;IAAA;EAAA;AAAA;AAART,QAAQ,CAAAY,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAR,IAAA;EAAAS,OAAA;AAAA;AASf,IAAMC,KAAK,GAAG,IAAAC,kBAAE,EAAC,mBAAmB,CAAC;AAErC,SAASC,sBAAsBA,CAAAC,IAAA,EAgBwC;EAAA,IAfnEC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAEPC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,YAAY,GAAAN,IAAA,CAAZM,YAAY;IACZC,cAAc,GAAAP,IAAA,CAAdO,cAAc;IACdC,YAAY,GAAAR,IAAA,CAAZQ,YAAY;IAEZC,eAAe,GAAAT,IAAA,CAAfS,eAAe;IACfC,eAAe,GAAAV,IAAA,CAAfU,eAAe;IACfC,qBAAqB,GAAAX,IAAA,CAArBW,qBAAqB;IAErBC,eAAe,GAAAZ,IAAA,CAAfY,eAAe;EAEf,IAAMC,UAAU,GAAGC,cAAK,CAACC,OAAO,CAAC,YAAM;IACnC,OAAO,CACH;MACIxB,EAAE,EAAE,OAAO;MACXyB,OAAO,EAAEX,YAAY;MACrBY,OAAO,EAAEX,YAAY;MACrBY,SAAS,EAAEX;IACf,CAAC,EACD;MACIhB,EAAE,EAAE,UAAU;MACdyB,OAAO,EAAEN,eAAe;MACxBO,OAAO,EAAER;IACb,CAAC,CACJ;EACL,CAAC,EAAE,CAACH,YAAY,EAAED,YAAY,EAAEI,eAAe,EAAEC,eAAe,CAAC,CAAC;EAElE,IAAAS,SAAA,GAAwC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,uBAAA,EAAAH,SAAA;IAAhDI,YAAY,GAAAF,UAAA;IAAEG,eAAe,GAAAH,UAAA;EACpC,IAAMI,OAAO,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAE5B,oBACI,IAAAzC,eAAA,EAAC0C,2BAAe;IACZC,eAAe;IACff,UAAU,EAAEA,UAAW;IACvBL,YAAY,EAAEA,YAAa;IAC3BN,SAAS,EAAEA,SAAU;IACrB2B,gBAAgB;IAChBC,IAAI,EAAE;MACFC,IAAI,EAAE,SAAAA,KAAA;QAAA,OAAM,UAAU;MAAA;MACtBC,QAAQ,EAAE,EAAE;MACZC,IAAI,EAAEC,gBAAI;MACVC,QAAQ,EAAE,EAAE;MACZC,aAAa,EAAEnC,aAAa;MAC5BoC,OAAO,EAAE,SAAAA,QAACC,IAAI,EAAK;QACf,oBACI,IAAArD,eAAA,EAACsD,aAAI;UAACC,GAAG,EAAE,GAAI;UAACC,KAAK,EAAE,SAAU;UAACC,MAAM,EAAC,QAAQ;UAAA1D,QAAA,EAC5CsD;QAAI,CACH,CAAC;MAEf;IACJ,CAAE;IACF1B,eAAe,EAAEA,eAAgB;IACjC+B,YAAY,EAAE,SAAAA,aAAAC,KAAA,EAAe;MAAA,IAAbC,OAAO,GAAAD,KAAA,CAAPC,OAAO;MACnB,oBACI,IAAA/D,gBAAA,EAAAgE,oBAAA;QAAA9D,QAAA,gBACI,IAAAC,eAAA,EAAC8D,sBAAU;UACPF,OAAO,EAAEA,OAAQ;UACjBG,IAAI,EAAE;YACFzD,EAAE,EAAE,UAAU;YACd0D,KAAK,EAAE,UAAU;YACjBC,WAAW,EAAEvC,qBAAqB;YAClCsB,IAAI,EAAErD;UACV;QAAE,CACL,CAAC,eACF,IAAAK,eAAA,EAAC8D,sBAAU;UACPF,OAAO,EAAEA,OAAQ;UACjBG,IAAI,EAAE;YACFzD,EAAE,EAAE,MAAM;YACV0D,KAAK,EAAE9C,WAAW;YAClB+C,WAAW,EAAE,SAAAA,YAAA,EAAM;cACf1B,eAAe,CAAC,CAACD,YAAY,CAAC;YAClC,CAAC;YACD4B,WAAW,EAAE,SAAAA,YAAAC,KAAA,EAAeC,QAAa,EAAK;cAAA,IAA/BJ,KAAK,GAAAG,KAAA,CAALH,KAAK;cAChB,OAAOI,QAAQ,CAAC;gBACZJ,KAAK,EAALA,KAAK;gBACLhB,IAAI,eACA,IAAAhD,eAAA;kBACIiC,SAAS,EAAErB,KAAK,CAAC,WAAW,CAAE;kBAC9BH,KAAK,EAAE,EAAG;kBACVC,MAAM,EAAE,EAAG;kBACX2D,GAAG,EAAEC;gBAAQ,CAChB;cAET,CAAC,CAAC;YACN;UACJ,CAAE;UACFC,aAAa,EAAE,CAACjC,YAAa;UAC7BA,YAAY,EAAEA,YAAa;UAC3BkC,YAAY,EAAE,SAAAA,aAAA;YAAA,OAAMjC,eAAe,CAAC,KAAK,CAAC;UAAA,CAAC;UAC3CkC,kBAAkB,EAAE,SAAAA,mBAAA,EAAM;YACtB,oBACI,IAAAzE,eAAA;cAAKiC,SAAS,EAAErB,KAAK,CAAC,aAAa,CAAE;cAAAb,QAAA,eACjC,IAAAF,gBAAA,EAAC6E,WAAI;gBAAA3E,QAAA,GACAoB,OAAO,KAAK,QAAQ,iBACjB,IAAAnB,eAAA,EAAC0E,WAAI,CAACC,IAAI;kBACNC,OAAO,EAAE,SAAAA,QAAA;oBAAA,OAAMpC,OAAO,CAACqC,IAAI,CAAC,kBAAkB,CAAC;kBAAA,CAAC;kBAAA9E,QAAA,EACnD;gBAED,CAAW,CACd,eACD,IAAAC,eAAA,EAAC0E,WAAI,CAACC,IAAI;kBAACG,IAAI,EAAE,gBAAiB;kBAAA/E,QAAA,EAAC;gBAAM,CAAW,CAAC;cAAA,CACnD;YAAC,CACN,CAAC;UAEd;QAAE,CACL,CAAC;MAAA,CACJ,CAAC;IAEX;EAAE,CACL,CAAC;AAEV;AAAA,IAAAgF,QAAA,GAAAC,OAAA,CAAArG,OAAA,GAEA,aAAekD,cAAK,CAACoD,IAAI,CAACnE,sBAAsB,CAAC"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_bemCnLite","_interopRequireDefault","_navigation","_uikit","_appLogo","_Link","_userAvatar","_UIFactory","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","BugIcon","block","cn","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","authWay","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","React","useMemo","content","visible","className","_useState","useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","useHistory","PageLayoutAside","multipleTooltip","headerDecoration","logo","text","textSize","icon","Logo","iconSize","iconClassName","wrapper","node","Link","url","theme","target","renderFooter","_ref2","compact","_Fragment","UIFactory","makeSupportContent","login","_ref3","onSupportClick","supportContent","Fragment","FooterItem","item","title","onItemClick","itemWrapper","_ref4","makeItem","src","unknown","enableTooltip","onClosePopup","renderPopupContent","Menu","Item","onClick","push","href","_default","exports","memo"],"sources":["AppNavigationComponent.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport {useHistory} from 'react-router';\nimport cn from 'bem-cn-lite';\nimport {FooterItem, PageLayoutAside} from '@gravity-ui/navigation';\nimport {Menu} from '@gravity-ui/uikit';\n\nimport Logo from '../../../../img/svg/appLogo.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport BugIcon from '@gravity-ui/icons/svgs/bug.svg';\nimport Link from '../../components/Link/Link';\nimport unknown from '../../../../img/user-avatar.svg';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\nimport UIFactory from '../../UIFactory';\n\nimport './AppNavigationComponent.scss';\n\nconst block = cn('yt-app-navigation');\n\nfunction AppNavigationComponent({\n logoClassName,\n menuItems,\n currentUser,\n authWay,\n\n panelContent,\n panelVisible,\n panelClassName,\n onClosePanel,\n\n settingsVisible,\n settingsContent,\n toggleSettingsVisible,\n\n onChangeCompact,\n}: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>) {\n const panelItems = React.useMemo(() => {\n return [\n {\n id: 'panel',\n content: panelContent,\n visible: panelVisible,\n className: panelClassName,\n },\n {\n id: 'settings',\n content: settingsContent,\n visible: settingsVisible,\n },\n ];\n }, [panelVisible, panelContent, settingsVisible, settingsContent]);\n\n const [popupVisible, setPopupVisible] = useState(false);\n const history = useHistory();\n\n return (\n <PageLayoutAside\n multipleTooltip\n panelItems={panelItems}\n onClosePanel={onClosePanel}\n menuItems={menuItems}\n headerDecoration\n logo={{\n text: () => 'YTsaurus',\n textSize: 22,\n icon: Logo,\n iconSize: 36,\n iconClassName: logoClassName,\n wrapper: (node) => {\n return (\n <Link url={'/'} theme={'primary'} target=\"_blank\">\n {node}\n </Link>\n );\n },\n }}\n onChangeCompact={onChangeCompact}\n renderFooter={({compact}) => {\n return (\n <>\n {UIFactory.makeSupportContent(\n {login: currentUser},\n ({onSupportClick, supportContent}) => (\n <React.Fragment>\n <FooterItem\n compact={compact}\n item={{\n id: 'support',\n title: 'Report a bug',\n icon: BugIcon,\n onItemClick: onSupportClick,\n }}\n />\n {supportContent}\n </React.Fragment>\n ),\n )}\n <FooterItem\n compact={compact}\n item={{\n id: 'settings',\n title: 'Settings',\n onItemClick: toggleSettingsVisible,\n icon: GearIcon,\n }}\n />\n <FooterItem\n compact={compact}\n item={{\n id: 'user',\n title: currentUser,\n onItemClick: () => {\n setPopupVisible(!popupVisible);\n },\n itemWrapper: ({title}: any, makeItem: any) => {\n return makeItem({\n title,\n icon: (\n <img\n className={block('user-icon')}\n width={40}\n height={40}\n src={unknown}\n />\n ),\n });\n },\n }}\n enableTooltip={!popupVisible}\n popupVisible={popupVisible}\n onClosePopup={() => setPopupVisible(false)}\n renderPopupContent={() => {\n return (\n <div className={block('settings-ul')}>\n <Menu>\n {authWay === 'passwd' && (\n <Menu.Item\n onClick={() => history.push('/change-password')}\n >\n Change password\n </Menu.Item>\n )}\n <Menu.Item href={'/api/yt/logout'}>Logout</Menu.Item>\n </Menu>\n </div>\n );\n }}\n />\n </>\n );\n }}\n />\n );\n}\n\nexport default React.memo(AppNavigationComponent);\n"],"mappings":"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"}
|
@@ -263,7 +263,7 @@ function makeItem(title, align, content) {
|
|
263
263
|
};
|
264
264
|
}
|
265
265
|
function useSettingsDescription() {
|
266
|
-
var isAdmin = (0, _reactRedux.useSelector)(_global.
|
266
|
+
var isAdmin = (0, _reactRedux.useSelector)(_global.isDeveloperOrWatchMen) || true;
|
267
267
|
var cluster = (0, _useCluster.useClusterFromLocation)();
|
268
268
|
var login = (0, _reactRedux.useSelector)(_global.getCurrentUserName);
|
269
269
|
var settings = useSettings(cluster, isAdmin);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_compact2","_filter2","_forEach2","_map2","_reduce2","_immer","_UIFactory","_toolsIcon","_paletteIcon","_closeTagIcon","_dataIcon","_pageSystem","_masters","_pageOperations","_pageComponents","_pageNavigation","_shieldIcon","_tableIcon","_infoIcon","_useCluster","_index","_uiSettings","_ypath","_statistics","_settings","_slideoutMenu","_SettingsMenuItem","_SettingsMenuRadio","_SettingsMenuInput","_global","_table","_ytConfig","_Link","_Button","_jsxRuntime","obj","__esModule","default","oauthTokenUrl","uiSettings","StartPageSettingMemo","React","memo","StartPageSetting","wrapEscapeText","text","concat","useSettings","cluster","isAdmin","clusterNS","useSelector","getCurrentClusterNS","httpProxyVersion","getHttpProxyVersion","schedulerVersion","getGlobalSchedulerVersion","masterVersion","getGlobalMasterVersion","_compact","makePage","generalIcon","makeItem","_jsx","SettingsMenuItem","settingName","SettingName","GLOBAL","AUTO_REFRESH","settingNS","NAMESPACES","annotation","oneLine","MENU","RECENT_CLUSTER_FIRST","RECENT_PAGE_FIRST","paletteIcon","SettingsMenuRadio","THEME","items","value","A11Y","USE_SAFE_COLORS","convertValue","closeTagIcon","DEVELOPMENT","REGULAR_USER_UI","label","SettingsMenuInput","placeholder","description","QUERY_TRACKER","STAGE","YQL_AGENT_STAGE","dataIcon","YSON","FORMAT","SHOW_DECODED","annotationHighlight","BINARY_AS_HEX","ESCAPE_WHITESPACES","COMPACT","systemIcon","SYSTEM","MASTERS_HOST_TYPE","mastersRadioButtonItems","operationsIcon","OPERATIONS","STATISTICS_AGGREGATION_TYPE","AGGREGATOR_RADIO_ITEMS","navigationIcon","validator","navigationPathValidator","LOCAL","NAVIGATION_DEFAULT_PATH","chytAliasValidator","NAVIGATION","DEFAULT_CHYT_ALIAS","USE_SMART_SORT","GROUP_NODES","USE_SMART_FILTER","ENABLE_PATH_AUTO_CORRECTION","docsUrl","UIFactory","docsUrls","componentsIcon","COMPONENTS","ENABLE_SIDE_BAR","tableIcon","YQL_TYPES","ROWS_PER_TABLE_PAGE","String","Number","MAXIMUM_TABLE_STRING_SIZE","cellSizeRadioButtonItems","DEFAULT_TABLE_COLUMN_LIMIT","pageSizeRadioButtonItems","ENABLE_TABLE_SIMILARITY","TABLE_DISPLAY_RAW_STRINGS","shieldIcon","undefined","Link","url","target","children","Button","size","infoIcon","Boolean","YT","parameters","version","title","icon","sections","align","content","useSettingsDescription","isDeveloperSettings","useClusterFromLocation","login","getCurrentUserName","settings","externalSettings","getExternalSettings","res","useMemo","extPages","hashByTitle","produce","pages","_forEach","page","extPage","extSections","section","s","_section$items","push","apply","_toConsumableArray","splice","length","data","_reduce","acc","item","_useSelector","getRecentPagesInfo","all","pageItems","headerPages","_filter","header","_map","id","name","STARTING_PAGE","arguments","ypath","YPath","create","err","message","startsWith"],"sources":["settings-description.tsx"],"sourcesContent":["import React from 'react';\nimport {useSelector} from 'react-redux';\nimport {IconProps} from '@gravity-ui/uikit';\nimport _compact from 'lodash/compact';\nimport _filter from 'lodash/filter';\nimport _forEach from 'lodash/forEach';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport produce from 'immer';\n\nimport UIFactory from '../../UIFactory';\n\nimport generalIcon from '../../../../img/svg/tools-icon.svg';\nimport paletteIcon from '../../../../img/svg/palette-icon.svg';\nimport closeTagIcon from '../../../../img/svg/close-tag-icon.svg';\nimport dataIcon from '../../../../img/svg/data-icon.svg';\nimport systemIcon from '../../../../img/svg/page-system.svg';\nimport {mastersRadioButtonItems} from '../../constants/system/masters';\nimport operationsIcon from '../../../../img/svg/page-operations.svg';\nimport componentsIcon from '../../../../img/svg/page-components.svg';\nimport navigationIcon from '../../../../img/svg/page-navigation.svg';\nimport shieldIcon from '../../../../img/svg/shield-icon.svg';\nimport tableIcon from '../../../../img/svg/table-icon.svg';\nimport infoIcon from '../../../../img/svg/info-icon.svg';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {docsUrl} from '../../config/index';\nimport {uiSettings} from '../../config/ui-settings';\n\nimport ypath from '../../common/thor/ypath';\n\nimport {AGGREGATOR_RADIO_ITEMS} from '../../constants/operations/statistics';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {getRecentPagesInfo} from '../../store/selectors/slideoutMenu';\nimport SettingsMenuItem from '../../containers/SettingsMenu/SettingsMenuItem';\nimport SettingsMenuRadio from '../../containers/SettingsMenu/SettingsMenuRadio';\nimport SettingsMenuInput from '../SettingsMenu/SettingsMenuInput';\nimport {\n getCurrentClusterNS,\n getCurrentUserName,\n getGlobalMasterVersion,\n getGlobalSchedulerVersion,\n getHttpProxyVersion,\n isDeveloperSettings,\n} from '../../store/selectors/global';\nimport {\n cellSizeRadioButtonItems,\n pageSizeRadioButtonItems,\n} from '../../constants/navigation/content/table';\nimport YT from '../../config/yt-config';\nimport Link from '../../components/Link/Link';\nimport Button from '../../components/Button/Button';\n\nexport interface SettingsPage {\n title: string;\n icon: IconProps;\n sections: Array<SettingsSection>;\n}\n\nexport interface SettingsSection {\n title: string;\n items: Array<SettingsItem>;\n}\n\nexport interface SettingsItem {\n title: string;\n align?: 'top' | 'center';\n content: React.ReactNode;\n}\n\nconst {oauthTokenUrl} = uiSettings;\n\nconst StartPageSettingMemo = React.memo(StartPageSetting);\n\nfunction wrapEscapeText(text: string) {\n return `<span class=\"unipika\"><span class=\"escape\">${text}</span></span>`;\n}\n\nfunction useSettings(cluster: string, isAdmin: boolean): Array<SettingsPage> {\n const clusterNS = useSelector(getCurrentClusterNS);\n\n const httpProxyVersion: string = useSelector(getHttpProxyVersion);\n const schedulerVersion: string = useSelector(getGlobalSchedulerVersion);\n const masterVersion: string = useSelector(getGlobalMasterVersion);\n\n return _compact([\n makePage('General', generalIcon, [\n makeItem('Start page', 'top', <StartPageSettingMemo />),\n makeItem(\n 'Use auto refresh',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.GLOBAL.AUTO_REFRESH}\n settingNS={NAMESPACES.GLOBAL}\n annotation=\"Automatically update pages with highly dynamic content\"\n oneLine={true}\n />,\n ),\n makeItem(\n 'Use recent clusters',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_CLUSTER_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited clusters appear at the top of cluster menu.'}\n oneLine\n />,\n ),\n makeItem(\n 'Use recent pages',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_PAGE_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited pages appear at the top of pages menu.'}\n oneLine\n />,\n ),\n ]),\n makePage('Appearance', paletteIcon, [\n makeItem(\n 'Theme',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.GLOBAL.THEME}\n settingNS={NAMESPACES.GLOBAL}\n items={[\n {value: 'light', text: 'Light'},\n {value: 'dark', text: 'Dark'},\n {value: 'system', text: 'System'},\n ]}\n />,\n ),\n makeItem(\n 'Contrast',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.A11Y.USE_SAFE_COLORS}\n settingNS={NAMESPACES.A11Y}\n convertValue={(value) => value === 'true'}\n items={[\n {value: 'false', text: 'Normal'},\n {value: 'true', text: 'High'},\n ]}\n />,\n ),\n ]),\n makePage(\n 'Development',\n closeTagIcon,\n _compact([\n isAdmin &&\n makeItem(\n \"Show regular user's UI\",\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.REGULAR_USER_UI}\n settingNS={NAMESPACES.DEVELOPMENT}\n label={\"Show regular user's UI\"}\n annotation={\n 'There is some difference in UI for development-team and regular users, ' +\n 'enabling of the option allows to see exactly the same what see a regular user.'\n }\n />,\n ),\n makeItem(\n 'Query Tracker Stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter stage...\"\n description=\"Default Query Tracker stage is 'production'. But you can reassign it with this setting.\"\n settingName={SettingName.QUERY_TRACKER.STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n makeItem(\n 'YQL agent stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter YQL agent stage...\"\n settingName={SettingName.QUERY_TRACKER.YQL_AGENT_STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n ]),\n ),\n\n makePage('Data', dataIcon, [\n makeItem(\n 'Data format',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.YSON.FORMAT}\n settingNS={NAMESPACES.YSON}\n items={[\n {\n value: 'yson',\n text: 'YSON',\n },\n {\n value: 'json',\n text: 'JSON',\n },\n {\n value: 'raw-json',\n text: 'Raw JSON',\n },\n ]}\n />,\n ),\n makeItem(\n 'Decode data as UTF8',\n 'top',\n <SettingsMenuItem\n oneLine={true}\n settingName={SettingName.YSON.SHOW_DECODED}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Attempt to decode UTF-8 strings. Show Unicode symbols upon success and mark ' +\n 'data as binary otherwise.'\n }\n annotationHighlight={\n 'Please note that YSON does not natively support Unicode symbols ' +\n '— therefore you would not be able to copy-paste presented YSON as is.'\n }\n />,\n ),\n makeItem(\n 'Binary as HEX',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.BINARY_AS_HEX}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Display binary strings as HEX sequences. Strings that were not decoded as UTF8 are therefore considered binary and ' +\n 'displayed as HEX sequences.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Escape and highlight',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.ESCAPE_WHITESPACES}\n settingNS={NAMESPACES.YSON}\n annotation={\n `Symbols ${wrapEscapeText('\\\\n')} and ${wrapEscapeText(\n '\\\\t',\n )} will be rendered as escape sequences, whitespaces will be ` +\n 'highlighted as neccessary. Does not affect Raw JSON format.'\n }\n annotationHighlight={\n 'Please note that JSON does not support unescaped control characters ' +\n '— therefore you would not be able to copy-paste presented JSON as is.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Compact view',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.COMPACT}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Single element lists are rendered inline, so are maps with one property. Does ' +\n 'not affect Raw JSON format.'\n }\n oneLine\n />,\n ),\n ]),\n makePage('System', systemIcon, [\n makeItem(\n 'Host type of Masters/Schedulers/Controller',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default view of host to display on in the Masters/Schedulers and Controller agents section.\"\n settingName={SettingName.SYSTEM.MASTERS_HOST_TYPE}\n settingNS={NAMESPACES.SYSTEM}\n items={mastersRadioButtonItems}\n />,\n ),\n ]),\n makePage('Operation', operationsIcon, [\n makeItem(\n \"Statistic's type\",\n 'top',\n <SettingsMenuRadio\n description=\"Select the default type of job aggregation.\"\n settingName={SettingName.OPERATIONS.STATISTICS_AGGREGATION_TYPE}\n settingNS={NAMESPACES.OPERATIONS}\n items={AGGREGATOR_RADIO_ITEMS}\n />,\n ),\n ]),\n makePage(\n 'Navigation',\n navigationIcon,\n _compact([\n clusterNS &&\n makeItem(\n 'Default path',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default navigation path...\"\n description=\"Cluster specific path that will be opened by default in the the Navigation page.\"\n validator={navigationPathValidator}\n settingName={SettingName.LOCAL.NAVIGATION_DEFAULT_PATH}\n settingNS={clusterNS}\n />,\n ),\n makeItem(\n 'Default chyt alias',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default chyt alias...\"\n description=\"User alias for the YQL Kit default query string in ClickHouse mode.\"\n validator={chytAliasValidator}\n settingName={SettingName.NAVIGATION.DEFAULT_CHYT_ALIAS}\n settingNS={NAMESPACES.NAVIGATION}\n />,\n ),\n makeItem(\n 'Use smart sort',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_SORT}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes with names that represent dates will be sorted from newest date to ' +\n 'oldest, while other nodes will be sorted alphabetically.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Group nodes by type',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.GROUP_NODES}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes will be grouped by type and each type will be sorted independently, ' +\n 'folders first, then tables, then files.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Use smart filter',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_FILTER}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={'Use logical operators in filter like \"and\" and \"or\"'}\n oneLine\n />,\n ),\n makeItem(\n 'Path autocorrection',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_PATH_AUTO_CORRECTION}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Autocorrect erroneous path if possible. ' +\n docsUrl(\n 'For details see ' +\n `<a class=\"link link_theme_normal\" href=\"${UIFactory.docsUrls['faq:enablepathautocorrection']}\" target=\"_blank\">FAQ</a>` +\n '.',\n )\n }\n oneLine\n />,\n ),\n ]),\n ),\n makePage('Components', componentsIcon, [\n makeItem(\n 'Enable side bar',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.COMPONENTS.ENABLE_SIDE_BAR}\n settingNS={NAMESPACES.COMPONENTS}\n annotation=\"Display node data in the side bar when clicked.\"\n oneLine={true}\n />,\n ),\n ]),\n\n makePage(\n 'Table',\n tableIcon,\n _compact([\n makeItem(\n 'YQL V3 types',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.YQL_TYPES}\n settingNS={NAMESPACES.DEVELOPMENT}\n oneLine\n />,\n ),\n makeItem(\n 'Rows per page',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default number of rows to display on one table page.\n The number can be changed for the specific table using table settings button.\"\n settingName={SettingName.NAVIGATION.ROWS_PER_TABLE_PAGE}\n settingNS={NAMESPACES.NAVIGATION}\n items={[\n {\n value: String(10),\n text: '10',\n },\n {\n value: String(50),\n text: '50',\n },\n {\n value: String(100),\n text: '100',\n },\n {\n value: String(200),\n text: '200',\n },\n ]}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Cell size limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default cell size limit for tables.\n The cell size limit for the specific table can be changed using table settings button.\"\n settingName={SettingName.NAVIGATION.MAXIMUM_TABLE_STRING_SIZE}\n settingNS={NAMESPACES.NAVIGATION}\n items={cellSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Default column limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default column limit for tables. In other words, how many columns will be shown\n when no column has even been hidden using ColumnSelector for the particular table or (if table\n similarity is enabled) for the similar table.\"\n settingName={SettingName.NAVIGATION.DEFAULT_TABLE_COLUMN_LIMIT}\n settingNS={NAMESPACES.NAVIGATION}\n items={pageSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Guess visible columns',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_TABLE_SIMILARITY}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Use table similarity for guessing visible columns. ' +\n 'Show same visible columns in table A as in table B if these tables are similar ' +\n 'and those columns have been previously set as visible for table B.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Allow raw string-values',\n 'top',\n <SettingsMenuItem\n annotation=\"Cells with string values will be displayed without escaping.\"\n settingName={SettingName.NAVIGATION.TABLE_DISPLAY_RAW_STRINGS}\n settingNS={NAMESPACES.NAVIGATION}\n oneLine\n />,\n ),\n ]),\n ),\n\n oauthTokenUrl &&\n makePage('Auth', shieldIcon, [\n makeItem(\n 'YT OAuth token',\n undefined,\n <Link url={oauthTokenUrl} target=\"_blank\">\n <Button size={'s'}>Show my token</Button>\n </Link>,\n ),\n ]),\n\n makePage(\n 'About',\n infoIcon,\n _compact([\n Boolean(cluster) && makeItem('HTTP proxy version', undefined, httpProxyVersion),\n Boolean(cluster) && makeItem('Scheduler version', undefined, schedulerVersion),\n Boolean(cluster) && makeItem('Master version', undefined, masterVersion),\n makeItem('Interface version', undefined, YT.parameters.interface.version),\n ]),\n ),\n ]);\n}\n\nexport function makePage(\n title: string,\n icon: IconProps | undefined,\n items: Array<SettingsItem>,\n): SettingsPage {\n return {title, icon: icon || generalIcon, sections: [{title, items}]};\n}\n\nexport function makeItem(\n title: string,\n align?: SettingsItem['align'],\n content?: React.ReactNode,\n): SettingsItem {\n return {title, align, content};\n}\n\nexport function useSettingsDescription(): Array<SettingsPage> {\n const isAdmin = useSelector(isDeveloperSettings) || true;\n const cluster = useClusterFromLocation();\n const login = useSelector(getCurrentUserName);\n\n const settings = useSettings(cluster, isAdmin);\n const externalSettings = UIFactory.getExternalSettings({cluster, isAdmin, login});\n\n const res = React.useMemo(() => {\n const extPages: Record<string, SettingsPage> = hashByTitle(externalSettings);\n return produce(settings, (pages) => {\n _forEach(pages, (page) => {\n const extPage = extPages[page.title];\n if (extPage) {\n delete extPages[page.title];\n const extSections = hashByTitle(extPage.sections);\n _forEach(page.sections, (section) => {\n const s = extSections[section.title];\n if (s) {\n delete extSections[section.title];\n section.items.push(...s.items);\n }\n });\n _forEach(extSections, (section) => {\n page.sections.push(section);\n });\n }\n });\n _forEach(extPages, (page) => {\n pages.splice(pages.length - 1, 0, page);\n });\n });\n }, [settings, externalSettings]);\n\n return res;\n}\n\nfunction hashByTitle<T extends {title: string}>(data: Array<T>) {\n return _reduce(\n data,\n (acc, item) => {\n acc[item.title] = item;\n return acc;\n },\n {} as Record<string, T>,\n );\n}\n\nfunction StartPageSetting() {\n const {all} = useSelector(getRecentPagesInfo);\n\n const pageItems = React.useMemo(() => {\n const headerPages = _filter(all, (page) => Boolean(page.header));\n return _map(headerPages, (page) => ({\n value: page.id,\n text: page.name,\n }));\n }, [all]);\n\n return (\n <SettingsMenuRadio\n settingName={SettingName.MENU.STARTING_PAGE}\n settingNS={NAMESPACES.MENU}\n items={pageItems}\n />\n );\n}\n\nfunction navigationPathValidator(value = '/') {\n if (!value) {\n return null;\n }\n\n try {\n ypath.YPath.create(value, 'absolute');\n return undefined;\n } catch (err) {\n return (err as Error)?.message || 'invalid path';\n }\n}\n\nfunction chytAliasValidator(value: string) {\n if (!value.startsWith('*') && value.length > 0) {\n return \"The alias should be started with a character '*'\";\n }\n\n return undefined;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_compact2","_filter2","_forEach2","_map2","_reduce2","_immer","_UIFactory","_toolsIcon","_paletteIcon","_closeTagIcon","_dataIcon","_pageSystem","_masters","_pageOperations","_pageComponents","_pageNavigation","_shieldIcon","_tableIcon","_infoIcon","_useCluster","_index","_uiSettings","_ypath","_statistics","_settings","_slideoutMenu","_SettingsMenuItem","_SettingsMenuRadio","_SettingsMenuInput","_global","_table","_ytConfig","_Link","_Button","_jsxRuntime","obj","__esModule","default","oauthTokenUrl","uiSettings","StartPageSettingMemo","React","memo","StartPageSetting","wrapEscapeText","text","concat","useSettings","cluster","isAdmin","clusterNS","useSelector","getCurrentClusterNS","httpProxyVersion","getHttpProxyVersion","schedulerVersion","getGlobalSchedulerVersion","masterVersion","getGlobalMasterVersion","_compact","makePage","generalIcon","makeItem","_jsx","SettingsMenuItem","settingName","SettingName","GLOBAL","AUTO_REFRESH","settingNS","NAMESPACES","annotation","oneLine","MENU","RECENT_CLUSTER_FIRST","RECENT_PAGE_FIRST","paletteIcon","SettingsMenuRadio","THEME","items","value","A11Y","USE_SAFE_COLORS","convertValue","closeTagIcon","DEVELOPMENT","REGULAR_USER_UI","label","SettingsMenuInput","placeholder","description","QUERY_TRACKER","STAGE","YQL_AGENT_STAGE","dataIcon","YSON","FORMAT","SHOW_DECODED","annotationHighlight","BINARY_AS_HEX","ESCAPE_WHITESPACES","COMPACT","systemIcon","SYSTEM","MASTERS_HOST_TYPE","mastersRadioButtonItems","operationsIcon","OPERATIONS","STATISTICS_AGGREGATION_TYPE","AGGREGATOR_RADIO_ITEMS","navigationIcon","validator","navigationPathValidator","LOCAL","NAVIGATION_DEFAULT_PATH","chytAliasValidator","NAVIGATION","DEFAULT_CHYT_ALIAS","USE_SMART_SORT","GROUP_NODES","USE_SMART_FILTER","ENABLE_PATH_AUTO_CORRECTION","docsUrl","UIFactory","docsUrls","componentsIcon","COMPONENTS","ENABLE_SIDE_BAR","tableIcon","YQL_TYPES","ROWS_PER_TABLE_PAGE","String","Number","MAXIMUM_TABLE_STRING_SIZE","cellSizeRadioButtonItems","DEFAULT_TABLE_COLUMN_LIMIT","pageSizeRadioButtonItems","ENABLE_TABLE_SIMILARITY","TABLE_DISPLAY_RAW_STRINGS","shieldIcon","undefined","Link","url","target","children","Button","size","infoIcon","Boolean","YT","parameters","version","title","icon","sections","align","content","useSettingsDescription","isDeveloperOrWatchMen","useClusterFromLocation","login","getCurrentUserName","settings","externalSettings","getExternalSettings","res","useMemo","extPages","hashByTitle","produce","pages","_forEach","page","extPage","extSections","section","s","_section$items","push","apply","_toConsumableArray","splice","length","data","_reduce","acc","item","_useSelector","getRecentPagesInfo","all","pageItems","headerPages","_filter","header","_map","id","name","STARTING_PAGE","arguments","ypath","YPath","create","err","message","startsWith"],"sources":["settings-description.tsx"],"sourcesContent":["import React from 'react';\nimport {useSelector} from 'react-redux';\nimport {IconProps} from '@gravity-ui/uikit';\nimport _compact from 'lodash/compact';\nimport _filter from 'lodash/filter';\nimport _forEach from 'lodash/forEach';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport produce from 'immer';\n\nimport UIFactory from '../../UIFactory';\n\nimport generalIcon from '../../../../img/svg/tools-icon.svg';\nimport paletteIcon from '../../../../img/svg/palette-icon.svg';\nimport closeTagIcon from '../../../../img/svg/close-tag-icon.svg';\nimport dataIcon from '../../../../img/svg/data-icon.svg';\nimport systemIcon from '../../../../img/svg/page-system.svg';\nimport {mastersRadioButtonItems} from '../../constants/system/masters';\nimport operationsIcon from '../../../../img/svg/page-operations.svg';\nimport componentsIcon from '../../../../img/svg/page-components.svg';\nimport navigationIcon from '../../../../img/svg/page-navigation.svg';\nimport shieldIcon from '../../../../img/svg/shield-icon.svg';\nimport tableIcon from '../../../../img/svg/table-icon.svg';\nimport infoIcon from '../../../../img/svg/info-icon.svg';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {docsUrl} from '../../config/index';\nimport {uiSettings} from '../../config/ui-settings';\n\nimport ypath from '../../common/thor/ypath';\n\nimport {AGGREGATOR_RADIO_ITEMS} from '../../constants/operations/statistics';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {getRecentPagesInfo} from '../../store/selectors/slideoutMenu';\nimport SettingsMenuItem from '../../containers/SettingsMenu/SettingsMenuItem';\nimport SettingsMenuRadio from '../../containers/SettingsMenu/SettingsMenuRadio';\nimport SettingsMenuInput from '../SettingsMenu/SettingsMenuInput';\nimport {\n getCurrentClusterNS,\n getCurrentUserName,\n getGlobalMasterVersion,\n getGlobalSchedulerVersion,\n getHttpProxyVersion,\n isDeveloperOrWatchMen,\n} from '../../store/selectors/global';\nimport {\n cellSizeRadioButtonItems,\n pageSizeRadioButtonItems,\n} from '../../constants/navigation/content/table';\nimport YT from '../../config/yt-config';\nimport Link from '../../components/Link/Link';\nimport Button from '../../components/Button/Button';\n\nexport interface SettingsPage {\n title: string;\n icon: IconProps;\n sections: Array<SettingsSection>;\n}\n\nexport interface SettingsSection {\n title: string;\n items: Array<SettingsItem>;\n}\n\nexport interface SettingsItem {\n title: string;\n align?: 'top' | 'center';\n content: React.ReactNode;\n}\n\nconst {oauthTokenUrl} = uiSettings;\n\nconst StartPageSettingMemo = React.memo(StartPageSetting);\n\nfunction wrapEscapeText(text: string) {\n return `<span class=\"unipika\"><span class=\"escape\">${text}</span></span>`;\n}\n\nfunction useSettings(cluster: string, isAdmin: boolean): Array<SettingsPage> {\n const clusterNS = useSelector(getCurrentClusterNS);\n\n const httpProxyVersion: string = useSelector(getHttpProxyVersion);\n const schedulerVersion: string = useSelector(getGlobalSchedulerVersion);\n const masterVersion: string = useSelector(getGlobalMasterVersion);\n\n return _compact([\n makePage('General', generalIcon, [\n makeItem('Start page', 'top', <StartPageSettingMemo />),\n makeItem(\n 'Use auto refresh',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.GLOBAL.AUTO_REFRESH}\n settingNS={NAMESPACES.GLOBAL}\n annotation=\"Automatically update pages with highly dynamic content\"\n oneLine={true}\n />,\n ),\n makeItem(\n 'Use recent clusters',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_CLUSTER_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited clusters appear at the top of cluster menu.'}\n oneLine\n />,\n ),\n makeItem(\n 'Use recent pages',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_PAGE_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited pages appear at the top of pages menu.'}\n oneLine\n />,\n ),\n ]),\n makePage('Appearance', paletteIcon, [\n makeItem(\n 'Theme',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.GLOBAL.THEME}\n settingNS={NAMESPACES.GLOBAL}\n items={[\n {value: 'light', text: 'Light'},\n {value: 'dark', text: 'Dark'},\n {value: 'system', text: 'System'},\n ]}\n />,\n ),\n makeItem(\n 'Contrast',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.A11Y.USE_SAFE_COLORS}\n settingNS={NAMESPACES.A11Y}\n convertValue={(value) => value === 'true'}\n items={[\n {value: 'false', text: 'Normal'},\n {value: 'true', text: 'High'},\n ]}\n />,\n ),\n ]),\n makePage(\n 'Development',\n closeTagIcon,\n _compact([\n isAdmin &&\n makeItem(\n \"Show regular user's UI\",\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.REGULAR_USER_UI}\n settingNS={NAMESPACES.DEVELOPMENT}\n label={\"Show regular user's UI\"}\n annotation={\n 'There is some difference in UI for development-team and regular users, ' +\n 'enabling of the option allows to see exactly the same what see a regular user.'\n }\n />,\n ),\n makeItem(\n 'Query Tracker Stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter stage...\"\n description=\"Default Query Tracker stage is 'production'. But you can reassign it with this setting.\"\n settingName={SettingName.QUERY_TRACKER.STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n makeItem(\n 'YQL agent stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter YQL agent stage...\"\n settingName={SettingName.QUERY_TRACKER.YQL_AGENT_STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n ]),\n ),\n\n makePage('Data', dataIcon, [\n makeItem(\n 'Data format',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.YSON.FORMAT}\n settingNS={NAMESPACES.YSON}\n items={[\n {\n value: 'yson',\n text: 'YSON',\n },\n {\n value: 'json',\n text: 'JSON',\n },\n {\n value: 'raw-json',\n text: 'Raw JSON',\n },\n ]}\n />,\n ),\n makeItem(\n 'Decode data as UTF8',\n 'top',\n <SettingsMenuItem\n oneLine={true}\n settingName={SettingName.YSON.SHOW_DECODED}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Attempt to decode UTF-8 strings. Show Unicode symbols upon success and mark ' +\n 'data as binary otherwise.'\n }\n annotationHighlight={\n 'Please note that YSON does not natively support Unicode symbols ' +\n '— therefore you would not be able to copy-paste presented YSON as is.'\n }\n />,\n ),\n makeItem(\n 'Binary as HEX',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.BINARY_AS_HEX}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Display binary strings as HEX sequences. Strings that were not decoded as UTF8 are therefore considered binary and ' +\n 'displayed as HEX sequences.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Escape and highlight',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.ESCAPE_WHITESPACES}\n settingNS={NAMESPACES.YSON}\n annotation={\n `Symbols ${wrapEscapeText('\\\\n')} and ${wrapEscapeText(\n '\\\\t',\n )} will be rendered as escape sequences, whitespaces will be ` +\n 'highlighted as neccessary. Does not affect Raw JSON format.'\n }\n annotationHighlight={\n 'Please note that JSON does not support unescaped control characters ' +\n '— therefore you would not be able to copy-paste presented JSON as is.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Compact view',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.COMPACT}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Single element lists are rendered inline, so are maps with one property. Does ' +\n 'not affect Raw JSON format.'\n }\n oneLine\n />,\n ),\n ]),\n makePage('System', systemIcon, [\n makeItem(\n 'Host type of Masters/Schedulers/Controller',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default view of host to display on in the Masters/Schedulers and Controller agents section.\"\n settingName={SettingName.SYSTEM.MASTERS_HOST_TYPE}\n settingNS={NAMESPACES.SYSTEM}\n items={mastersRadioButtonItems}\n />,\n ),\n ]),\n makePage('Operation', operationsIcon, [\n makeItem(\n \"Statistic's type\",\n 'top',\n <SettingsMenuRadio\n description=\"Select the default type of job aggregation.\"\n settingName={SettingName.OPERATIONS.STATISTICS_AGGREGATION_TYPE}\n settingNS={NAMESPACES.OPERATIONS}\n items={AGGREGATOR_RADIO_ITEMS}\n />,\n ),\n ]),\n makePage(\n 'Navigation',\n navigationIcon,\n _compact([\n clusterNS &&\n makeItem(\n 'Default path',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default navigation path...\"\n description=\"Cluster specific path that will be opened by default in the the Navigation page.\"\n validator={navigationPathValidator}\n settingName={SettingName.LOCAL.NAVIGATION_DEFAULT_PATH}\n settingNS={clusterNS}\n />,\n ),\n makeItem(\n 'Default chyt alias',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default chyt alias...\"\n description=\"User alias for the YQL Kit default query string in ClickHouse mode.\"\n validator={chytAliasValidator}\n settingName={SettingName.NAVIGATION.DEFAULT_CHYT_ALIAS}\n settingNS={NAMESPACES.NAVIGATION}\n />,\n ),\n makeItem(\n 'Use smart sort',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_SORT}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes with names that represent dates will be sorted from newest date to ' +\n 'oldest, while other nodes will be sorted alphabetically.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Group nodes by type',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.GROUP_NODES}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes will be grouped by type and each type will be sorted independently, ' +\n 'folders first, then tables, then files.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Use smart filter',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_FILTER}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={'Use logical operators in filter like \"and\" and \"or\"'}\n oneLine\n />,\n ),\n makeItem(\n 'Path autocorrection',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_PATH_AUTO_CORRECTION}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Autocorrect erroneous path if possible. ' +\n docsUrl(\n 'For details see ' +\n `<a class=\"link link_theme_normal\" href=\"${UIFactory.docsUrls['faq:enablepathautocorrection']}\" target=\"_blank\">FAQ</a>` +\n '.',\n )\n }\n oneLine\n />,\n ),\n ]),\n ),\n makePage('Components', componentsIcon, [\n makeItem(\n 'Enable side bar',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.COMPONENTS.ENABLE_SIDE_BAR}\n settingNS={NAMESPACES.COMPONENTS}\n annotation=\"Display node data in the side bar when clicked.\"\n oneLine={true}\n />,\n ),\n ]),\n\n makePage(\n 'Table',\n tableIcon,\n _compact([\n makeItem(\n 'YQL V3 types',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.YQL_TYPES}\n settingNS={NAMESPACES.DEVELOPMENT}\n oneLine\n />,\n ),\n makeItem(\n 'Rows per page',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default number of rows to display on one table page.\n The number can be changed for the specific table using table settings button.\"\n settingName={SettingName.NAVIGATION.ROWS_PER_TABLE_PAGE}\n settingNS={NAMESPACES.NAVIGATION}\n items={[\n {\n value: String(10),\n text: '10',\n },\n {\n value: String(50),\n text: '50',\n },\n {\n value: String(100),\n text: '100',\n },\n {\n value: String(200),\n text: '200',\n },\n ]}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Cell size limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default cell size limit for tables.\n The cell size limit for the specific table can be changed using table settings button.\"\n settingName={SettingName.NAVIGATION.MAXIMUM_TABLE_STRING_SIZE}\n settingNS={NAMESPACES.NAVIGATION}\n items={cellSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Default column limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default column limit for tables. In other words, how many columns will be shown\n when no column has even been hidden using ColumnSelector for the particular table or (if table\n similarity is enabled) for the similar table.\"\n settingName={SettingName.NAVIGATION.DEFAULT_TABLE_COLUMN_LIMIT}\n settingNS={NAMESPACES.NAVIGATION}\n items={pageSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Guess visible columns',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_TABLE_SIMILARITY}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Use table similarity for guessing visible columns. ' +\n 'Show same visible columns in table A as in table B if these tables are similar ' +\n 'and those columns have been previously set as visible for table B.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Allow raw string-values',\n 'top',\n <SettingsMenuItem\n annotation=\"Cells with string values will be displayed without escaping.\"\n settingName={SettingName.NAVIGATION.TABLE_DISPLAY_RAW_STRINGS}\n settingNS={NAMESPACES.NAVIGATION}\n oneLine\n />,\n ),\n ]),\n ),\n\n oauthTokenUrl &&\n makePage('Auth', shieldIcon, [\n makeItem(\n 'YT OAuth token',\n undefined,\n <Link url={oauthTokenUrl} target=\"_blank\">\n <Button size={'s'}>Show my token</Button>\n </Link>,\n ),\n ]),\n\n makePage(\n 'About',\n infoIcon,\n _compact([\n Boolean(cluster) && makeItem('HTTP proxy version', undefined, httpProxyVersion),\n Boolean(cluster) && makeItem('Scheduler version', undefined, schedulerVersion),\n Boolean(cluster) && makeItem('Master version', undefined, masterVersion),\n makeItem('Interface version', undefined, YT.parameters.interface.version),\n ]),\n ),\n ]);\n}\n\nexport function makePage(\n title: string,\n icon: IconProps | undefined,\n items: Array<SettingsItem>,\n): SettingsPage {\n return {title, icon: icon || generalIcon, sections: [{title, items}]};\n}\n\nexport function makeItem(\n title: string,\n align?: SettingsItem['align'],\n content?: React.ReactNode,\n): SettingsItem {\n return {title, align, content};\n}\n\nexport function useSettingsDescription(): Array<SettingsPage> {\n const isAdmin = useSelector(isDeveloperOrWatchMen) || true;\n const cluster = useClusterFromLocation();\n const login = useSelector(getCurrentUserName);\n\n const settings = useSettings(cluster, isAdmin);\n const externalSettings = UIFactory.getExternalSettings({cluster, isAdmin, login});\n\n const res = React.useMemo(() => {\n const extPages: Record<string, SettingsPage> = hashByTitle(externalSettings);\n return produce(settings, (pages) => {\n _forEach(pages, (page) => {\n const extPage = extPages[page.title];\n if (extPage) {\n delete extPages[page.title];\n const extSections = hashByTitle(extPage.sections);\n _forEach(page.sections, (section) => {\n const s = extSections[section.title];\n if (s) {\n delete extSections[section.title];\n section.items.push(...s.items);\n }\n });\n _forEach(extSections, (section) => {\n page.sections.push(section);\n });\n }\n });\n _forEach(extPages, (page) => {\n pages.splice(pages.length - 1, 0, page);\n });\n });\n }, [settings, externalSettings]);\n\n return res;\n}\n\nfunction hashByTitle<T extends {title: string}>(data: Array<T>) {\n return _reduce(\n data,\n (acc, item) => {\n acc[item.title] = item;\n return acc;\n },\n {} as Record<string, T>,\n );\n}\n\nfunction StartPageSetting() {\n const {all} = useSelector(getRecentPagesInfo);\n\n const pageItems = React.useMemo(() => {\n const headerPages = _filter(all, (page) => Boolean(page.header));\n return _map(headerPages, (page) => ({\n value: page.id,\n text: page.name,\n }));\n }, [all]);\n\n return (\n <SettingsMenuRadio\n settingName={SettingName.MENU.STARTING_PAGE}\n settingNS={NAMESPACES.MENU}\n items={pageItems}\n />\n );\n}\n\nfunction navigationPathValidator(value = '/') {\n if (!value) {\n return null;\n }\n\n try {\n ypath.YPath.create(value, 'absolute');\n return undefined;\n } catch (err) {\n return (err as Error)?.message || 'invalid path';\n }\n}\n\nfunction chytAliasValidator(value: string) {\n if (!value.startsWith('*') && value.length > 0) {\n return \"The alias should be started with a character '*'\";\n }\n\n return undefined;\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,QAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,YAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,aAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,WAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,QAAA,GAAAd,OAAA;AACA,IAAAe,eAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,eAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,eAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,WAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,UAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,SAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,WAAA,GAAArB,OAAA;AACA,IAAAsB,MAAA,GAAAtB,OAAA;AACA,IAAAuB,WAAA,GAAAvB,OAAA;AAEA,IAAAwB,MAAA,GAAAzB,sBAAA,CAAAC,OAAA;AAEA,IAAAyB,WAAA,GAAAzB,OAAA;AACA,IAAA0B,SAAA,GAAA1B,OAAA;AACA,IAAA2B,aAAA,GAAA3B,OAAA;AACA,IAAA4B,iBAAA,GAAA7B,sBAAA,CAAAC,OAAA;AACA,IAAA6B,kBAAA,GAAA9B,sBAAA,CAAAC,OAAA;AACA,IAAA8B,kBAAA,GAAA/B,sBAAA,CAAAC,OAAA;AACA,IAAA+B,OAAA,GAAA/B,OAAA;AAQA,IAAAgC,MAAA,GAAAhC,OAAA;AAIA,IAAAiC,SAAA,GAAAlC,sBAAA,CAAAC,OAAA;AACA,IAAAkC,KAAA,GAAAnC,sBAAA,CAAAC,OAAA;AACA,IAAAmC,OAAA,GAAApC,sBAAA,CAAAC,OAAA;AAAoD,IAAAoC,WAAA,GAAApC,OAAA;AAAA,SAAAD,uBAAAsC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAmBpD,IAAOG,aAAa,GAAIC,sBAAU,CAA3BD,aAAa;AAEpB,IAAME,oBAAoB,gBAAGC,cAAK,CAACC,IAAI,CAACC,gBAAgB,CAAC;AAEzD,SAASC,cAAcA,CAACC,IAAY,EAAE;EAClC,yDAAAC,MAAA,CAAqDD,IAAI;AAC7D;AAEA,SAASE,WAAWA,CAACC,OAAe,EAAEC,OAAgB,EAAuB;EACzE,IAAMC,SAAS,GAAG,IAAAC,uBAAW,EAACC,2BAAmB,CAAC;EAElD,IAAMC,gBAAwB,GAAG,IAAAF,uBAAW,EAACG,2BAAmB,CAAC;EACjE,IAAMC,gBAAwB,GAAG,IAAAJ,uBAAW,EAACK,iCAAyB,CAAC;EACvE,IAAMC,aAAqB,GAAG,IAAAN,uBAAW,EAACO,8BAAsB,CAAC;EAEjE,OAAO,IAAAC,iBAAQ,EAAC,CACZC,QAAQ,CAAC,SAAS,EAAEC,kBAAW,EAAE,CAC7BC,QAAQ,CAAC,YAAY,EAAE,KAAK,eAAE,IAAAC,eAAA,EAACvB,oBAAoB,IAAE,CAAC,CAAC,EACvDsB,QAAQ,CACJ,kBAAkB,EAClB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACC,MAAM,CAACC,YAAa;IAC7CC,SAAS,EAAEC,oBAAU,CAACH,MAAO;IAC7BI,UAAU,EAAC,wDAAwD;IACnEC,OAAO,EAAE;EAAK,CACjB,CACL,CAAC,EACDV,QAAQ,CACJ,qBAAqB,EACrB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACO,IAAI,CAACC,oBAAqB;IACnDL,SAAS,EAAEC,oBAAU,CAACG,IAAK;IAC3BF,UAAU,EAAE,8DAA+D;IAC3EC,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,kBAAkB,EAClB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACO,IAAI,CAACE,iBAAkB;IAChDN,SAAS,EAAEC,oBAAU,CAACG,IAAK;IAC3BF,UAAU,EAAE,yDAA0D;IACtEC,OAAO;EAAA,CACV,CACL,CAAC,CACJ,CAAC,EACFZ,QAAQ,CAAC,YAAY,EAAEgB,oBAAW,EAAE,CAChCd,QAAQ,CACJ,OAAO,EACP,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACdZ,WAAW,EAAEC,qBAAW,CAACC,MAAM,CAACW,KAAM;IACtCT,SAAS,EAAEC,oBAAU,CAACH,MAAO;IAC7BY,KAAK,EAAE,CACH;MAACC,KAAK,EAAE,OAAO;MAAEnC,IAAI,EAAE;IAAO,CAAC,EAC/B;MAACmC,KAAK,EAAE,MAAM;MAAEnC,IAAI,EAAE;IAAM,CAAC,EAC7B;MAACmC,KAAK,EAAE,QAAQ;MAAEnC,IAAI,EAAE;IAAQ,CAAC;EACnC,CACL,CACL,CAAC,EACDiB,QAAQ,CACJ,UAAU,EACV,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACdZ,WAAW,EAAEC,qBAAW,CAACe,IAAI,CAACC,eAAgB;IAC9Cb,SAAS,EAAEC,oBAAU,CAACW,IAAK;IAC3BE,YAAY,EAAE,SAAAA,aAACH,KAAK;MAAA,OAAKA,KAAK,KAAK,MAAM;IAAA,CAAC;IAC1CD,KAAK,EAAE,CACH;MAACC,KAAK,EAAE,OAAO;MAAEnC,IAAI,EAAE;IAAQ,CAAC,EAChC;MAACmC,KAAK,EAAE,MAAM;MAAEnC,IAAI,EAAE;IAAM,CAAC;EAC/B,CACL,CACL,CAAC,CACJ,CAAC,EACFe,QAAQ,CACJ,aAAa,EACbwB,qBAAY,EACZ,IAAAzB,iBAAQ,EAAC,CACLV,OAAO,IACHa,QAAQ,CACJ,wBAAwB,EACxB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACmB,WAAW,CAACC,eAAgB;IACrDjB,SAAS,EAAEC,oBAAU,CAACe,WAAY;IAClCE,KAAK,EAAE,wBAAyB;IAChChB,UAAU,EACN,yEAAyE,GACzE;EACH,CACJ,CACL,CAAC,EACLT,QAAQ,CACJ,qBAAqB,EACrB,KAAK,eACL,IAAAC,eAAA,EAACyB,0BAAiB;IACdC,WAAW,EAAC,gBAAgB;IAC5BC,WAAW,EAAC,yFAAyF;IACrGzB,WAAW,EAAEC,qBAAW,CAACyB,aAAa,CAACC,KAAM;IAC7CvB,SAAS,EAAEC,oBAAU,CAACqB;EAAc,CACvC,CACL,CAAC,EACD7B,QAAQ,CACJ,iBAAiB,EACjB,KAAK,eACL,IAAAC,eAAA,EAACyB,0BAAiB;IACdC,WAAW,EAAC,0BAA0B;IACtCxB,WAAW,EAAEC,qBAAW,CAACyB,aAAa,CAACE,eAAgB;IACvDxB,SAAS,EAAEC,oBAAU,CAACqB;EAAc,CACvC,CACL,CAAC,CACJ,CACL,CAAC,EAED/B,QAAQ,CAAC,MAAM,EAAEkC,iBAAQ,EAAE,CACvBhC,QAAQ,CACJ,aAAa,EACb,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACdZ,WAAW,EAAEC,qBAAW,CAAC6B,IAAI,CAACC,MAAO;IACrC3B,SAAS,EAAEC,oBAAU,CAACyB,IAAK;IAC3BhB,KAAK,EAAE,CACH;MACIC,KAAK,EAAE,MAAM;MACbnC,IAAI,EAAE;IACV,CAAC,EACD;MACImC,KAAK,EAAE,MAAM;MACbnC,IAAI,EAAE;IACV,CAAC,EACD;MACImC,KAAK,EAAE,UAAU;MACjBnC,IAAI,EAAE;IACV,CAAC;EACH,CACL,CACL,CAAC,EACDiB,QAAQ,CACJ,qBAAqB,EACrB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbQ,OAAO,EAAE,IAAK;IACdP,WAAW,EAAEC,qBAAW,CAAC6B,IAAI,CAACE,YAAa;IAC3C5B,SAAS,EAAEC,oBAAU,CAACyB,IAAK;IAC3BxB,UAAU,EACN,8EAA8E,GAC9E,2BACH;IACD2B,mBAAmB,EACf,kEAAkE,GAClE;EACH,CACJ,CACL,CAAC,EACDpC,QAAQ,CACJ,eAAe,EACf,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAAC6B,IAAI,CAACI,aAAc;IAC5C9B,SAAS,EAAEC,oBAAU,CAACyB,IAAK;IAC3BxB,UAAU,EACN,qHAAqH,GACrH,6BACH;IACDC,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,sBAAsB,EACtB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAAC6B,IAAI,CAACK,kBAAmB;IACjD/B,SAAS,EAAEC,oBAAU,CAACyB,IAAK;IAC3BxB,UAAU,EACN,WAAAzB,MAAA,CAAWF,cAAc,CAAC,KAAK,CAAC,WAAAE,MAAA,CAAQF,cAAc,CAClD,KACJ,CAAC,mEACD,6DACH;IACDsD,mBAAmB,EACf,sEAAsE,GACtE,6EACH;IACD1B,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,cAAc,EACd,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAAC6B,IAAI,CAACM,OAAQ;IACtChC,SAAS,EAAEC,oBAAU,CAACyB,IAAK;IAC3BxB,UAAU,EACN,gFAAgF,GAChF,6BACH;IACDC,OAAO;EAAA,CACV,CACL,CAAC,CACJ,CAAC,EACFZ,QAAQ,CAAC,QAAQ,EAAE0C,mBAAU,EAAE,CAC3BxC,QAAQ,CACJ,4CAA4C,EAC5C,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACda,WAAW,EAAC,wGAAwG;IACpHzB,WAAW,EAAEC,qBAAW,CAACqC,MAAM,CAACC,iBAAkB;IAClDnC,SAAS,EAAEC,oBAAU,CAACiC,MAAO;IAC7BxB,KAAK,EAAE0B;EAAwB,CAClC,CACL,CAAC,CACJ,CAAC,EACF7C,QAAQ,CAAC,WAAW,EAAE8C,uBAAc,EAAE,CAClC5C,QAAQ,CACJ,kBAAkB,EAClB,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACda,WAAW,EAAC,6CAA6C;IACzDzB,WAAW,EAAEC,qBAAW,CAACyC,UAAU,CAACC,2BAA4B;IAChEvC,SAAS,EAAEC,oBAAU,CAACqC,UAAW;IACjC5B,KAAK,EAAE8B;EAAuB,CACjC,CACL,CAAC,CACJ,CAAC,EACFjD,QAAQ,CACJ,YAAY,EACZkD,uBAAc,EACd,IAAAnD,iBAAQ,EAAC,CACLT,SAAS,IACLY,QAAQ,CACJ,cAAc,EACd,KAAK,eACL,IAAAC,eAAA,EAACyB,0BAAiB;IACdC,WAAW,EAAC,kCAAkC;IAC9CC,WAAW,EAAC,kFAAkF;IAC9FqB,SAAS,EAAEC,uBAAwB;IACnC/C,WAAW,EAAEC,qBAAW,CAAC+C,KAAK,CAACC,uBAAwB;IACvD7C,SAAS,EAAEnB;EAAU,CACxB,CACL,CAAC,EACLY,QAAQ,CACJ,oBAAoB,EACpB,KAAK,eACL,IAAAC,eAAA,EAACyB,0BAAiB;IACdC,WAAW,EAAC,6BAA6B;IACzCC,WAAW,EAAC,qEAAqE;IACjFqB,SAAS,EAAEI,kBAAmB;IAC9BlD,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACC,kBAAmB;IACvDhD,SAAS,EAAEC,oBAAU,CAAC8C;EAAW,CACpC,CACL,CAAC,EACDtD,QAAQ,CACJ,gBAAgB,EAChB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACE,cAAe;IACnDjD,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjC7C,UAAU,EACN,2EAA2E,GAC3E,0DACH;IACDC,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,qBAAqB,EACrB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACG,WAAY;IAChDlD,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjC7C,UAAU,EACN,4EAA4E,GAC5E,yCACH;IACDC,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,kBAAkB,EAClB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACI,gBAAiB;IACrDnD,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjC7C,UAAU,EAAE,qDAAsD;IAClEC,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,qBAAqB,EACrB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACK,2BAA4B;IAChEpD,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjC7C,UAAU,EACN,0CAA0C,GAC1C,IAAAmD,cAAO,EACH,kBAAkB,iDAAA5E,MAAA,CAC6B6E,kBAAS,CAACC,QAAQ,CAAC,8BAA8B,CAAC,iCAA2B,GACxH,GACR,CACH;IACDpD,OAAO;EAAA,CACV,CACL,CAAC,CACJ,CACL,CAAC,EACDZ,QAAQ,CAAC,YAAY,EAAEiE,uBAAc,EAAE,CACnC/D,QAAQ,CACJ,iBAAiB,EACjB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAAC4D,UAAU,CAACC,eAAgB;IACpD1D,SAAS,EAAEC,oBAAU,CAACwD,UAAW;IACjCvD,UAAU,EAAC,iDAAiD;IAC5DC,OAAO,EAAE;EAAK,CACjB,CACL,CAAC,CACJ,CAAC,EAEFZ,QAAQ,CACJ,OAAO,EACPoE,kBAAS,EACT,IAAArE,iBAAQ,EAAC,CACLG,QAAQ,CACJ,cAAc,EACd,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACmB,WAAW,CAAC4C,SAAU;IAC/C5D,SAAS,EAAEC,oBAAU,CAACe,WAAY;IAClCb,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,eAAe,EACf,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACda,WAAW,EAAC,+IACkE;IAC9EzB,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACc,mBAAoB;IACxD7D,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjCrC,KAAK,EAAE,CACH;MACIC,KAAK,EAAEmD,MAAM,CAAC,EAAE,CAAC;MACjBtF,IAAI,EAAE;IACV,CAAC,EACD;MACImC,KAAK,EAAEmD,MAAM,CAAC,EAAE,CAAC;MACjBtF,IAAI,EAAE;IACV,CAAC,EACD;MACImC,KAAK,EAAEmD,MAAM,CAAC,GAAG,CAAC;MAClBtF,IAAI,EAAE;IACV,CAAC,EACD;MACImC,KAAK,EAAEmD,MAAM,CAAC,GAAG,CAAC;MAClBtF,IAAI,EAAE;IACV,CAAC,CACH;IACFsC,YAAY,EAAEiD;EAAO,CACxB,CACL,CAAC,EACDtE,QAAQ,CACJ,iBAAiB,EACjB,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACda,WAAW,EAAC,uIAC2E;IACvFzB,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACiB,yBAA0B;IAC9DhE,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjCrC,KAAK,EAAEuD,+BAAyB;IAChCnD,YAAY,EAAEiD;EAAO,CACxB,CACL,CAAC,EACDtE,QAAQ,CACJ,sBAAsB,EACtB,KAAK,eACL,IAAAC,eAAA,EAACc,0BAAiB;IACda,WAAW,EAAC,yOAEkC;IAC9CzB,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACmB,0BAA2B;IAC/DlE,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjCrC,KAAK,EAAEyD,+BAAyB;IAChCrD,YAAY,EAAEiD;EAAO,CACxB,CACL,CAAC,EACDtE,QAAQ,CACJ,uBAAuB,EACvB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbC,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACqB,uBAAwB;IAC5DpE,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjC7C,UAAU,EACN,qDAAqD,GACrD,iFAAiF,GACjF,oEACH;IACDC,OAAO;EAAA,CACV,CACL,CAAC,EACDV,QAAQ,CACJ,yBAAyB,EACzB,KAAK,eACL,IAAAC,eAAA,EAACC,yBAAgB;IACbO,UAAU,EAAC,8DAA8D;IACzEN,WAAW,EAAEC,qBAAW,CAACkD,UAAU,CAACsB,yBAA0B;IAC9DrE,SAAS,EAAEC,oBAAU,CAAC8C,UAAW;IACjC5C,OAAO;EAAA,CACV,CACL,CAAC,CACJ,CACL,CAAC,EAEDlC,aAAa,IACTsB,QAAQ,CAAC,MAAM,EAAE+E,mBAAU,EAAE,CACzB7E,QAAQ,CACJ,gBAAgB,EAChB8E,SAAS,eACT,IAAA7E,eAAA,EAAC8E,aAAI;IAACC,GAAG,EAAExG,aAAc;IAACyG,MAAM,EAAC,QAAQ;IAAAC,QAAA,eACrC,IAAAjF,eAAA,EAACkF,eAAM;MAACC,IAAI,EAAE,GAAI;MAAAF,QAAA,EAAC;IAAa,CAAQ;EAAC,CACvC,CACV,CAAC,CACJ,CAAC,EAENpF,QAAQ,CACJ,OAAO,EACPuF,iBAAQ,EACR,IAAAxF,iBAAQ,EAAC,CACLyF,OAAO,CAACpG,OAAO,CAAC,IAAIc,QAAQ,CAAC,oBAAoB,EAAE8E,SAAS,EAAEvF,gBAAgB,CAAC,EAC/E+F,OAAO,CAACpG,OAAO,CAAC,IAAIc,QAAQ,CAAC,mBAAmB,EAAE8E,SAAS,EAAErF,gBAAgB,CAAC,EAC9E6F,OAAO,CAACpG,OAAO,CAAC,IAAIc,QAAQ,CAAC,gBAAgB,EAAE8E,SAAS,EAAEnF,aAAa,CAAC,EACxEK,QAAQ,CAAC,mBAAmB,EAAE8E,SAAS,EAAES,iBAAE,CAACC,UAAU,aAAU,CAACC,OAAO,CAAC,CAC5E,CACL,CAAC,CACJ,CAAC;AACN;AAEO,SAAS3F,QAAQA,CACpB4F,KAAa,EACbC,IAA2B,EAC3B1E,KAA0B,EACd;EACZ,OAAO;IAACyE,KAAK,EAALA,KAAK;IAAEC,IAAI,EAAEA,IAAI,IAAI5F,kBAAW;IAAE6F,QAAQ,EAAE,CAAC;MAACF,KAAK,EAALA,KAAK;MAAEzE,KAAK,EAALA;IAAK,CAAC;EAAC,CAAC;AACzE;AAEO,SAASjB,QAAQA,CACpB0F,KAAa,EACbG,KAA6B,EAC7BC,OAAyB,EACb;EACZ,OAAO;IAACJ,KAAK,EAALA,KAAK;IAAEG,KAAK,EAALA,KAAK;IAAEC,OAAO,EAAPA;EAAO,CAAC;AAClC;AAEO,SAASC,sBAAsBA,CAAA,EAAwB;EAC1D,IAAM5G,OAAO,GAAG,IAAAE,uBAAW,EAAC2G,6BAAqB,CAAC,IAAI,IAAI;EAC1D,IAAM9G,OAAO,GAAG,IAAA+G,kCAAsB,EAAC,CAAC;EACxC,IAAMC,KAAK,GAAG,IAAA7G,uBAAW,EAAC8G,0BAAkB,CAAC;EAE7C,IAAMC,QAAQ,GAAGnH,WAAW,CAACC,OAAO,EAAEC,OAAO,CAAC;EAC9C,IAAMkH,gBAAgB,GAAGxC,kBAAS,CAACyC,mBAAmB,CAAC;IAACpH,OAAO,EAAPA,OAAO;IAAEC,OAAO,EAAPA,OAAO;IAAE+G,KAAK,EAALA;EAAK,CAAC,CAAC;EAEjF,IAAMK,GAAG,GAAG5H,cAAK,CAAC6H,OAAO,CAAC,YAAM;IAC5B,IAAMC,QAAsC,GAAGC,WAAW,CAACL,gBAAgB,CAAC;IAC5E,OAAO,IAAAM,cAAO,EAACP,QAAQ,EAAE,UAACQ,KAAK,EAAK;MAChC,IAAAC,iBAAQ,EAACD,KAAK,EAAE,UAACE,IAAI,EAAK;QACtB,IAAMC,OAAO,GAAGN,QAAQ,CAACK,IAAI,CAACpB,KAAK,CAAC;QACpC,IAAIqB,OAAO,EAAE;UACT,OAAON,QAAQ,CAACK,IAAI,CAACpB,KAAK,CAAC;UAC3B,IAAMsB,WAAW,GAAGN,WAAW,CAACK,OAAO,CAACnB,QAAQ,CAAC;UACjD,IAAAiB,iBAAQ,EAACC,IAAI,CAAClB,QAAQ,EAAE,UAACqB,OAAO,EAAK;YACjC,IAAMC,CAAC,GAAGF,WAAW,CAACC,OAAO,CAACvB,KAAK,CAAC;YACpC,IAAIwB,CAAC,EAAE;cAAA,IAAAC,cAAA;cACH,OAAOH,WAAW,CAACC,OAAO,CAACvB,KAAK,CAAC;cACjC,CAAAyB,cAAA,GAAAF,OAAO,CAAChG,KAAK,EAACmG,IAAI,CAAAC,KAAA,CAAAF,cAAA,MAAAG,2BAAA,EAAIJ,CAAC,CAACjG,KAAK,EAAC;YAClC;UACJ,CAAC,CAAC;UACF,IAAA4F,iBAAQ,EAACG,WAAW,EAAE,UAACC,OAAO,EAAK;YAC/BH,IAAI,CAAClB,QAAQ,CAACwB,IAAI,CAACH,OAAO,CAAC;UAC/B,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;MACF,IAAAJ,iBAAQ,EAACJ,QAAQ,EAAE,UAACK,IAAI,EAAK;QACzBF,KAAK,CAACW,MAAM,CAACX,KAAK,CAACY,MAAM,GAAG,CAAC,EAAE,CAAC,EAAEV,IAAI,CAAC;MAC3C,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,EAAE,CAACV,QAAQ,EAAEC,gBAAgB,CAAC,CAAC;EAEhC,OAAOE,GAAG;AACd;AAEA,SAASG,WAAWA,CAA4Be,IAAc,EAAE;EAC5D,OAAO,IAAAC,gBAAO,EACVD,IAAI,EACJ,UAACE,GAAG,EAAEC,IAAI,EAAK;IACXD,GAAG,CAACC,IAAI,CAAClC,KAAK,CAAC,GAAGkC,IAAI;IACtB,OAAOD,GAAG;EACd,CAAC,EACD,CAAC,CACL,CAAC;AACL;AAEA,SAAS9I,gBAAgBA,CAAA,EAAG;EACxB,IAAAgJ,YAAA,GAAc,IAAAxI,uBAAW,EAACyI,gCAAkB,CAAC;IAAtCC,GAAG,GAAAF,YAAA,CAAHE,GAAG;EAEV,IAAMC,SAAS,GAAGrJ,cAAK,CAAC6H,OAAO,CAAC,YAAM;IAClC,IAAMyB,WAAW,GAAG,IAAAC,gBAAO,EAACH,GAAG,EAAE,UAACjB,IAAI;MAAA,OAAKxB,OAAO,CAACwB,IAAI,CAACqB,MAAM,CAAC;IAAA,EAAC;IAChE,OAAO,IAAAC,aAAI,EAACH,WAAW,EAAE,UAACnB,IAAI;MAAA,OAAM;QAChC5F,KAAK,EAAE4F,IAAI,CAACuB,EAAE;QACdtJ,IAAI,EAAE+H,IAAI,CAACwB;MACf,CAAC;IAAA,CAAC,CAAC;EACP,CAAC,EAAE,CAACP,GAAG,CAAC,CAAC;EAET,oBACI,IAAA9H,eAAA,EAACc,0BAAiB;IACdZ,WAAW,EAAEC,qBAAW,CAACO,IAAI,CAAC4H,aAAc;IAC5ChI,SAAS,EAAEC,oBAAU,CAACG,IAAK;IAC3BM,KAAK,EAAE+G;EAAU,CACpB,CAAC;AAEV;AAEA,SAAS9E,uBAAuBA,CAAA,EAAc;EAAA,IAAbhC,KAAK,GAAAsH,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAA1D,SAAA,GAAA0D,SAAA,MAAG,GAAG;EACxC,IAAI,CAACtH,KAAK,EAAE;IACR,OAAO,IAAI;EACf;EAEA,IAAI;IACAuH,cAAK,CAACC,KAAK,CAACC,MAAM,CAACzH,KAAK,EAAE,UAAU,CAAC;IACrC,OAAO4D,SAAS;EACpB,CAAC,CAAC,OAAO8D,GAAG,EAAE;IACV,OAAO,CAACA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAYC,OAAO,KAAI,cAAc;EACpD;AACJ;AAEA,SAASxF,kBAAkBA,CAACnC,KAAa,EAAE;EACvC,IAAI,CAACA,KAAK,CAAC4H,UAAU,CAAC,GAAG,CAAC,IAAI5H,KAAK,CAACsG,MAAM,GAAG,CAAC,EAAE;IAC5C,OAAO,kDAAkD;EAC7D;EAEA,OAAO1C,SAAS;AACpB"}
|