Submit
Path:
~
/
/
opt
/
psa
/
admin
/
cp
/
public
/
javascript
/
components
/
pages
/
File Content:
HomePage.js.map
{"version":3,"file":"javascript/components/pages/HomePage.js?846ea1c1d9fce7b78fa8","mappings":"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","sources":["webpack:///./components/List.js","webpack:///./components/common/ApolloErrorMessage.js","webpack:///./components/common/CopyToClipboardButton.tsx","webpack:///./components/common/SkeletonWrapper.tsx","webpack:///./components/forms/ScheduledBackupForm/ScheduleSection/Schedule.js","webpack:///./components/forms/ScheduledBackupForm/SettingsSection/Content.js","webpack:///./components/forms/ScheduledBackupForm/SettingsSection/Promo.js","webpack:///./components/forms/ScheduledBackupForm/SettingsSection/Storage.js","webpack:///./components/lists/ScheduledBackupList.js","webpack:///./components/pages/HomePage/Backup/Backup.js","webpack:///./components/pages/HomePage/Backup/Details.js","webpack:///./components/pages/HomePage/ChangeLog/ChangeLog.js","webpack:///./components/pages/HomePage/ChangeLog/Feed.js","webpack:///./components/pages/HomePage/CustomButtons/CustomButtons.js","webpack:///./components/pages/HomePage/EmptyView.js","webpack:///./components/pages/HomePage/Extension/AsyncContent.js","webpack:///./components/pages/HomePage/Extension/Content.js","webpack:///./components/pages/HomePage/Extension/Extension.js","webpack:///./components/pages/HomePage/HomePage.js","webpack:///./components/pages/HomePage/IpBan/IpBan.js","webpack:///./components/pages/HomePage/IpBan/Statistics.js","webpack:///./components/pages/HomePage/MailQueue/MailQueue.js","webpack:///./components/pages/HomePage/MailQueue/Statistics.js","webpack:///./components/pages/HomePage/MySubscriptions/MySubscriptions.js","webpack:///./components/pages/HomePage/OverusedSubscriptions/OverusedSubscriptions.js","webpack:///./components/pages/HomePage/OverusedSubscriptions/SubscriptionsList.js","webpack:///./components/pages/HomePage/Promo/Carousel.tsx","webpack:///./components/pages/HomePage/Promo/Promo.js","webpack:///./components/pages/HomePage/Promo/PromoContent.js","webpack:///./components/pages/HomePage/Promo/content/BaseContent.js","webpack:///./components/pages/HomePage/Promo/content/Customize.js","webpack:///./components/pages/HomePage/Promo/content/Extension.js","webpack:///./components/pages/HomePage/Promo/content/SwitchToPUV.js","webpack:///./components/pages/HomePage/PromoNewHomeView.js","webpack:///./components/pages/HomePage/ServerInfo/Block.js","webpack:///./components/pages/HomePage/ServerInfo/ServerInfo.js","webpack:///./components/pages/HomePage/SystemMessages/BaseMessage.js","webpack:///./components/pages/HomePage/SystemMessages/SystemMessages.js","webpack:///./components/pages/HomePage/SystemMessages/UpgradeFailureNotification.js","webpack:///./components/pages/HomePage/SystemMessages/WebserverConfigurationFailure.js","webpack:///./components/pages/HomePage/SystemMessages/constants.js","webpack:///./components/pages/HomePage/Updates/MediaBlock.js","webpack:///./components/pages/HomePage/Updates/ProductUpdates.js","webpack:///./components/pages/HomePage/Updates/PumUpdates.js","webpack:///./components/pages/HomePage/Updates/Updates.js","webpack:///./components/pages/HomePage/common/Footer.js","webpack:///./components/pages/HomePage/common/Label.js","webpack:///./components/pages/HomePage/common/Panel.js","webpack:///./components/pages/HomePage/common/TitleIcon.js","webpack:///./components/pages/HomePage/common/iconsMap.js","webpack:///./components/pages/HomePage/common/withPanelLayout.js","webpack:///./helpers/getGraphQlErrorMessage.ts","webpack:///./helpers/statusReason.ts","webpack:///./images/home-empty-locked.png","webpack:///./images/home-empty.png","webpack:///./images/home-switch-to-puv.svg","webpack:///./images/rocket.svg","webpack:///./images/wave.png","webpack:///./components/pages/HomePage/Backup/Backup.graphql","webpack:///./components/pages/HomePage/ChangeLog/ChangeLog.graphql","webpack:///./components/pages/HomePage/CustomButtons/CustomButtons.graphql","webpack:///./components/pages/HomePage/Extension/Extension.graphql","webpack:///./components/pages/HomePage/IpBan/IpBan.graphql","webpack:///./components/pages/HomePage/MailQueue/CleanQueue.graphql","webpack:///./components/pages/HomePage/MailQueue/MailQueue.graphql","webpack:///./components/pages/HomePage/Promo/Promo.graphql","webpack:///./components/pages/HomePage/Updates/CheckUpdates.graphql","webpack:///./components/pages/HomePage/Updates/InstallUpdates.graphql","webpack:///./components/pages/HomePage/Updates/PumUpdates.graphql","webpack:///./components/pages/HomePage/queries/HideSystemMessage.graphql","webpack:///./components/pages/HomePage/queries/Layout.graphql","webpack:///./components/pages/HomePage/queries/ToggleBlock.graphql","webpack:///./components/pages/HomePage/queries/UpdateLayout.graphql","webpack:///./queries/HideHomeViewPromo.graphql","webpack:///./queries/SwitchHomeView.graphql"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { List as BaseList, Pagination, SearchBar, Toolbar, ToolbarGroup, ToolbarExpander, ListEmptyView } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\n\nconst listLocale = Locale.getSection('components.list');\n\nexport const SORT_ASC = 'ASC';\nexport const SORT_DESC = 'DESC';\nconst ALL_ITEMS_PER_PAGE = 'all';\n\nconst getRowKey = (row, key) => {\n if (typeof key === 'function') {\n return key(row);\n }\n return row[key];\n};\n\nconst storage = {\n set(key, data) {\n localStorage.setItem(key, JSON.stringify(data));\n },\n get(key) {\n const data = localStorage.getItem(key);\n return JSON.parse(data);\n },\n};\n\nconst getSortListName = id => `list-sort_${id}`;\nconst getPageListName = id => `list-page_${id}`;\n\nconst useSortState = (id, {\n sortColumn: defaultColumn,\n sortDirection: defaultDirection,\n}) => {\n const [{\n sortColumn,\n sortDirection,\n }, setState] = useState({\n sortColumn: storage.get(getSortListName(id))?.sortColumn ?? defaultColumn,\n sortDirection: storage.get(getSortListName(id))?.sortDirection ?? defaultDirection,\n });\n\n const setSortState = props => {\n setState(state => ({\n ...state,\n ...props,\n }));\n\n storage.set(getSortListName(id), {\n ...storage.get(getSortListName(id)),\n ...props,\n });\n };\n\n return { sortColumn, sortDirection, setSortState };\n};\n\nconst usePageState = (id, {\n itemsPerPage: defaultItemsPerPage,\n}, useStorage = true) => {\n const state = useStorage ? {\n page: storage.get(getPageListName(id))?.page,\n itemsPerPage: storage.get(getPageListName(id))?.itemsPerPage,\n searchPattern: storage.get(getPageListName(id))?.searchPattern,\n } : {};\n\n const [{\n page,\n itemsPerPage,\n searchPattern,\n }, setState] = useState({\n page: state.page ?? 1,\n itemsPerPage: state.itemsPerPage ?? defaultItemsPerPage,\n searchPattern: state.searchPattern ?? '',\n });\n\n const setPageState = props => {\n setState(state => ({\n ...state,\n ...props,\n }));\n\n if (useStorage) {\n storage.set(getPageListName(id), {\n ...storage.get(getPageListName(id)),\n ...props,\n });\n }\n };\n\n return { page, itemsPerPage, searchPattern, setPageState };\n};\n\nconst List = ({\n id,\n data,\n columns,\n itemsPerPage: defaultItemsPerPage = 25,\n itemsPerPageOptions = [10, 25, 100, ALL_ITEMS_PER_PAGE],\n sortColumn: defaultSortColumn = undefined,\n sortDirection: defaultSortDirection = SORT_ASC,\n searchField = undefined,\n locale = {},\n emptyView = undefined,\n emptyFilteredView = undefined,\n toolbar = undefined,\n selection = [],\n onSelectionChange = undefined,\n searchBarInputProps = undefined,\n rowKey = 'key',\n useStorage = true,\n ...props\n}) => {\n const { sortColumn, sortDirection, setSortState } = useSortState(id, {\n sortColumn: defaultSortColumn ?? columns.find(({ sortable }) => sortable)?.key,\n sortDirection: defaultSortDirection,\n });\n const { page, itemsPerPage, searchPattern, setPageState } = usePageState(id, {\n itemsPerPage: itemsPerPageOptions.includes(defaultItemsPerPage) ? defaultItemsPerPage : itemsPerPageOptions[0],\n }, useStorage);\n\n const listEmptyView = useMemo(() => {\n if (searchPattern) {\n return emptyFilteredView ?? (\n <ListEmptyView\n reason=\"filtered\"\n data-testid=\"list-empty-view-filtered\"\n />\n );\n }\n\n return emptyView ?? (\n <ListEmptyView />\n );\n }, [searchPattern, emptyView, emptyFilteredView]);\n\n const columnsData = useMemo(() => columns.map(({ sortDataField, ...column }) => column), [columns]);\n\n const filteredData = useMemo(() => {\n if (!searchField || !searchPattern) {\n return data;\n }\n\n return data.filter(row => (Array.isArray(searchField) ? searchField : [searchField])\n .some(field => row[field] && String(row[field]).toLowerCase().includes(searchPattern.toLowerCase())));\n }, [data, searchPattern, searchField]);\n\n const sortedData = useMemo(() => {\n if (!sortColumn) {\n return filteredData;\n }\n\n const sortDataField = columns.find(({ key }) => key === sortColumn)?.sortDataField ?? sortColumn;\n const defaultCompare = (a, b) => {\n if (a[sortDataField] < b[sortDataField]) {\n return -1;\n }\n if (a[sortDataField] > b[sortDataField]) {\n return 1;\n }\n return 0;\n };\n const compare = columns.find(({ key }) => key === sortColumn)?.sort ?? defaultCompare;\n return [...filteredData].sort((a, b) => SORT_ASC === sortDirection ? compare(a, b) : compare(b, a));\n }, [filteredData, sortColumn, sortDirection, columns]);\n\n const displayData = useMemo(() => {\n if (itemsPerPage === ALL_ITEMS_PER_PAGE) {\n return sortedData;\n }\n\n const from = itemsPerPage * (page - 1);\n const to = from + itemsPerPage;\n return sortedData.slice(from, to);\n }, [page, sortedData, itemsPerPage]);\n\n const handleSearchPatternChange = useCallback(term => {\n setPageState({ searchPattern: term });\n if (term !== searchPattern) {\n setPageState({ page: 1 });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchPattern]);\n\n const handleItemsPerPageChange = useCallback(itemsPerPage => {\n setPageState({ itemsPerPage });\n const countPages = itemsPerPage === ALL_ITEMS_PER_PAGE ? 1 : Math.ceil(filteredData.length / itemsPerPage);\n if (countPages < page) {\n setPageState({ page: 1 });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filteredData.length, page]);\n\n useEffect(() => {\n if (typeof onSelectionChange === 'function' && selection.length) {\n const newSelection = filteredData\n .map(item => getRowKey(item, rowKey))\n .filter(key => selection.includes(key));\n onSelectionChange(newSelection);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filteredData]);\n\n return (\n <BaseList\n pagination={\n <Pagination\n current={page}\n total={itemsPerPage === ALL_ITEMS_PER_PAGE ? 1 : Math.ceil(filteredData.length / itemsPerPage)}\n onSelect={page => setPageState({ page })}\n itemsPerPage={itemsPerPage}\n itemsPerPageOptions={itemsPerPageOptions}\n onItemsPerPageChange={handleItemsPerPageChange}\n />\n }\n toolbar={(toolbar || searchField) && (\n <Toolbar>\n {toolbar}\n {searchField && (\n <>\n <ToolbarExpander />\n <ToolbarGroup title=\"\">\n <SearchBar\n inputProps={{\n placeholder: listLocale.lmsg('searchPlaceholder'),\n 'data-testid': 'list-searchbar',\n value: searchPattern,\n ...(searchBarInputProps ?? {}),\n }}\n onTyping={handleSearchPatternChange}\n />\n </ToolbarGroup>\n </>\n )}\n </Toolbar>\n )}\n totalRows={filteredData.length}\n sortColumn={sortColumn}\n sortDirection={sortDirection}\n onSortChange={setSortState}\n columns={columnsData}\n data={displayData}\n filtered={!!searchPattern}\n locale={{\n totalRows: ({ totalRows: total }) => listLocale.formatMessage('recordsTotal', { total }),\n ...locale,\n }}\n emptyView={listEmptyView}\n onSelectionChange={onSelectionChange}\n selection={selection}\n rowKey={rowKey}\n {...props}\n />\n );\n};\n\nList.propTypes = {\n id: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n columns: PropTypes.array.isRequired,\n itemsPerPage: PropTypes.number,\n itemsPerPageOptions: PropTypes.array,\n sortColumn: PropTypes.string,\n sortDirection: PropTypes.string,\n searchField: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string.isRequired),\n ]),\n locale: PropTypes.object,\n emptyView: PropTypes.node,\n emptyFilteredView: PropTypes.node,\n toolbar: PropTypes.node,\n onSelectionChange: PropTypes.func,\n selection: PropTypes.array,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n searchBarInputProps: PropTypes.object,\n useStorage: PropTypes.bool,\n};\n\nexport default List;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { StatusMessage } from '@plesk/ui-library';\nimport { getGraphQlErrorMessage } from 'helpers/getGraphQlErrorMessage';\n\n\nconst ApolloErrorMessage = ({ error }) => {\n if (error.networkError?.statusCode === 400) {\n return null;\n }\n return <StatusMessage intent=\"danger\">{getGraphQlErrorMessage(error)}</StatusMessage>;\n};\n\nApolloErrorMessage.propTypes = {\n error: PropTypes.shape({\n message: PropTypes.string.isRequired,\n networkError: PropTypes.shape({\n statusCode: PropTypes.number,\n }),\n }).isRequired,\n};\n\nexport default ApolloErrorMessage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button, ButtonProps, copyToClipboard } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport React, { ReactNode } from 'react';\n\nconst locale = Locale.getSection('components.buttons');\n\ntype CopyToClipboardButtonProps = {\n id?: string;\n content: string;\n className?: string;\n icon?: ButtonProps['icon'];\n tooltip?: ButtonProps['tooltip'];\n onCopy?: () => void;\n children?: ReactNode;\n};\n\nconst CopyToClipboardButton: React.FC<CopyToClipboardButtonProps> = ({\n id,\n content,\n icon = 'copy',\n className,\n tooltip = locale.lmsg('copyToClipboard'),\n onCopy = () => { },\n children,\n}) => (\n <Button\n className={className}\n ghost\n icon={icon}\n tooltip={tooltip}\n tooltipAsLabel\n onClick={() => {\n copyToClipboard(content);\n onCopy();\n }}\n data-action={`copy-to-clipboard${id ? `-${id}` : ''}`}\n >\n {children}\n </Button>\n);\n\nexport default CopyToClipboardButton;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\nimport { ReactNode } from 'react';\n\ntype SkeletonWrapperProps = {\n loading: boolean;\n fallback: ReactNode;\n children: ReactNode;\n};\n\nconst SkeletonWrapper = ({ loading, fallback, children }: SkeletonWrapperProps) => (\n <TransitionGroup>\n <CSSTransition\n key={loading.toString()}\n classNames=\"skeleton-wrapper\"\n timeout={500}\n >\n <div>{loading ? fallback : children}</div>\n </CSSTransition>\n </TransitionGroup>\n);\n\nexport default SkeletonWrapper;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { FormField, SelectOption, getIn, Select } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('components.forms.backup.schedule');\nconst locale = Locale.getSection('components.forms.backup.schedule');\nconst DayOfWeekTranslate = Locale.getTranslate('smb.components.days-of-week');\n\nexport const PERIOD_HOURLY = 3600;\nexport const PERIOD_DAILY = 86400;\nexport const PERIOD_WEEKLY = 604800;\nexport const PERIOD_MONTHLY = 2592000;\nexport const PERIOD_YEARLY = 31536000;\n\nconst Schedule = ({\n showHourlyOption = false,\n period,\n timezone = null,\n hidePeriod = false,\n values,\n handleFieldChange,\n}) => (\n <FormField\n label={<Translate content=\"backupPeriod\" />}\n name=\"schedule[period]\"\n description={<Translate content=\"backupTimeDescription\" params={{ timezone: timezone ?? <Translate content=\"systemTimeZone\" /> }} />}\n >\n {({ isDisabled }) => (\n <>\n {!hidePeriod && (\n <Select\n size=\"sm\"\n name=\"schedule[backupPeriod]\"\n id=\"schedule-backupPeriod\"\n value={period}\n onChange={value => handleFieldChange('backupPeriod', value)}\n disabled={isDisabled()}\n >\n {(showHourlyOption || getIn(values, 'backupPeriod') === PERIOD_HOURLY) && (\n <SelectOption value={PERIOD_HOURLY} label=\"hourly\"><Translate content=\"hourly\" /></SelectOption>\n )}\n <SelectOption value={PERIOD_DAILY} label=\"daily\"><Translate content=\"daily\" /></SelectOption>\n <SelectOption value={PERIOD_WEEKLY} label=\"weekly\"><Translate content=\"weekly\" /></SelectOption>\n <SelectOption value={PERIOD_MONTHLY} label=\"monthly\"><Translate content=\"monthly\" /></SelectOption>\n </Select>\n )}\n {period === PERIOD_WEEKLY && (\n <>\n {' '}\n <Translate content=\"on\" />\n {' '}\n <Select\n size=\"sm\"\n name=\"schedule[dayOfWeek]\"\n id=\"schedule-dayOfWeek\"\n value={getIn(values, 'dayOfWeek')}\n onChange={value => handleFieldChange('dayOfWeek', value)}\n disabled={isDisabled()}\n >\n {[7, 1, 2, 3, 4, 5, 6].map(day => (\n <SelectOption value={day} label={`${day}`} key={day}>\n <DayOfWeekTranslate content={Math.max((day + 1) % 8, 1)} />\n </SelectOption>\n ))}\n </Select>\n </>\n )}\n {period === PERIOD_MONTHLY && (\n <>\n {' '}\n <Translate content=\"on\" />\n {' '}\n <Select\n size=\"xs\"\n name=\"schedule[dayOfMonth]\"\n id=\"schedule-dayOfMonth\"\n value={getIn(values, 'dayOfMonth')}\n onChange={value => handleFieldChange('dayOfMonth', value)}\n disabled={isDisabled()}\n >\n {Object.keys(new Array(31).fill(0)).map(value => {\n const day = +value + 1;\n return (\n <SelectOption value={day} label={`${day}`} key={day}>\n {day === 1 || day === 31 ? <Translate content={day === 1 ? 'first' : 'last'} /> : day}\n </SelectOption>\n );\n })}\n </Select>\n {' '}\n <Translate content=\"dayOfMonth\" />\n </>\n )}\n {period === PERIOD_HOURLY ? (\n <>\n {' '}\n <Translate content=\"every\" />\n {' '}\n <Select\n size=\"xs\"\n name=\"schedule[hourPerDay]\"\n id=\"schedule-hourPerDay\"\n value={getIn(values, 'hourPerDay')}\n onChange={value => handleFieldChange('hourPerDay', value)}\n disabled={isDisabled()}\n >\n {[1, 2, 3, 4, 6, 8, 12].map(hours => (\n <SelectOption value={hours * PERIOD_HOURLY} label={`${hours}`} key={hours}>{hours}</SelectOption>\n ))}\n </Select>\n {' '}\n {locale.formatMessage('hours', { period: getIn(values, 'hourPerDay') / PERIOD_HOURLY })}\n </>\n ) : (\n <>\n {' '}\n <Translate content=\"at\" />\n {' '}\n <Select\n size=\"xs\"\n name=\"schedule[hour]\"\n id=\"schedule-hour\"\n value={getIn(values, 'hour')}\n onChange={value => handleFieldChange('hour', value)}\n disabled={isDisabled()}\n >\n {Object.keys(new Array(24).fill(0)).map(value => {\n const hour = +value;\n return (\n <SelectOption value={hour} label={`${hour}`} key={hour}>\n {`${hour < 10 ? '0' : ''}${hour}`}\n </SelectOption>\n );\n })}\n </Select>\n {' : '}\n <Select\n size=\"xs\"\n name=\"schedule[minute]\"\n id=\"schedule-minute\"\n value={getIn(values, 'minute')}\n onChange={value => handleFieldChange('minute', value)}\n disabled={isDisabled()}\n >\n {[0, 15, 30, 45].map(minute => (\n <SelectOption value={minute} label={`${minute}`} key={minute}>\n {`${minute < 10 ? '0' : ''}${minute}`}\n </SelectOption>\n ))}\n </Select>\n </>\n )}\n </>\n )}\n </FormField>\n);\n\nSchedule.propTypes = {\n showHourlyOption: PropTypes.bool,\n period: PropTypes.number.isRequired,\n timezone: PropTypes.string,\n hidePeriod: PropTypes.bool,\n values: PropTypes.object.isRequired,\n handleFieldChange: PropTypes.func.isRequired,\n};\n\nexport default Schedule;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { FormFieldCheckbox, FormField, getIn } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('components.forms.backup.subform');\n\nexport const TYPE_CONFIGURATION = 'configuration';\nexport const TYPE_MAIL = 'backup_content_mail';\nexport const TYPE_FILES = 'backup_content_file';\nexport const TYPE_DATABASE = 'backup_content_database';\n\nconst Content = ({ isMailServiceSupported, values, handleFieldChange }) => {\n const content = getIn(values, 'content[content_type]');\n const handleContentChange = (type, value) => handleFieldChange(\n 'content_type',\n 'content',\n value ? [...content, type] : content.filter(val => val !== type),\n );\n\n return (\n <FormField\n label={<Translate content=\"content\" />}\n name=\"backup[content][content_type]\"\n >\n <FormFieldCheckbox\n label={<Translate content=\"domainConfiguration\" />}\n id={`backup-content-content_type-${TYPE_CONFIGURATION}`}\n disabled\n value={content.includes(TYPE_CONFIGURATION)}\n />\n {isMailServiceSupported && (\n <FormFieldCheckbox\n label={<Translate content=\"domainConfigurationMail\" />}\n id={`backup-content-content_type-${TYPE_MAIL}`}\n value={content.includes(TYPE_MAIL)}\n onChange={value => handleContentChange(TYPE_MAIL, value)}\n />\n )}\n <FormFieldCheckbox\n label={<Translate content=\"domainConfigurationFile\" />}\n id={`backup-content-content_type-${TYPE_FILES}`}\n value={content.includes(TYPE_FILES)}\n onChange={value => handleContentChange(TYPE_FILES, value)}\n />\n <FormFieldCheckbox\n label={<Translate content=\"domainConfigurationDatabase\" />}\n id={`backup-content-content_type-${TYPE_DATABASE}`}\n value={content.includes(TYPE_DATABASE)}\n onChange={value => handleContentChange(TYPE_DATABASE, value)}\n />\n </FormField>\n );\n};\n\nContent.propTypes = {\n isMailServiceSupported: PropTypes.bool.isRequired,\n values: PropTypes.object.isRequired,\n handleFieldChange: PropTypes.func.isRequired,\n};\n\nexport default Content;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Status, Text } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('controllers.backup.schedule');\n\nconst Promo = ({ showBuyLink, url, newWindow, onDetailsClick = null }) => showBuyLink ? (\n <Status icon=\"dollar-filled\" intent=\"danger\">\n <Text intent=\"muted\" fontSize=\"sm\">\n <Translate content=\"cloudBackupRestrictionHintWithBuy\" />\n <br />\n {onDetailsClick && (\n <>\n <a data-testid=\"readMore\" id=\"promo-banner-read-more\" onClick={() => onDetailsClick()} rel=\"noopener noreferrer\"><Translate content=\"showMoreButton\" /></a>\n \n </>\n )}\n <a href={url} target={newWindow ? '_blank' : null} rel=\"noopener noreferrer\">\n <Translate content=\"cloudBackupRestrictionBuyButton\" />\n </a>\n </Text>\n </Status>\n) : (\n <Status intent=\"warning\">\n <Text intent=\"muted\" fontSize=\"sm\">\n <Translate content=\"cloudBackupRestrictionHint\" />\n {onDetailsClick && (\n <>\n {' '}\n <a data-testid=\"readMore\" onClick={onDetailsClick} id=\"promo-banner-read-more\" rel=\"noopener noreferrer\"><Translate content=\"showMoreButton\" /></a>\n </>\n )}\n </Text>\n </Status>\n);\n\nPromo.propTypes = {\n showBuyLink: PropTypes.bool.isRequired,\n url: PropTypes.string.isRequired,\n newWindow: PropTypes.bool.isRequired,\n onDetailsClick: PropTypes.func,\n};\n\nexport default Promo;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo, useEffect } from 'react';\nimport { FormFieldRadioButtons, FormField, getIn, FormFieldSelect, SelectOption, Checkbox, Input } from '@plesk/ui-library';\nimport Promo from './Promo';\nimport { Locale, UAT } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('components.forms.backup.subform');\nconst locale = Locale.getSection('components.forms.backup.subform');\n\nexport const TYPE_LOCAL = 'local';\nconst TYPE_FTP = 'ftp';\nconst TYPE_REMOTE = 'ext';\nexport const TYPE_BOTH = 'local-and-ext';\n\nconst Storage = ({\n settings: { localEnabled, ftpEnabled, ftpConfigured, ftpActive, ftpServer, ftpBaseDir },\n showCloudStorages,\n cloudStorages,\n isAdmin,\n dumpsRepoDir,\n urls: { ftpSettings: ftpSettingsUrl, remoteStorages: remoteStoragesUrl },\n promo = undefined,\n showPromo,\n setShowPromo = undefined,\n values,\n handleFieldChange,\n}) => {\n const isLocalAvailable = localEnabled;\n const isFtpAvailable = ftpEnabled && ftpConfigured && ftpActive;\n const isCloudAvailable = ftpEnabled && showCloudStorages;\n const repository = getIn(values, 'content[repository]');\n const remoteStorage = getIn(values, 'content[remote_storage]');\n const splitBackup = getIn(values, 'content[split_backup]');\n\n const ftpUri = useMemo(() => {\n const server = ftpServer || '';\n const baseDir = ftpBaseDir || '';\n return `${server}/${baseDir.startsWith('/') ? baseDir.substring(1) : baseDir}`;\n }, [ftpServer, ftpBaseDir]);\n\n const storages = useMemo(() => [\n isLocalAvailable ? {\n repo: TYPE_LOCAL,\n value: TYPE_LOCAL,\n label: locale.lmsg(isAdmin ? 'localRepositoryPath' : 'localRepository', { path: dumpsRepoDir }),\n } : null,\n isFtpAvailable ? {\n repo: TYPE_REMOTE,\n value: TYPE_FTP,\n // eslint-disable-next-line react/no-danger\n label: <span dangerouslySetInnerHTML={{ __html: locale.lmsg('ftpRepository', { uri: ftpUri, link: ftpSettingsUrl }) }} />,\n name: locale.lmsg('ftpRepositoryText', { uri: ftpUri }),\n } : null,\n ...(isCloudAvailable ? cloudStorages.map(({ id, description }) => ({\n repo: TYPE_REMOTE,\n value: id,\n label: description,\n name: description,\n })) : []),\n ].filter(Boolean), [isLocalAvailable, isFtpAvailable, isCloudAvailable, isAdmin, ftpUri, ftpSettingsUrl, dumpsRepoDir, cloudStorages]);\n\n const remoteStorages = useMemo(() => storages.filter(({ value }) => value !== TYPE_LOCAL), [storages]);\n\n useEffect(() => {\n setShowPromo && setShowPromo(promo && remoteStorage !== TYPE_FTP && repository !== TYPE_LOCAL);\n }, [repository, remoteStorage, promo, setShowPromo]);\n\n useEffect(() => {\n if (showPromo) {\n UAT.dispatchAction('SHOWPROMO', { promo: 'backup_scheduler', destination: remoteStorage });\n }\n }, [showPromo, remoteStorage]);\n\n if (storages.length === 0) {\n return null;\n }\n\n if (storages.length === 1) {\n return (\n <FormField\n label={<Translate content=\"repository\" />}\n name=\"backup[content][repository]\"\n description={isLocalAvailable && ftpEnabled ? (\n <Translate\n content={showCloudStorages ? 'configureRemoteDesc' : 'configureFtpDesc'}\n params={{\n link: (\n <a href={showCloudStorages ? remoteStoragesUrl : ftpSettingsUrl}>\n <Translate content={showCloudStorages ? 'configureRemoteLink' : 'configureFtpLink'} />\n </a>\n ),\n }}\n />\n ) : null}\n >\n {storages[0].label}\n </FormField>\n );\n }\n\n return (\n <>\n {isLocalAvailable && (\n <FormFieldRadioButtons\n label={<Translate content=\"repository\" />}\n name=\"backup[content][repository]\"\n options={storages.length === 2 ? [\n ...storages.map(({ repo, label }) => ({\n value: repo,\n label,\n description: repository === repo && showPromo && (<Promo {...promo} />),\n })),\n {\n value: TYPE_BOTH,\n label: locale.lmsg('localAndSpecialRepositoryBackup', { name: storages[1].name }),\n description: repository === TYPE_BOTH && showPromo && (<Promo {...promo} />),\n },\n ] : [\n storages[0],\n {\n value: TYPE_REMOTE,\n label: locale.lmsg('remoteRepositoryOption'),\n },\n {\n value: TYPE_BOTH,\n label: locale.lmsg('localAndSpecialRepositoryBackup', { name: locale.lmsg('remoteRepository') }),\n },\n ]}\n />\n )}\n {remoteStorages.length > 1 && (repository !== TYPE_LOCAL || !isLocalAvailable) && (\n <FormFieldSelect\n label={<Translate content=\"remoteRepositoryText\" />}\n name=\"backup[content][remote_storage]\"\n description={showPromo && (<Promo {...promo} />)}\n >\n {remoteStorages.map(({ value, name }) => (\n <SelectOption value={value} label={`${value}`} key={value}>{name}</SelectOption>\n ))}\n </FormFieldSelect>\n )}\n {(repository !== TYPE_LOCAL || !isLocalAvailable) && (\n <FormField\n label={null}\n name=\"backup[content][split_backup_size]\"\n >\n {({ isDisabled }) => (\n <span\n style={{\n display: 'flex',\n flexGrow: '1',\n gap: '4px',\n alignItems: 'center',\n }}\n >\n <Checkbox\n id=\"split_backup\"\n checked={splitBackup}\n onChange={value => handleFieldChange('split_backup', 'content', value)}\n disabled={isDisabled()}\n >\n <Translate content=\"splitSize\" />\n </Checkbox>\n <Input\n id=\"backup-content-split_backup_size\"\n value={getIn(values, 'content[split_backup_size]')}\n onChange={e => handleFieldChange('split_backup_size', 'content', e.target.value)}\n disabled={!splitBackup || isDisabled()}\n size=\"sm\"\n />\n </span>\n )}\n </FormField>\n )}\n </>\n );\n};\n\nStorage.propTypes = {\n settings: PropTypes.shape({\n localEnabled: PropTypes.bool.isRequired,\n ftpEnabled: PropTypes.bool.isRequired,\n ftpConfigured: PropTypes.bool.isRequired,\n ftpActive: PropTypes.bool.isRequired,\n ftpServer: PropTypes.string,\n ftpBaseDir: PropTypes.string,\n }).isRequired,\n showCloudStorages: PropTypes.bool.isRequired,\n cloudStorages: PropTypes.array.isRequired,\n isAdmin: PropTypes.bool.isRequired,\n dumpsRepoDir: PropTypes.string.isRequired,\n urls: PropTypes.shape({\n ftpSettings: PropTypes.string.isRequired,\n remoteStorages: PropTypes.string.isRequired,\n }).isRequired,\n promo: PropTypes.object,\n showPromo: PropTypes.bool.isRequired,\n setShowPromo: PropTypes.func,\n values: PropTypes.object.isRequired,\n handleFieldChange: PropTypes.func.isRequired,\n};\n\nexport default Storage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Switch, Text } from '@plesk/ui-library';\nimport { Locale, api } from 'jsw';\nimport List from '../List';\nimport { useMemo, useState, useEffect } from 'react';\nimport {\n PERIOD_DAILY,\n PERIOD_HOURLY,\n PERIOD_WEEKLY,\n PERIOD_MONTHLY,\n} from 'components/forms/ScheduledBackupForm/ScheduleSection/Schedule';\nimport { TYPE_DATABASE, TYPE_FILES, TYPE_MAIL } from 'components/forms/ScheduledBackupForm/SettingsSection/Content';\nimport { TYPE_BOTH, TYPE_LOCAL } from 'components/forms/ScheduledBackupForm/SettingsSection/Storage';\nimport { addToast } from 'helpers/toasts';\n\nconst Translate = Locale.getTranslate('components.lists.backup.schedule');\nconst locale = Locale.getSection('components.lists.backup.schedule');\nconst dayOfWeekLocale = Locale.getSection('smb.components.days-of-week');\nconst contentLocale = Locale.getSection('components.forms.backup.subform');\n\nconst displayTime = time => `${time < 10 ? '0' : ''}${time}`;\nconst displayDayOfWeek = day => dayOfWeekLocale.lmsg(Math.max((day + 1) % 8, 1));\nconst displayDay = day => {\n switch (day) {\n case 1:\n return locale.lmsg('dayFirst');\n case 31:\n return locale.lmsg('dayLast');\n default:\n return locale.formatMessage('day', { day });\n }\n};\n\nconst renderType = ({ type }) => {\n switch (type) {\n case PERIOD_HOURLY:\n return locale.lmsg('periodHourly');\n case PERIOD_DAILY:\n return locale.lmsg('periodDaily');\n case PERIOD_WEEKLY:\n return locale.lmsg('periodWeekly');\n case PERIOD_MONTHLY:\n return locale.lmsg('periodMonthly');\n default:\n return locale.lmsg('periodCustom');\n }\n};\n\nexport const renderSchedule = ({ type, period, time: { hours, minutes } = {}, day }) => {\n switch (type) {\n case PERIOD_HOURLY:\n return locale.formatMessage('periodHourlySchedule', { period: Math.max(Math.round(period / 3600), 1) });\n case PERIOD_DAILY:\n return locale.lmsg('periodDailySchedule', { hours: displayTime(hours), minutes: displayTime(minutes) });\n case PERIOD_WEEKLY:\n return locale.lmsg('periodWeeklySchedule', { hours: displayTime(hours), minutes: displayTime(minutes), day: displayDayOfWeek(day) });\n case PERIOD_MONTHLY:\n return locale.lmsg('periodMonthlySchedule', { hours: displayTime(hours), minutes: displayTime(minutes), day: displayDay(day) });\n default:\n return '';\n }\n};\n\nconst renderContent = ({ content }) => {\n if (content[TYPE_MAIL] && content[TYPE_FILES] && content[TYPE_DATABASE]) {\n return contentLocale.lmsg('backupAll');\n }\n if (content[TYPE_MAIL] && content[TYPE_FILES]) {\n return contentLocale.lmsg('backupMailFile');\n }\n if (content[TYPE_MAIL] && content[TYPE_DATABASE]) {\n return contentLocale.lmsg('backupMailDatabase');\n }\n if (content[TYPE_FILES] && content[TYPE_DATABASE]) {\n return contentLocale.lmsg('backupVhost');\n }\n if (content[TYPE_MAIL]) {\n return contentLocale.lmsg('backupMail');\n }\n if (content[TYPE_FILES]) {\n return contentLocale.lmsg('backupFile');\n }\n if (content[TYPE_DATABASE]) {\n return contentLocale.lmsg('backupDatabase');\n }\n return contentLocale.lmsg('backupConfiguration');\n};\n\nconst renderStorage = ({ repository, remoteStorage }) => {\n switch (repository) {\n case TYPE_LOCAL:\n return locale.lmsg('storageLocal');\n case TYPE_BOTH:\n return locale.lmsg('storageBoth', { remoteStorage });\n default:\n return remoteStorage;\n }\n};\n\nconst ScheduledBackupList = ({ data: initialData, onEdit, deactivateUrl }) => {\n const [toggling, setToggling] = useState([]);\n const [data, setData] = useState(initialData);\n\n useEffect(() => setData(initialData), [initialData]);\n\n const sortedData = useMemo(\n () => (data || []).sort((a, b) => a.period < b.period),\n [data],\n );\n\n const handleToggle = ({ type }, enable) => {\n if (enable) {\n onEdit(type, true);\n } else {\n handleDeactivate(type);\n }\n };\n\n const handleDeactivate = async type => {\n try {\n setToggling(toggling => [...toggling, type]);\n const { status, message } = await api.post(deactivateUrl, { period: type });\n if (status === 'error') {\n addToast({ intent: 'danger', message });\n } else {\n setData(data => data.map(row => ({ ...row, status: row.type === type ? false : row.status })));\n addToast({\n intent: 'success',\n message: <Translate content=\"deactivateSuccess\" />,\n });\n }\n } finally {\n setToggling(toggling => toggling.filter(el => el !== type));\n }\n };\n\n return (\n <List\n id=\"backup-schedule-list\"\n rowKey=\"type\"\n columns={[\n {\n key: 'status',\n width: '1%',\n render: row => (\n <Switch\n id={`toggle-${row.type}`}\n data-status={row.status}\n checked={row.status}\n onChange={enable => handleToggle(row, enable)}\n loading={toggling.includes(row.type)}\n />\n ),\n },\n {\n key: 'schedule',\n title: <Translate content=\"columnSchedule\" />,\n type: 'title',\n render: row => (\n <a id={`edit-${row.type}`} onClick={() => onEdit(row.type)}>\n {renderType(row)}\n {row.status && (\n <>\n {' '}\n <Text intent=\"muted\">{`(${renderSchedule(row)})`}</Text>\n </>\n )}\n </a>\n ),\n },\n {\n key: 'content',\n title: <Translate content=\"columnContent\" />,\n render: renderContent,\n },\n {\n key: 'storage',\n title: <Translate content=\"columnStorage\" />,\n render: renderStorage,\n },\n ]}\n data={sortedData}\n />\n );\n};\n\nScheduledBackupList.propTypes = {\n data: PropTypes.array.isRequired,\n onEdit: PropTypes.func.isRequired,\n deactivateUrl: PropTypes.string.isRequired,\n};\n\nexport default ScheduledBackupList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { useQuery } from '@apollo/client';\nimport { Button, SkeletonText, Paragraph } from '@plesk/ui-library';\nimport SkeletonWrapper from 'components/common/SkeletonWrapper';\nimport ApolloErrorMessage from 'components/common/ApolloErrorMessage';\nimport Link from 'components/common/Link';\nimport Details from './Details';\nimport withPanelLayout from '../common/withPanelLayout';\n\nimport BACKUP_QUERY from './Backup.graphql';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Backup');\n\nconst Backup = () => {\n const { data, loading, error } = useQuery(BACKUP_QUERY, { context: { noBatch: true } });\n\n return (\n <>\n <Paragraph component=\"div\">\n <SkeletonWrapper loading={loading} fallback={<SkeletonText lines={2} />}>\n {error && (<ApolloErrorMessage error={error} />)}\n {data && (<Details data={data} />)}\n </SkeletonWrapper>\n </Paragraph>\n <div className=\"home-page-panel-buttons\">\n <Button\n id=\"createBackup\"\n intent=\"primary\"\n component={Link}\n to=\"/admin/backup/backup\"\n >\n <Translate content=\"create\" />\n </Button>\n <Button\n id=\"scheduleBackup\"\n component={Link}\n to=\"/admin/backup/schedule\"\n >\n <Translate content=\"schedule\" />\n </Button>\n </div>\n </>\n );\n};\n\nexport default withPanelLayout(Backup);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport Link from 'components/common/Link';\nimport { buildUrl } from 'helpers/buildUrl';\nimport { Icon, Tooltip, Text } from '@plesk/ui-library';\nimport { renderSchedule } from '../../../lists/ScheduledBackupList';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Backup');\n\nconst periods = {\n PERIOD_HOURLY: 3600,\n PERIOD_EVERY_2_HOURS: 7200,\n PERIOD_EVERY_3_HOURS: 10800,\n PERIOD_EVERY_4_HOURS: 14400,\n PERIOD_EVERY_6_HOURS: 21600,\n PERIOD_EVERY_8_HOURS: 28800,\n PERIOD_EVERY_12_HOURS: 43200,\n PERIOD_DAILY: 86400,\n PERIOD_WEEKLY: 604800,\n PERIOD_MONTHLY: 2592000,\n PERIOD_YEARLY: 31536000,\n};\n\nconst getLinkToDump = ({ id }) => {\n const [type, objectId, storage] = id.split(':');\n if ('task' === type) {\n return buildUrl('/admin/backup/task-details', { taskId: objectId });\n }\n const restoreParams = { type, dumpId: objectId };\n if (storage) {\n restoreParams.storageName = storage;\n }\n return buildUrl('/admin/backup/restore', restoreParams);\n};\n\nconst isFailedDump = ({ status }) => ['off', 'task-failed'].includes(status);\n\nconst getSchedule = ({ minutes, hours, period, type, day }) => (\n <Translate\n content={type.toLowerCase()}\n params={{\n schedule: renderSchedule({\n time: { minutes, hours },\n period: periods[period],\n type: periods[type],\n day,\n }),\n }}\n />\n);\n\nconst Details = ({ data: { viewer: { client: { backup: { schedules, dumps: { nodes: dumps } } } } } }) => {\n const lastBackup = useMemo(() => dumps[0], [dumps]);\n const activeSchedules = useMemo(() => schedules.filter(({ isEnabled }) => isEnabled).sort((a, b) => a.period < b.period), [schedules]);\n\n return (\n <>\n {lastBackup && (\n <div style={{ marginBottom: '5px' }}>\n {isFailedDump(lastBackup) && (\n <>\n <Tooltip title={<Translate content={`${lastBackup.status}Status`} />}>\n <Icon name=\"exclamation-mark-circle-filled\" intent=\"danger\" />\n </Tooltip>\n {' '}\n </>\n )}\n <Link\n id=\"toLastBackup\"\n to={getLinkToDump(lastBackup)}\n >\n {lastBackup.dateString}\n </Link>\n </div>\n )}\n <Text intent={lastBackup ? 'muted' : undefined} fontSize={lastBackup ? 'sm' : 'md'} component=\"div\">\n {activeSchedules.length === 0 && (\n <Translate content=\"noSchedule\" />\n )}\n {activeSchedules.length === 1 && (\n <Translate content=\"activeSchedule\" params={{ schedule: getSchedule(activeSchedules[0]) }} />\n )}\n {activeSchedules.length > 1 && (\n <Translate\n content=\"activeSchedules\"\n params={{\n schedules: (\n <ul>\n {activeSchedules.map(schedule => (\n <li key={schedule.type}>{getSchedule(schedule)}</li>\n ))}\n </ul>\n ),\n }}\n />\n )}\n </Text>\n </>\n );\n};\n\nDetails.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nexport default Details;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport { useQuery } from '@apollo/client';\nimport { Button, SkeletonText } from '@plesk/ui-library';\nimport SkeletonWrapper from 'components/common/SkeletonWrapper';\nimport ApolloErrorMessage from 'components/common/ApolloErrorMessage';\nimport Link from 'components/common/Link';\nimport Feed from './Feed';\nimport Footer from '../common/Footer';\nimport withPanelLayout from '../common/withPanelLayout';\n\nimport CHANGE_LOG_QUERY from './ChangeLog.graphql';\n\nconst Translate = Locale.getTranslate('components.pages.Home.ChangeLog');\n\nconst ChangeLog = ({ server: { productUpdates: { changeLogUrl } } }) => {\n const { data, loading, error } = useQuery(CHANGE_LOG_QUERY, { context: { noBatch: true } });\n\n return (\n <>\n <SkeletonWrapper loading={loading} fallback={<SkeletonText lines={9} />}>\n {error && (<ApolloErrorMessage error={error} />)}\n {data && (<Feed data={data} />)}\n </SkeletonWrapper>\n <Footer>\n <Button\n ghost\n id=\"toChangeLog\"\n component={Link}\n to={changeLogUrl}\n target=\"_blank\"\n icon={{\n name: 'arrow-diagonal-out',\n style: {\n order: '1',\n marginInline: '4px 0',\n },\n }}\n >\n <Translate content=\"seeHistory\" />\n </Button>\n </Footer>\n </>\n );\n};\n\nChangeLog.propTypes = {\n server: PropTypes.object.isRequired,\n};\n\nexport default withPanelLayout(ChangeLog);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Alert, Icon, Media, Text, ItemList, Item } from '@plesk/ui-library';\nimport { formatDate } from 'helpers/dates';\nimport Link from 'components/common/Link';\n\nconst FeedItem = ({ title, date }) => (\n <>\n <Text intent=\"muted\" component=\"div\">{formatDate(date)}</Text>\n <Text fontSize=\"md\" component=\"div\">{title}</Text>\n </>\n);\n\nFeedItem.propTypes = {\n title: PropTypes.string.isRequired,\n date: PropTypes.string.isRequired,\n};\n\nconst Feed = ({ data: { server: { productUpdates: { changeLogFeed } } } }) => {\n const items = useMemo(() => {\n const pleskRelease = changeLogFeed.find(({ product, isPatch }) => product === 'plesk' && !isPatch);\n return [\n pleskRelease ? { ...pleskRelease, isPrimary: true } : null,\n ...changeLogFeed.filter(({ title }) => title !== pleskRelease?.title),\n ].filter(Boolean).slice(0, 4);\n }, [changeLogFeed]);\n\n return (\n <div className=\"home-page-item-list-block\">\n <ItemList className=\"home-page-item-list-block__list\">\n {items.map(({ url, product, version, title, date, isPrimary }) => (\n <Item\n key={title}\n component={Link}\n to={url}\n target=\"_blank\"\n data-type={`change-log-${product}-${version}`}\n hoverable={!isPrimary}\n className={isPrimary ? 'home-page-item-list-block__item--primary' : null}\n >\n {isPrimary ? (\n <Alert intent=\"info\">\n <Media\n image={\n <Icon\n style={{ padding: '8px', borderRadius: '6px', backgroundColor: '#fff' }}\n src={require('images/rocket.svg')}\n size=\"24\"\n />\n }\n align=\"center\"\n imageAlign=\"start\"\n >\n <FeedItem title={title} date={date} />\n </Media>\n </Alert>\n ) : (\n <FeedItem title={title} date={date} />\n )}\n </Item>\n ))}\n </ItemList>\n </div>\n );\n};\n\nFeed.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nexport default Feed;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale, redirect } from 'jsw';\nimport { useQuery } from '@apollo/client';\nimport withPanelLayout from '../common/withPanelLayout';\nimport { Button, Icon, Item, ItemList, Media, Skeleton, SkeletonText } from '@plesk/ui-library';\nimport Footer from '../common/Footer';\nimport Link from 'components/common/Link';\nimport SkeletonWrapper from 'components/common/SkeletonWrapper';\n\nimport CUSTOM_BUTTONS_QUERY from './CustomButtons.graphql';\nimport ApolloErrorMessage from '../../../common/ApolloErrorMessage';\n\nconst Translate = Locale.getTranslate('components.pages.Home.CustomButtons');\n\nconst CustomButtons = () => {\n const { data, loading, error } = useQuery(CUSTOM_BUTTONS_QUERY, {\n context: { noBatch: true },\n });\n\n const handleClick = (href, target) => {\n if (target === '_blank') {\n window.open(href, '_blank');\n } else {\n redirect(href);\n }\n };\n\n return (\n <SkeletonWrapper\n loading={loading}\n fallback={\n <Media image={<Skeleton width={32} height={32} />}>\n <SkeletonText lines={2} />\n </Media>\n }\n >\n {error ? (\n <ApolloErrorMessage error={error} />\n ) : data?.viewer.home.customButtons.length ? (\n <div className=\"home-page-item-list-block\">\n <ItemList className=\"home-page-item-list-block__list\">\n {data?.viewer.home.customButtons.map(({ id, title, description, image, href, target }) => (\n <Item\n key={id}\n icon={<Icon src={image} />}\n title={title}\n description={description}\n data-action={`custom-button-${id}`}\n onClick={() => handleClick(href, target)}\n />\n ))}\n </ItemList>\n </div>\n ) : <Translate content=\"noButtons\" />}\n {data?.viewer.permissions.manageServerCustomButtons && (\n <Footer>\n <Button\n ghost\n id=\"addCustomButtons\"\n icon=\"plus\"\n component={Link}\n to=\"/admin/custom-buttons/create\"\n >\n <Translate content=\"add\" />\n </Button>\n </Footer>\n )}\n </SkeletonWrapper>\n );\n};\n\nexport default withPanelLayout(CustomButtons);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ListEmptyView, Button } from '@plesk/ui-library';\nimport { useQuery } from '@apollo/client';\nimport { Locale } from 'jsw';\nimport Link from 'components/common/Link';\n\nimport emptyImg from 'images/home-empty.png';\nimport emptyLockedImg from 'images/home-empty-locked.png';\n\nimport HOME_PAGE from 'queries/AdminHomePage.graphql';\n\nconst Translate = Locale.getTranslate('components.pages.Home.EmptyView');\n\nconst EmptyView = () => {\n const response = useQuery(HOME_PAGE);\n const isLocked = response.data?.viewer?.home?.locked;\n\n return (\n <ListEmptyView\n title={<Translate content={isLocked ? 'titleLocked' : 'title'} />}\n image={\n <img\n src={isLocked ? emptyLockedImg : emptyImg}\n height=\"320\"\n alt=\"emptyView\"\n />\n }\n actions={!isLocked && (\n <Button\n id=\"emptyViewCustomize\"\n intent=\"primary\"\n icon=\"gear\"\n component={Link}\n to=\"/cp/home/customize\"\n >\n <Translate content=\"customize\" />\n </Button>\n )}\n />\n );\n};\n\nexport default EmptyView;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { SkeletonText } from '@plesk/ui-library';\nimport SkeletonWrapper from 'components/common/SkeletonWrapper';\nimport ApolloErrorMessage from 'components/common/ApolloErrorMessage';\nimport Content from './Content';\n\nimport EXTENSION_QUERY from './Extension.graphql';\n\nconst AsyncContent = ({ name, skeletonSize }) => {\n const { data, loading, error } = useQuery(EXTENSION_QUERY, {\n context: { noBatch: true },\n variables: { name },\n });\n\n return (\n <SkeletonWrapper loading={loading} fallback={<SkeletonText lines={skeletonSize} />}>\n {error && (<ApolloErrorMessage error={error} />)}\n {data && (\n <Content\n name={name}\n {...data.viewer.home.extensionBlockContent}\n />\n )}\n </SkeletonWrapper>\n );\n};\n\nAsyncContent.propTypes = {\n name: PropTypes.string.isRequired,\n skeletonSize: PropTypes.number.isRequired,\n};\n\nexport default AsyncContent;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport JswComponent from 'components/jsw/JswComponent';\nimport Footer from '../common/Footer';\n\nconst Content = ({ name, content = undefined, footer = undefined }) => (\n <>\n {content && (\n <JswComponent key={`${name}-content`}>{content}</JswComponent>\n )}\n {footer && (\n <Footer>\n <JswComponent key={`${name}-footer`}>{footer}</JswComponent>\n </Footer>\n )}\n </>\n);\n\nContent.propTypes = {\n name: PropTypes.string.isRequired,\n content: PropTypes.string,\n footer: PropTypes.string,\n};\n\nexport default Content;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport JswComponent from 'components/jsw/JswComponent';\nimport withPanelLayout from '../common/withPanelLayout';\nimport TitleIcon from '../common/TitleIcon';\nimport AsyncContent from './AsyncContent';\nimport Content from './Content';\nimport EXTENSIONS_QUERY from 'queries/AdminHomeExtensions.graphql';\nimport { useQuery } from '@apollo/client';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Extension');\n\nconst getData = (name, { viewer: { home: { extensions = [] } = {} } = {} } = {}) => extensions.find(extension => extension.name === name) ?? {};\n\nconst Title = ({ name }) => {\n const response = useQuery(EXTENSIONS_QUERY);\n const { title } = getData(name, response?.data);\n return title ? (\n <JswComponent key={`${name}-title`}>{title}</JswComponent>\n ) : (\n <Translate content=\"title\" />\n );\n};\n\nTitle.propTypes = {\n name: PropTypes.string.isRequired,\n};\n\nconst Icon = ({ name }) => {\n const response = useQuery(EXTENSIONS_QUERY);\n const { icon } = getData(name, response?.data);\n return (\n <TitleIcon icon={icon} className=\"home-page-dashboard__panel-heading-icon\" />\n );\n};\n\nIcon.propTypes = {\n name: PropTypes.string.isRequired,\n};\n\nconst Extension = ({ name }) => {\n const response = useQuery(EXTENSIONS_QUERY);\n const { async, content, footer, skeletonSize } = getData(name, response?.data);\n\n return async ? (\n <AsyncContent name={name} skeletonSize={skeletonSize} />\n ) : (\n <Content name={name} content={content} footer={footer} />\n );\n};\n\nExtension.propTypes = {\n name: PropTypes.string.isRequired,\n};\n\nexport default withPanelLayout(Extension, {\n title: (_, name) => (<Title name={name} />),\n icon: (_, name) => (<Icon name={name} />),\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\nimport * as constants from './constants';\nimport ServerInfo from './ServerInfo';\nimport Updates from './Updates';\nimport Backup from './Backup';\nimport OverusedSubscriptions from './OverusedSubscriptions';\nimport MySubscriptions from './MySubscriptions';\nimport IpBan from './IpBan';\nimport Extension from './Extension';\nimport MailQueue from './MailQueue';\nimport Promo from './Promo';\nimport ChangeLog from './ChangeLog';\nimport CustomButtons from './CustomButtons';\nimport SystemMessages from './SystemMessages';\n\nimport './HomePage.less';\nimport { useMutation, useQuery } from '@apollo/client';\nimport { Outlet } from 'react-router-dom';\nimport EmptyView from './EmptyView';\nimport isEmptyLayout from './common/isEmptyLayout';\nimport PromoNewHomeView from './PromoNewHomeView';\n\nimport HOME_PAGE_QUERY from 'queries/AdminHomePage.graphql';\nimport LAYOUT_QUERY from './queries/Layout.graphql';\nimport UPDATE_LAYOUT from './queries/UpdateLayout.graphql';\n\nconst panelsMap = {\n [constants.SERVER_INFO]: ServerInfo,\n [constants.IP_BAN]: IpBan,\n [constants.OVERUSED_SUBSCRIPTIONS]: OverusedSubscriptions,\n [constants.UPDATES]: Updates,\n [constants.BACKUP]: Backup,\n [constants.MY_SUBSCRIPTIONS]: MySubscriptions,\n [constants.MAIL_QUEUE]: MailQueue,\n [constants.PROMO]: Promo,\n [constants.CHANGE_LOG]: ChangeLog,\n [constants.CUSTOM_BUTTONS]: CustomButtons,\n};\n\nconst Column = ({ index, panels, data, systemMessages = undefined }) => (\n <Droppable droppableId={`${index}`}>\n {({ innerRef, droppableProps, placeholder } = {}) => (\n <div\n className=\"home-page-dashboard__section\"\n ref={innerRef}\n {...droppableProps}\n >\n {systemMessages}\n {panels.map((key, index) => {\n const isExtension = key.startsWith('ext:');\n const Component = isExtension ? Extension : panelsMap[key];\n\n return Component && (\n <Component\n key={key}\n data={data[isExtension ? constants.EXTENSIONS : key]}\n name={key}\n index={index}\n />\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\n\nColumn.propTypes = {\n index: PropTypes.number.isRequired,\n panels: PropTypes.array.isRequired,\n data: PropTypes.object.isRequired,\n systemMessages: PropTypes.node,\n};\n\nconst HomePage = ({ data }) => {\n const response = useQuery(HOME_PAGE_QUERY);\n\n const [layout, setLayout] = useState([]);\n const systemMessages = response.data?.viewer?.home?.systemMessages ?? [];\n const feedbackURL = response.data?.viewer?.home?.feedbackURL;\n\n useEffect(() => {\n setLayout(response.data?.viewer?.home?.layout ?? []);\n }, [response]);\n\n const [updateLayout] = useMutation(UPDATE_LAYOUT, {\n refetchQueries: [{ query: LAYOUT_QUERY }],\n });\n\n const handleDragEnd = ({ draggableId, source, destination }) => {\n if (!destination) {\n return;\n }\n\n if (source.droppableId === destination.droppableId && source.index === destination.index) {\n return;\n }\n\n setLayout(currentLayout => {\n const layout = currentLayout.map((panels, index) => {\n const newPanels = [...panels];\n if (index === +source.droppableId) {\n newPanels.splice(source.index, 1);\n }\n if (index === +destination.droppableId) {\n newPanels.splice(destination.index, 0, draggableId);\n }\n return newPanels;\n });\n\n updateLayout({ variables: { layout } });\n return layout;\n });\n };\n\n return (\n <>\n {!!feedbackURL && (<PromoNewHomeView feedbackURL={feedbackURL} />)}\n {isEmptyLayout(response) ? (\n <EmptyView />\n ) : (\n <DragDropContext\n onDragEnd={handleDragEnd}\n >\n <div className=\"home-page\">\n <div className=\"home-page-dashboard\">\n {layout.map((panels, index) => (\n <Column\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n index={index}\n panels={panels}\n data={data}\n systemMessages={index === 0 && !!systemMessages.length && (\n <SystemMessages systemMessages={systemMessages} />\n )}\n />\n ))}\n </div>\n </div>\n </DragDropContext>\n )}\n <Outlet />\n </>\n );\n};\n\nHomePage.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nexport default HomePage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { useQuery } from '@apollo/client';\nimport Footer from '../common/Footer';\nimport Statistics from './Statistics';\nimport { SkeletonText, Button } from '@plesk/ui-library';\nimport SkeletonWrapper from 'components/common/SkeletonWrapper';\nimport Link from 'components/common/Link';\nimport ApolloErrorMessage from 'components/common/ApolloErrorMessage';\nimport withPanelLayout from '../common/withPanelLayout';\n\nimport IP_BAN_QUERY from './IpBan.graphql';\n\nconst Translate = Locale.getTranslate('components.pages.Home.IpBan');\n\nconst IpBan = () => {\n const { data, loading, error } = useQuery(IP_BAN_QUERY, { context: { noBatch: true } });\n\n return (\n <>\n <SkeletonWrapper loading={loading} fallback={<SkeletonText lines={2} />}>\n {error && (<ApolloErrorMessage error={error} />)}\n {data && (<Statistics data={data} />)}\n </SkeletonWrapper>\n <Footer>\n <Button\n ghost\n id=\"toIpBan\"\n component={Link}\n to=\"/admin/server-protection\"\n >\n <Translate content=\"more\" />\n </Button>\n </Footer>\n </>\n );\n};\n\nexport default withPanelLayout(IpBan);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport Label from '../common/Label';\n\nconst Translate = Locale.getTranslate('components.pages.Home.IpBan');\n\nconst Statistics = ({ data: { server: { ipBan: { bannedIpsCount, trustedIpsCount } } } }) => (\n <ul className=\"home-page-panel-list home-page-panel-list--colums\">\n <li className=\"home-page-panel-list__item\">\n <span className=\"home-page-panel-list__item-name\">\n <Translate content=\"banned\" />\n </span>\n <Label\n id=\"ipBanBanned\"\n className=\"home-page-panel-list__item-value\"\n to=\"/admin/server-protection/ban-list\"\n >\n {bannedIpsCount}\n </Label>\n </li>\n <li className=\"home-page-panel-list__item\">\n <span className=\"home-page-panel-list__item-name\">\n <Translate content=\"trusted\" />\n </span>\n <Label\n id=\"ipBanTrusted\"\n className=\"home-page-panel-list__item-value\"\n to=\"/admin/server-protection/trusted-list\"\n >\n {trustedIpsCount}\n </Label>\n </li>\n </ul>\n);\n\nStatistics.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nexport default Statistics;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport withPanelLayout from '../common/withPanelLayout';\nimport { Button, Paragraph, Popover, SkeletonText } from '@plesk/ui-library';\nimport Footer from '../common/Footer';\nimport Link from 'components/common/Link';\nimport SkeletonWrapper from 'components/common/SkeletonWrapper';\nimport { useMutation, useQuery } from '@apollo/client';\nimport Statistics from './Statistics';\nimport ApolloErrorMessage from '../../../common/ApolloErrorMessage';\nimport { addToast } from 'helpers/toasts';\n\nimport MAIL_QUEUE_QUERY from './MailQueue.graphql';\nimport CLEAN_QUEUE from './CleanQueue.graphql';\nimport { useState } from 'react';\n\nconst Translate = Locale.getTranslate('components.pages.Home.MailQueue');\n\nconst MailQueue = () => {\n const { data, loading, error } = useQuery(MAIL_QUEUE_QUERY, {\n variables: {\n extLogBrowser: btoa('Extension:log-browser'),\n extRepairKit: btoa('Extension:repair-kit'),\n },\n context: { noBatch: true },\n });\n const [cleanConfirmVisible, setCleanConfirmVisible] = useState(false);\n const [cleanQueue, { loading: cleanLoading }] = useMutation(CLEAN_QUEUE, {\n onCompleted: () => {\n addToast({\n intent: 'success',\n message: <Translate content=\"queueCleaned\" />,\n });\n },\n onError: ({ graphQLErrors }) => {\n graphQLErrors.forEach(({ extensions, message }) => {\n addToast({\n intent: 'danger',\n message: extensions?.debugMessage || message,\n });\n });\n },\n });\n\n const isVisibleLogBtn = data?.viewer.permissions.manageServerTroubleshootingEnable\n && data?.extLog.isActive;\n\n const isVisibleRepairBtn = data?.viewer.permissions.manageServerTroubleshootingEnable\n && data?.extRepair.isActive;\n\n const handleClean = () => {\n setCleanConfirmVisible(false);\n cleanQueue();\n };\n\n return (\n <div className=\"home-page-mail-queue\">\n <SkeletonWrapper loading={loading} fallback={<SkeletonText lines={3} />}>\n {error && (<ApolloErrorMessage error={error} />)}\n {data?.serverMail?.queue && (<Statistics data={data} />)}\n </SkeletonWrapper>\n <SkeletonWrapper loading={loading} fallback={<SkeletonText lines={3} />}>\n <div className=\"home-page-panel-block home-page-mail-queue__actions\">\n <Popover\n target={\n <Button\n ghost\n id=\"cleanMailQueue\"\n icon=\"clean\"\n state={cleanLoading ? 'loading' : null}\n onClick={() => setCleanConfirmVisible(true)}\n >\n <Translate content=\"clean\" />\n </Button>\n }\n placement=\"top-right\"\n visible={cleanConfirmVisible}\n onClose={() => setCleanConfirmVisible(false)}\n >\n <Paragraph>\n <Translate content=\"cleanConfirmQuestion\" />\n </Paragraph>\n <Button\n id=\"cleanMailQueueYes\"\n intent=\"danger\"\n onClick={handleClean}\n >\n <Translate content=\"cleanConfirmYes\" />\n </Button>\n {' '}\n <Button\n id=\"cleanMailQueueNo\"\n onClick={() => setCleanConfirmVisible(false)}\n >\n <Translate content=\"cleanConfirmNo\" />\n </Button>\n </Popover>\n {isVisibleLogBtn && (\n <Button\n ghost\n id=\"checkLogs\"\n icon=\"list\"\n component={Link}\n to=\"/modules/log-browser/?tab=mail\"\n >\n <Translate content=\"checkLogs\" />\n </Button>\n )}\n {isVisibleRepairBtn && (\n <Button\n ghost\n id=\"repair\"\n icon=\"tools\"\n component={Link}\n to=\"/modules/repair-kit/index.php/index\"\n >\n <Translate content=\"repair\" />\n </Button>\n )}\n </div>\n </SkeletonWrapper>\n <Footer>\n <Button\n ghost\n id=\"toMailQueue\"\n component={Link}\n to=\"/admin/mail-settings/queue\"\n >\n <Translate content=\"more\" />\n </Button>\n </Footer>\n </div>\n );\n};\n\nexport default withPanelLayout(MailQueue);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport { Label } from '@plesk/ui-library';\n\nconst Translate = Locale.getTranslate('components.pages.Home.MailQueue');\n\nconst Statistics = ({ data: { serverMail: { queue: { total, deferred, hold } } } }) => (\n <ul className=\"home-page-panel-list home-page-panel-list--colums\">\n <li className=\"home-page-panel-list__item\">\n <span className=\"home-page-panel-list__item-name\">\n <Translate content=\"total\" />\n </span>\n <Label\n view=\"light\"\n size=\"lg\"\n className=\"home-page-panel-list__item-value\"\n >\n {total}\n </Label>\n </li>\n <li className=\"home-page-panel-list__item\">\n <span className=\"home-page-panel-list__item-name\">\n <Translate content=\"deferred\" />\n </span>\n <Label\n view=\"light\"\n size=\"lg\"\n className=\"home-page-panel-list__item-value\"\n >\n {deferred}\n </Label>\n </li>\n <li className=\"home-page-panel-list__item\">\n <span className=\"home-page-panel-list__item-name\">\n <Translate content=\"held\" />\n </span>\n <Label\n view=\"light\"\n size=\"lg\"\n className=\"home-page-panel-list__item-value\"\n >\n {hold}\n </Label>\n </li>\n </ul>\n);\n\nStatistics.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nexport default Statistics;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport Footer from '../common/Footer';\nimport Link from 'components/common/Link';\nimport { Button, Icon, Tooltip, Link as ExternalLink } from '@plesk/ui-library';\nimport { getId } from 'helpers/getId';\nimport { getSubscriptionStatusReason } from 'helpers/statusReason';\nimport withPanelLayout from '../common/withPanelLayout';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Subscriptions');\n\nconst MySubscriptions = ({\n viewer: {\n permissions: { createDomains },\n client: { subscriptions: { nodes: subscriptions } },\n },\n}) => (\n <>\n <ul className=\"home-page-panel-list\">\n {subscriptions.length ?\n subscriptions.map(({ status, mainDomain: { id, name } }) => (\n <li key={id} className=\"home-page-panel-list__item\">\n {status !== '0' && (\n <>\n <Tooltip title={getSubscriptionStatusReason(status)}>\n <Icon name=\"exclamation-mark-circle-filled\" intent=\"danger\" />\n </Tooltip>\n {' '}\n </>\n )}\n <Link to={`/admin/subscription/overview/id/${getId(id)}`}>{name}</Link>\n </li>\n )) : (\n <li className=\"home-page-panel-list__item\">\n <Translate\n content=\"empty\"\n params={{\n link: (\n <ExternalLink href=\"/help.php?context=home.admin.mywebspaces\" target=\"_blank\" rel=\"noopener noreferrer\">\n <Translate content=\"help\" />\n </ExternalLink>\n ),\n }}\n />\n </li>\n )}\n </ul>\n {createDomains && (\n <Footer>\n <Button\n ghost\n id=\"addSubscription\"\n icon=\"plus\"\n component={Link}\n to=\"/admin/subscription/create?context=subscriptions\"\n >\n <Translate content=\"add\" />\n </Button>\n </Footer>\n )}\n </>\n);\n\nMySubscriptions.propTypes = {\n viewer: PropTypes.object.isRequired,\n};\n\nexport default withPanelLayout(MySubscriptions);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport SubscriptionsList from './SubscriptionsList';\nimport { Status } from '@plesk/ui-library';\nimport withPanelLayout from '../common/withPanelLayout';\n\nconst Translate = Locale.getTranslate('components.pages.Home.OverusedSubscriptions');\n\nconst OverusedSubscriptions = ({\n viewer: { client: { subscriptions: { pageInfo: { total }, nodes: subscriptions } } },\n}) => total === 0 ? (\n <Status intent=\"success\"><Translate content=\"empty\" /></Status>\n) : (\n <SubscriptionsList\n subscriptions={subscriptions}\n total={total}\n />\n);\n\nOverusedSubscriptions.propTypes = {\n viewer: PropTypes.object.isRequired,\n};\n\nexport default withPanelLayout(OverusedSubscriptions);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport Footer from '../common/Footer';\nimport Link from 'components/common/Link';\nimport { getId } from 'helpers/getId';\nimport { getSubscriptionStatusReason } from 'helpers/statusReason';\nimport { Button, Tooltip, Icon, Cuttable, Text } from '@plesk/ui-library';\n\nconst Translate = Locale.getTranslate('components.pages.Home.OverusedSubscriptions');\n\nconst SubscriptionsList = ({ subscriptions, total }) => (\n <>\n {subscriptions.map(({ status, mainDomain: { id, name }, limits: { all: limits } }) => (\n <div key={id} className=\"home-page-panel-block\">\n {status !== '0' && (\n <>\n <Tooltip title={getSubscriptionStatusReason(status)}>\n <Icon name=\"exclamation-mark-circle-filled\" intent=\"danger\" />\n </Tooltip>\n {' '}\n </>\n )}\n <Link to={`/admin/subscription/overview/id/${getId(id)}`}>{name}</Link>\n <Cuttable style={{ marginTop: '5px' }}>\n {limits.map(({ name, ...limit }) => (\n <Text intent=\"muted\" key={name} component=\"div\">\n <Text bold>{`${name}: `}</Text>\n <Translate content=\"usage\" params={limit} />\n </Text>\n ))}\n </Cuttable>\n </div>\n ))}\n <Footer>\n <Button\n ghost\n component={Link}\n id=\"toOverusedSubscriptions\"\n to=\"/admin/subscription/list?context=subscriptions&force-show-search=true&searchFilter[resourceUsage][searchText]=true\"\n >\n <Translate\n content={total > subscriptions.length ? 'more' : 'list'}\n params={{ total }}\n />\n </Button>\n </Footer>\n </>\n);\n\nSubscriptionsList.propTypes = {\n subscriptions: PropTypes.array.isRequired,\n total: PropTypes.number.isRequired,\n};\n\nexport default SubscriptionsList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Children, useState, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { Locale } from 'jsw';\n\nimport './Carousel.less';\n\nconst locale = Locale.getSection('components.pages.Home.Promo');\n\ntype CarouselProps = {\n children: React.ReactNode;\n autoplay?: boolean\n onSlide?: (current: number) => void;\n};\n\nconst Carousel = ({ children, autoplay, onSlide }: CarouselProps) => {\n const slidesCount = Children.count(children);\n const [activeIndex, setActiveIndex] = useState(0);\n\n const setSlide = (index: number) => {\n setActiveIndex(index);\n onSlide?.(index);\n };\n const setSlideRef = useRef(setSlide);\n setSlideRef.current = setSlide;\n\n useEffect(() => {\n if (!autoplay || slidesCount <= 1) {\n return;\n }\n\n const timeout = setTimeout(() => {\n const nextIndex = activeIndex === slidesCount - 1 ? 0 : activeIndex + 1;\n setSlideRef.current(nextIndex);\n }, 15000);\n\n return () => clearTimeout(timeout);\n }, [autoplay, slidesCount, activeIndex]);\n\n return (\n <div className=\"home-page-carousel\">\n {slidesCount > 1 && (\n <div className=\"home-page-carousel__dots\">\n {Children.map(children, (_, index) => (\n <button\n type=\"button\"\n key={index} // eslint-disable-line react/no-array-index-key\n className={classNames(\n 'home-page-carousel__dot',\n index === activeIndex && 'home-page-carousel__dot--active',\n )}\n onClick={() => setSlide(index)}\n aria-label={locale.lmsg('viewSlide', { slideNumber: index + 1 })}\n />\n ))}\n </div>\n )}\n {Children.map(children, (child, index) => (\n <div\n key={index} // eslint-disable-line react/no-array-index-key\n hidden={index !== activeIndex}\n className={classNames(\n 'home-page-carousel__slide',\n index === activeIndex && 'home-page-carousel__slide--active',\n )}\n >\n {child}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Carousel;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Button } from '@plesk/ui-library';\nimport { useMutation, useQuery } from '@apollo/client';\nimport { Draggable } from '@hello-pangea/dnd';\nimport { addToast } from 'helpers/toasts';\nimport Carousel from './Carousel';\n\nimport { Locale } from 'jsw';\nimport './Promo.less';\n\nimport PROMOS_QUERY from './Promo.graphql';\nimport TOGGLE_BLOCK from '../queries/ToggleBlock.graphql';\nimport LAYOUT_QUERY from '../queries/Layout.graphql';\nimport CUSTOMIZATION_QUERY from '../queries/Customization.graphql';\n\nimport CustomizeSlide from './content/Customize';\nimport SwitchToPUV from './content/SwitchToPUV';\nimport Extension from './content/Extension';\n\nconst locale = Locale.getSection('components.pages.Home.Promo');\n\nconst Promo = () => {\n const {\n data: {\n promos,\n viewer: {\n home: {\n showPuvPromo = false,\n locked = true,\n } = {},\n } = {},\n config: {\n promos: {\n autoplay = false,\n } = {},\n } = {},\n } = {},\n } = useQuery(PROMOS_QUERY, { context: { noBatch: true } });\n const [toggleBlock] = useMutation(TOGGLE_BLOCK);\n const [curr, setCurr] = useState(0);\n const [closed, setClosed] = useState(false);\n\n const closePromo = async () => {\n try {\n setClosed(true);\n await toggleBlock({\n variables: { name: 'promo', enable: false },\n refetchQueries: [{ query: CUSTOMIZATION_QUERY }, { query: LAYOUT_QUERY }],\n awaitRefetchQueries: true,\n });\n } catch ({ graphQLErrors }) {\n graphQLErrors.forEach(({ message, extensions }) => {\n addToast({\n intent: 'danger',\n message: extensions?.debugMessage || message,\n });\n });\n }\n };\n\n const handleSlide = pos => setCurr(pos);\n\n const content = useMemo(() => [\n (<CustomizeSlide key=\"customize\" showCustomizeButton={!locked} />),\n showPuvPromo ? (<SwitchToPUV key=\"switchToPuv\" />) : null,\n ...(promos ?? [])\n // filter main catalog\n .filter(item => item && !/catalog\\/$/.test(item.buttonUrl))\n .map((data, index) => <Extension key={data.buttonUrl} {...data} index={index} />),\n ]\n .filter(Boolean)\n .slice(0, 6)\n , [promos, showPuvPromo, locked]);\n\n if (closed) {\n return null;\n }\n return (\n <Draggable draggableId=\"Promo\" index={Number.MAX_SAFE_INTEGER} isDragDisabled>\n {({ innerRef } = {}) => (\n <div\n className={classNames(\n `home-page-dashboard__item home-page-promo home-page-promo--slide-${curr}`,\n content.length > 1 && 'home-page-promo--with-dots',\n )}\n ref={innerRef}\n >\n <Carousel\n onSlide={handleSlide}\n autoplay={content.length > 1 && autoplay}\n >\n {content}\n </Carousel>\n {!locked && (\n <Button onClick={closePromo} icon=\"cross-mark\" className=\"home-page-promo__close-button\" aria-label={locale.lmsg('close')} />\n )}\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default Promo;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst PromoContent = ({ children, classNames: customClassNames = null }) => (\n <div className={classNames('home-page-promo__block', customClassNames)}>\n {children}\n </div>);\n\nPromoContent.propTypes = {\n children: PropTypes.node.isRequired,\n classNames: PropTypes.string,\n};\n\nexport default PromoContent;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Icon, Heading } from '@plesk/ui-library';\nimport PromoContent from '../PromoContent';\n\nconst BaseContent = ({\n title,\n content,\n action,\n iconUrl,\n}) => (\n <PromoContent>\n <Icon className=\"home-page-promo__header-icon\" size=\"48\" src={iconUrl} />\n <Heading level={4} className=\"home-page-promo__title\">{title}</Heading>\n <div className=\"home-page-promo__content\">\n {content}\n </div>\n <div className=\"home-page-promo__action\">\n {action}\n </div>\n </PromoContent>\n);\n\nBaseContent.propTypes = {\n title: PropTypes.node.isRequired,\n content: PropTypes.node.isRequired,\n action: PropTypes.node.isRequired,\n iconUrl: PropTypes.string.isRequired,\n};\n\nexport default BaseContent;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button, Heading, Paragraph } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport Link from 'components/common/Link';\nimport PromoContent from '../PromoContent';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Promo.Customize');\n\nconst Customize = ({ showCustomizeButton = false }) => (\n <PromoContent className=\"home-page-promo__block--renovate\">\n <Heading level={4} className=\"home-page-promo__title\"><Translate content=\"title\" /></Heading>\n <div className=\"home-page-promo__content\">\n <Paragraph>\n <Translate content=\"content\" />\n </Paragraph>\n <div className=\"home-page-promo__media\">\n <video\n preload=\"auto\"\n autoPlay\n muted\n controls={false}\n loop\n >\n <source\n src=\"/cp/theme/images/home-promo.webm\"\n type=\"video/webm\"\n />\n <source\n src=\"/cp/theme/images/home-promo.mp4\"\n type=\"video/mp4\"\n />\n </video>\n </div>\n </div>\n <div className=\"home-page-promo__action\">\n {showCustomizeButton && (\n <Button id=\"promoCustomize\" component={Link} to=\"customize\" icon=\"gear\">\n <Translate content=\"action\" />\n </Button>\n )}\n </div>\n </PromoContent>\n);\n\nCustomize.propTypes = {\n showCustomizeButton: PropTypes.bool,\n};\n\nexport default Customize;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Button } from '@plesk/ui-library';\nimport BaseContent from './BaseContent';\n\nconst Extension = ({\n title,\n buttonUrl,\n buttonText,\n buttonTarget = null,\n text,\n iconUrl,\n index,\n} = {}) => (\n <BaseContent\n title={title}\n iconUrl={iconUrl}\n content={text}\n action={(\n <Button\n id={`promo-action-${index}`}\n intent=\"primary\"\n component=\"a\"\n href={buttonUrl}\n target={buttonTarget}\n >\n {buttonText}\n </Button>\n )}\n />\n);\n\nExtension.propTypes = {\n title: PropTypes.string.isRequired,\n iconUrl: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n buttonText: PropTypes.string.isRequired,\n buttonUrl: PropTypes.string.isRequired,\n buttonTarget: PropTypes.string,\n index: PropTypes.number.isRequired,\n};\n\nexport default Extension;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport { Button } from '@plesk/ui-library';\nimport { redirect, api, Locale } from 'jsw';\nimport BaseContent from './BaseContent';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Promo.SwitchToPuv');\n\nconst SwitchToPUV = () => {\n const [loading, setLoading] = useState(false);\n\n const handleSwitchToPuv = () => {\n setLoading(true);\n api.post('/admin/home/hide-promo-puv');\n api.post('/admin/index/change-view').then(data => redirect(data.redirect));\n };\n\n return (\n <BaseContent\n title={<Translate content=\"title\" />}\n content={<Translate content=\"content\" />}\n action={(\n <Button\n id=\"switchToPUV\"\n intent=\"primary\"\n onClick={handleSwitchToPuv}\n state={loading ? 'loading' : null}\n >\n <Translate content=\"action\" />\n </Button>\n )}\n iconUrl={require('images/home-switch-to-puv.svg')}\n />\n\n );\n};\n\nexport default SwitchToPUV;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { Alert, Heading, Column, Action, Columns, Media, MediaSection, Icon } from '@plesk/ui-library';\nimport { useMutation } from '@apollo/client';\nimport { useNavigate } from 'react-router-dom';\nimport { useEffect, useState } from 'react';\n\nimport waveImg from 'images/wave.png';\nimport SWITCH_HOME_VIEW from 'queries/SwitchHomeView.graphql';\nimport HIDE_PROMO from 'queries/HideHomeViewPromo.graphql';\n\nconst Translate = Locale.getTranslate('components.pages.Home.PromoNewHomeView');\n\nconst Actions = ({ feedbackURL, progress = false, switchView }) => (\n <Columns gap=\"md\">\n <Column>\n <Action\n id=\"feedback\"\n icon=\"feedback\"\n href={feedbackURL}\n target=\"_blank\"\n >\n <Translate content=\"feedback\" />\n </Action>\n </Column>\n <Column>\n <Action\n id=\"switchBack\"\n icon=\"arrow-back\"\n onClick={switchView}\n progress={progress}\n >\n <Translate content=\"switch\" />\n </Action>\n </Column>\n </Columns>\n);\n\nActions.propTypes = {\n feedbackURL: PropTypes.string.isRequired,\n progress: PropTypes.bool,\n switchView: PropTypes.func.isRequired,\n};\n\nconst PromoNewHomeView = ({ feedbackURL }) => {\n const navigate = useNavigate();\n const [progress, setProgress] = useState(false);\n\n const [switchView, { loading }] = useMutation(SWITCH_HOME_VIEW, {\n variables: { enableNewView: false },\n onCompleted: () => navigate('/admin/home'),\n });\n\n const [hidePromo] = useMutation(HIDE_PROMO);\n\n useEffect(() => {\n if (loading) {\n setProgress(true);\n }\n }, [loading]);\n\n return (\n <Alert\n data-type=\"promo-new-home-view\"\n intent=\"success\"\n onClose={hidePromo}\n >\n <Media\n title={<Heading level={4}><Translate content=\"title\" /></Heading>}\n image={<Icon size=\"32\" src={waveImg} />}\n >\n <MediaSection>\n <Translate content=\"description\" />\n </MediaSection>\n <MediaSection>\n <Actions\n feedbackURL={feedbackURL}\n progress={progress}\n switchView={switchView}\n />\n </MediaSection>\n </Media>\n </Alert>\n );\n};\n\nPromoNewHomeView.propTypes = {\n feedbackURL: PropTypes.string.isRequired,\n};\n\nexport default PromoNewHomeView;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Text } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport CopyToClipboardButton from 'components/common/CopyToClipboardButton';\n\nconst Translate = Locale.getTranslate('components.pages.Home.ServerInfo');\n\nconst Block = ({ name, content, canCopy = true, copyTooltip = undefined }) => (\n <div className=\"home-page-panel-block home-page-server-info-block\">\n <div className=\"home-page-server-info-block__title\">\n <Text intent=\"muted\" bold><Translate content={name} /></Text>\n </div>\n <div\n className={classNames(\n 'home-page-server-info-block__content',\n { 'home-page-server-info-block__content--copy': canCopy },\n )}\n >\n <span className=\"home-page-server-info-block__text\">\n {content}\n </span>\n {canCopy ? (\n <CopyToClipboardButton\n tooltip={copyTooltip}\n className=\"home-page-server-info-block__copy\"\n id={name}\n content={content}\n icon={{\n name: 'copy',\n size: 12,\n }}\n />\n ) : null}\n </div>\n </div>\n);\n\nBlock.propTypes = {\n name: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n canCopy: PropTypes.bool,\n copyTooltip: PropTypes.string,\n};\n\nexport default Block;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport Block from './Block';\nimport withPanelLayout from '../common/withPanelLayout';\nimport Footer from '../common/Footer';\nimport Link from 'components/common/Link';\nimport { toDatePeriod } from 'helpers/dates';\nimport { Button } from '@plesk/ui-library';\n\nconst Translate = Locale.getTranslate('components.pages.Home.ServerInfo');\nconst locale = Locale.getSection('components.pages.Home.ServerInfo');\n\nconst ServerInfo = ({\n server: {\n defaultIpAddress,\n settings: { fullHostName },\n information,\n },\n os: { name: osName },\n viewer: { permissions: { manageServerInfo } },\n}) => (\n <>\n {fullHostName && (\n <Block\n name=\"hostname\"\n content={fullHostName}\n copyTooltip={locale.lmsg('copyHostname')}\n />\n )}\n {defaultIpAddress?.ipAddress && (\n <Block\n name=\"ipAddress\"\n content={defaultIpAddress.ipAddress}\n copyTooltip={locale.lmsg('copyIpAddress')}\n />\n )}\n {defaultIpAddress?.publicIpAddress && (\n <Block\n name=\"publicIpAddress\"\n content={defaultIpAddress.publicIpAddress}\n copyTooltip={locale.lmsg('copyPublicIpAddress')}\n />\n )}\n {osName && (\n <Block\n name=\"os\"\n content={osName}\n copyTooltip={locale.lmsg('copyOs')}\n />\n )}\n {information?.sysUptime && (\n <Block\n name=\"uptime\"\n content={locale.formatMessage('uptimeValue', toDatePeriod(information.sysUptime))}\n canCopy={false}\n />\n )}\n {manageServerInfo && (\n <Footer>\n <Button\n ghost\n component={Link}\n id=\"toServerInfo\"\n to=\"/cp/server/information/\"\n >\n <Translate content=\"more\" />\n </Button>\n </Footer>\n )}\n </>\n);\n\nServerInfo.propTypes = {\n server: PropTypes.object.isRequired,\n os: PropTypes.object.isRequired,\n viewer: PropTypes.object.isRequired,\n};\n\nexport default withPanelLayout(ServerInfo);\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Panel, Button, Status, Heading, Text } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { statusesMap } from './constants';\n\nconst locale = Locale.getSection('components.pages.Home.Status');\n\nconst BaseMessage = ({\n id,\n isHideable = false,\n type,\n onClose = () => {},\n children,\n ...props\n}) => (\n <Panel {...props} className={`home-page-status__panel home-page-status__panel--${statusesMap[type]}`}>\n <Heading\n className=\"home-page-dashboard__panel-heading\"\n level={5}\n >\n <span className=\"home-page-dashboard__panel-title\">\n <Status intent={statusesMap[type]}>{locale.lmsg(type.toLowerCase())}</Status>\n </span>\n {isHideable && (\n <Button\n ghost\n icon=\"cross-mark\"\n id={`close-${id}`}\n className=\"home-page-dashboard__panel-heading-control\"\n onClick={onClose}\n />\n )}\n </Heading>\n <Text component=\"div\">\n {children}\n </Text>\n </Panel>\n);\n\nBaseMessage.propTypes = {\n children: PropTypes.node.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.oneOf(Object.keys(statusesMap)).isRequired,\n isHideable: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nexport default BaseMessage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport { Draggable } from '@hello-pangea/dnd';\nimport PropTypes from 'prop-types';\nimport { useMutation } from '@apollo/client';\nimport { addToast } from 'helpers/toasts';\nimport BaseMessage from './BaseMessage';\nimport { statusesMap, ERROR, WARNING } from './constants';\nimport HIDE_SYSTEM_MESSAGE from '../queries/HideSystemMessage.graphql';\n\nimport WebserverConfigurationFailure from './WebserverConfigurationFailure';\nimport UpgradeFailureNotification from './UpgradeFailureNotification';\n\nconst statusComponents = {\n WebserverConfigurationFailure,\n UpgradeFailureNotification,\n};\n\nconst sortWeight = {\n [ERROR]: 0,\n [WARNING]: 1,\n};\n\nconst SystemMessages = ({ systemMessages }) => {\n const [messages, setMessages] = useState([...systemMessages].sort((a, b) => sortWeight[a.type] - sortWeight[b.type]));\n const [hideSystemMessage] = useMutation(HIDE_SYSTEM_MESSAGE);\n\n const handleHideMessage = message => {\n hideSystemMessage({ variables: { input: { key: message.key } } })\n .catch(error => {\n addToast({ intent: 'danger', message: error.toString() });\n });\n handleClose(message);\n };\n\n const handleClose = message => {\n setMessages(messages.filter(({ key }) => key !== message.key));\n };\n\n const renderStatus = (message, key) => {\n switch (message.component) {\n case 'WebserverConfigurationFailure':\n case 'UpgradeFailureNotification':\n // eslint-disable-next-line no-case-declarations\n const Component = statusComponents[message.component];\n return (\n <Component\n key={key}\n id={message.key}\n message={message.content}\n type={message.type}\n params={message.params}\n isHideable={message.isHideable}\n onClose={() => handleClose(message)}\n />);\n default:\n return (\n <BaseMessage\n key={key}\n id={message.key}\n isHideable={message.isHideable}\n type={message.type}\n onClose={() => handleHideMessage(message)}\n >\n {/* eslint-disable-next-line react/no-danger */}\n <div dangerouslySetInnerHTML={{ __html: message.content }} />\n </BaseMessage>\n );\n }\n };\n\n if (!messages.length) {\n return;\n }\n\n return (\n <Draggable draggableId=\"Status\" index={Number.MAX_SAFE_INTEGER} isDragDisabled>\n {({ innerRef } = {}) => (\n <div className={'home-page-dashboard__item home-page-status'} ref={innerRef}>\n {messages.map(renderStatus)}\n </div>\n )}\n </Draggable>\n );\n};\n\nSystemMessages.propTypes = {\n systemMessages: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(Object.keys(statusesMap)).isRequired,\n key: PropTypes.string.isRequired,\n isHideable: PropTypes.bool,\n content: PropTypes.string,\n component: PropTypes.string,\n params: PropTypes.string,\n }),\n ).isRequired,\n};\n\nexport default SystemMessages;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useRef, useMemo, useEffect, useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Footer from '../common/Footer';\nimport BaseMessage from './BaseMessage';\nimport { ContentLoader, Button } from '@plesk/ui-library';\nimport { Locale, api } from 'jsw';\n\nconst Translate = Locale.getTranslate('components.upgrade-failure-notification');\n\nconst UPDATE_INTERVAL = 5000;\n\nconst UpgradeFailureNotification = ({ params, message, type, ...props }) => {\n const scheduleTimeoutRef = useRef();\n const config = useMemo(() => {\n try {\n return JSON.parse(params);\n } catch {\n return {};\n }\n }, [params]);\n\n const [isBootstrapRunning, setIsBootstrapRunning] = useState(config.isBootstrapRunning);\n\n const schedule = useCallback(callback => {\n scheduleTimeoutRef.current = setTimeout(callback, UPDATE_INTERVAL);\n }, []);\n\n const updateStatus = useCallback(() => {\n api.get(config.bootstrapStatusUrl)\n .finally(() => {\n schedule(updateStatus);\n });\n }, [config.bootstrapStatusUrl, schedule]);\n\n useEffect(() => {\n if (config.isBootstrapRunning) {\n schedule(updateStatus);\n }\n\n return () => clearTimeout(scheduleTimeoutRef.current);\n }, [config.isBootstrapRunning, schedule, updateStatus]);\n\n\n const handleExecuteBootstraper = () => {\n setIsBootstrapRunning(true);\n\n api.post(config.bootstrapExecutionUrl)\n .finally(() => {\n schedule(updateStatus);\n });\n };\n\n return (\n <BaseMessage type={type} {...props}>\n {\n isBootstrapRunning ? (\n <ContentLoader text={<Translate content=\"bootstrapInProgressMessage\" />} />\n ) : (\n <>\n {message}\n <Footer>\n <Button\n ghost\n onClick={handleExecuteBootstraper}\n id=\"system-message-update-failure-bootstrap\"\n >\n <Translate content=\"bootstrapLinkTitle\" />\n </Button>\n </Footer>\n </>\n )\n }\n </BaseMessage>\n );\n};\n\nUpgradeFailureNotification.propTypes = {\n params: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n};\n\nexport default UpgradeFailureNotification;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo, useState } from 'react';\nimport { Button, ContentLoader, Cuttable } from '@plesk/ui-library';\nimport BaseMessage from './BaseMessage';\nimport Footer from '../common/Footer';\nimport { Locale, escapeHtml, redirectPost, api } from 'jsw';\nimport PropTypes from 'prop-types';\nimport { statusesMap, ERROR, INFO, WARNING } from './constants';\n\nconst locale = Locale.getSection('components.webserver-configuration-failure');\nconst Translate = Locale.getTranslate('components.webserver-configuration-failure');\n\nconst rebuildAllUrl = '/admin/subscription/webserver-configuration-rebuild-all/';\nconst rebuildFailedUrl = '/admin/subscription/webserver-configuration-rebuild/?returnUrl=/';\n\nconst ID_PREFIX = 'system-message-webserver';\n\nconst WebserverConfigurationFailure = ({ params = '', message, type: initialType, ...props }) => {\n const [type, setType] = useState(initialType);\n const [isHideable, setIsHideable] = useState(false);\n const [resultRebuildMessage, setResultRebuildMessage] = useState();\n\n const config = useMemo(() => {\n try {\n return JSON.parse(params);\n } catch {\n return {};\n }\n }, [params]);\n\n const handleRebuildAll = async () => {\n setType(WARNING);\n setResultRebuildMessage(<ContentLoader text={locale.lmsg('messageInProgress')} />);\n\n try {\n const result = await api.post(rebuildAllUrl);\n\n if (result.status === 'success') {\n // change type and render new message;\n setType(INFO);\n setResultRebuildMessage(locale.lmsg('messageSuccess'));\n setIsHideable(true);\n } else {\n setType(ERROR);\n setResultRebuildMessage(<Cuttable>{locale.lmsg('messageFailure') + result.message}</Cuttable>);\n }\n } catch (e) {\n if (window.location.port === '') {\n setType(INFO);\n // Configuration Troubleshooter restarts main web server, therefore the connection is always interrupted.\n setResultRebuildMessage(locale.lmsg('messageSuccess'));\n } else {\n setType(ERROR);\n setResultRebuildMessage(<Cuttable>{locale.lmsg('messageFailure') + e}</Cuttable>);\n }\n }\n };\n\n const handleRebuildFailed = () => {\n redirectPost(rebuildFailedUrl);\n };\n\n const renderMessage = () => (\n <>\n <Translate\n content=\"message\"\n params={{\n error: escapeHtml(message),\n link: (<a id={`${ID_PREFIX}-rebuild-failed`} onClick={handleRebuildFailed}>{locale.lmsg('link')}</a>),\n linkAll: (<a id={`${ID_PREFIX}-rebuild-all`} onClick={handleRebuildAll}>{locale.lmsg('linkAll')}</a>),\n howToFix:\n config.kbArticle ? (\n <Translate\n content=\"knownIssue\"\n params={{\n kbArticle: (\n <a\n id={`${ID_PREFIX}-go-to-kb-article`}\n href={config.kbArticle}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {config.kbArticle}\n </a>),\n }}\n />) : '',\n }}\n />\n {config.moduleInstalled && (\n <Footer>\n <Button\n ghost\n component=\"a\"\n href=\"/modules/configurations-troubleshooter/\"\n id={`${ID_PREFIX}-go-to-troubleshooter`}\n >\n <Translate content=\"moduleLink\" />\n </Button>\n </Footer>\n )}\n </>\n );\n\n return (\n <BaseMessage type={type} {...props} isHideable={isHideable}>\n {resultRebuildMessage ?? renderMessage()}\n </BaseMessage>\n );\n};\n\nWebserverConfigurationFailure.propTypes = {\n message: PropTypes.string.isRequired,\n type: PropTypes.oneOf(Object.keys(statusesMap)).isRequired,\n params: PropTypes.string,\n};\n\nexport default WebserverConfigurationFailure;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const ERROR = 'ERROR';\nexport const INFO = 'INFO';\nexport const WARNING = 'WARNING';\n\nexport const statusesMap = {\n [ERROR]: 'danger',\n [INFO]: 'success',\n [WARNING]: 'warning',\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Alert, Media as BaseMedia, MediaSection } from '@plesk/ui-library';\n\nconst Media = ({ button = undefined, children = undefined }) => (\n <BaseMedia>\n {children && (\n <MediaSection>\n {children}\n </MediaSection>\n )}\n {button && (\n <MediaSection>\n {button}\n </MediaSection>\n )}\n </BaseMedia>\n);\n\nMedia.propTypes = {\n button: PropTypes.node,\n children: PropTypes.node,\n};\n\nconst MediaBlock = ({ intent = undefined, ...props }) => intent !== null ? (\n <Alert intent={intent}><Media {...props} /></Alert>\n) : (\n <div style={{ marginBlock: '16px' }}>\n <Media {...props} />\n </div>\n);\n\nMediaBlock.propTypes = {\n intent: PropTypes.string,\n};\n\nexport default MediaBlock;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale, Observer } from 'jsw';\nimport { useMutation } from '@apollo/client';\nimport { useEffect, useState } from 'react';\nimport { Button, Text } from '@plesk/ui-library';\nimport Link from 'components/common/Link';\nimport Label from '../common/Label';\nimport MediaBlock from './MediaBlock';\nimport { addToast } from 'helpers/toasts';\n\nimport CHECK_UPDATES from './CheckUpdates.graphql';\nimport INSTALL_UPDATES from './InstallUpdates.graphql';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Updates');\n\nconst ProductUpdates = ({\n currentVersion,\n updates: { isAutoupdateEnabled, ...updates },\n settingsLink,\n showAvailableUpgrade = false,\n}) => {\n const [availablePatch, setAvailablePatch] = useState(updates.availablePatch);\n const [availableVersion, setAvailableVersion] = useState(showAvailableUpgrade ? updates.availableVersion : null);\n const [lastCheckDate, setLastCheckDate] = useState(updates.lastCheckDate);\n const [installingUpdatesTaskId, setInstallingUpdatesTaskId] = useState(updates.installingUpdatesTaskId);\n\n const [checkUpdates, { loading: checkingUpdates }] = useMutation(CHECK_UPDATES, {\n onCompleted: ({ checkProductUpdates: { productUpdates: { availablePatch, availableVersion, lastCheckDate } } }) => {\n setAvailablePatch(availablePatch);\n setAvailableVersion(availableVersion);\n setLastCheckDate(lastCheckDate);\n },\n onError: ({ graphQLErrors }) => {\n graphQLErrors.forEach(({ extensions, message }) => {\n addToast({\n intent: 'danger',\n message: extensions?.debugMessage || message,\n });\n });\n },\n });\n\n const [installUpdates, { loading: installingUpdates }] = useMutation(INSTALL_UPDATES, {\n onCompleted: ({ updateComponents: { id } }) => {\n setInstallingUpdatesTaskId(id);\n },\n onError: ({ graphQLErrors }) => {\n graphQLErrors.forEach(({ extensions, message }) => {\n addToast({\n intent: 'danger',\n message: extensions?.debugMessage || message,\n });\n });\n },\n });\n\n useEffect(() => {\n if (!installingUpdatesTaskId) {\n return;\n }\n\n Observer.append(({ id }) => {\n if (+id === +installingUpdatesTaskId) {\n window.location.reload();\n }\n }, 'plesk:taskComplete');\n }, [installingUpdatesTaskId]);\n\n return (\n <>\n {!isAutoupdateEnabled && (\n <Label\n intent=\"warning\"\n to={settingsLink}\n icon=\"triangle-exclamation-mark-filled\"\n >\n <Translate content=\"enableAutoupdate\" />\n </Label>\n )}\n <MediaBlock\n intent={lastCheckDate ? undefined : null}\n button={\n <Button\n id=\"checkUpdates\"\n onClick={checkUpdates}\n state={checkingUpdates ? 'loading' : undefined}\n >\n <Translate content=\"checkUpdates\" />\n </Button>\n }\n >\n {lastCheckDate && (\n <Text intent=\"muted\">\n <Translate content=\"lastChecked\" params={{ lastCheckDate }} />\n </Text>\n )}\n </MediaBlock>\n {availableVersion && (\n <MediaBlock\n intent=\"info\"\n button={\n <Button\n id=\"installNewVersion\"\n intent=\"primary\"\n component={Link}\n target=\"_blank\"\n to=\"/admin/update/product\"\n >\n <Translate content=\"installNewVersion\" />\n </Button>\n }\n >\n <Translate content=\"newVersionAvailable\" params={{ availableVersion }} />\n </MediaBlock>\n )}\n {availablePatch && !isAutoupdateEnabled && (\n <MediaBlock\n intent=\"info\"\n button={\n <Button\n id=\"installPatch\"\n intent=\"primary\"\n onClick={installUpdates}\n state={installingUpdates || installingUpdatesTaskId ? 'loading' : undefined}\n >\n <Translate content=\"installPatch\" />\n </Button>\n }\n >\n <Translate\n content={currentVersion ? 'patchAvailableVersion' : 'patchAvailable'}\n params={{ currentVersion }}\n />\n </MediaBlock>\n )}\n </>\n );\n};\n\nProductUpdates.propTypes = {\n currentVersion: PropTypes.string.isRequired,\n updates: PropTypes.object.isRequired,\n settingsLink: PropTypes.string.isRequired,\n showAvailableUpgrade: PropTypes.bool,\n};\n\nexport default ProductUpdates;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { useEffect, useState } from 'react';\nimport { useLazyQuery } from '@apollo/client';\nimport { Locale, Observer } from 'jsw';\nimport { Button } from '@plesk/ui-library';\nimport Link from 'components/common/Link';\nimport MediaBlock from './MediaBlock';\nimport { addToast } from 'helpers/toasts';\n\nimport PUM_UPDATES_QUERY from './PumUpdates.graphql';\n\nconst locale = Locale.getSection('components.pages.Home.Updates');\n\nconst PumUpdates = ({\n updates: { nodes: updates, pageInfo: { total } },\n installingUpdatesTaskId = undefined,\n}) => {\n const [taskId, setTaskId] = useState(installingUpdatesTaskId);\n\n const [handleUpdate, { loading }] = useLazyQuery(PUM_UPDATES_QUERY, {\n onCompleted: async ({ server: { pum: { updates: { nodes: updates } } } }) => {\n const { PopupPackagesUpdate } = await Plesk.require('app/pum');\n new PopupPackagesUpdate({\n urls: {\n packageUpdateInfo: '/admin/pum/update-info',\n updatePackages: '/admin/pum/update',\n },\n packages: updates.map(({ isLocked, currentVersion, availableVersion, ...update }) => ({\n locked: isLocked,\n version_from: currentVersion,\n version_to: availableVersion,\n ...update,\n })),\n onSuccess: ({ task: { id } }) => setTaskId(id),\n });\n },\n onError: ({ graphQLErrors }) => {\n graphQLErrors.forEach(({ extensions, message }) => {\n addToast({\n intent: 'danger',\n message: extensions?.debugMessage || message,\n });\n });\n },\n });\n\n useEffect(() => {\n if (!taskId) {\n return;\n }\n\n Observer.append(({ id }) => {\n if (+id === +taskId) {\n window.location.reload();\n }\n }, 'plesk:taskComplete');\n }, [taskId]);\n\n return updates.length ? (\n <MediaBlock\n intent=\"info\"\n button={\n <Button\n id=\"installPumUpdates\"\n intent=\"primary\"\n state={loading || taskId ? 'loading' : undefined}\n onClick={handleUpdate}\n >\n {locale.formatMessage('installUpdates', { total })}\n </Button>\n }\n >\n {locale.formatMessage('pumUpdates', {\n total,\n package: (\n <Link to=\"/admin/pum/updates-list\">\n {total === 1 ? locale.lmsg('pumPackage', updates[0]) : locale.formatMessage('pumPackages', { total }) }\n </Link>\n ),\n })}\n </MediaBlock>\n ) : null;\n};\n\nPumUpdates.propTypes = {\n updates: PropTypes.object.isRequired,\n installingUpdatesTaskId: PropTypes.number,\n};\n\nexport default PumUpdates;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Locale } from 'jsw';\nimport ProductUpdates from './ProductUpdates';\nimport PumUpdates from './PumUpdates';\nimport { Button, Text } from '@plesk/ui-library';\nimport Link from 'components/common/Link';\nimport withPanelLayout from '../common/withPanelLayout';\nimport Footer from '../common/Footer';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Updates');\n\nconst Title = ({\n server: {\n productVersion: { name, version, patch },\n },\n primaryKey: { editionName },\n}) => (\n <>\n <Translate\n component=\"div\"\n content=\"version\"\n params={{\n name,\n version: version && patch ? <Translate content=\"patch\" params={{ version, patch }} /> : version,\n }}\n />\n {editionName}\n </>\n);\n\nTitle.propTypes = {\n server: PropTypes.object.isRequired,\n primaryKey: PropTypes.object.isRequired,\n};\n\nconst Updates = ({\n server: {\n productVersion: { version },\n productUpdates: { lastUpdateDate, ...productUpdates },\n pum,\n },\n config: { updates: { showControls, visualNotifications } },\n mode: { isPumAllowed },\n viewer: { permissions: { manageServerUpdates } },\n}) => (\n <>\n {lastUpdateDate && (\n <Text component=\"p\" intent=\"muted\" fontSize=\"sm\">\n <Translate content=\"lastUpdated\" params={{ lastUpdateDate }} />\n </Text>\n )}\n {manageServerUpdates && (\n <>\n {showControls && (\n <ProductUpdates\n currentVersion={version}\n updates={productUpdates}\n showAvailableUpgrade={visualNotifications}\n settingsLink={isPumAllowed ? '/admin/pum/settings' : '/admin/update/settings'}\n />\n )}\n {isPumAllowed && (\n <PumUpdates {...pum} />\n )}\n <Footer>\n <Button\n ghost\n id=\"toInstaller\"\n component={Link}\n to=\"/admin/update/add-components\"\n target=\"_blank\"\n icon={{\n name: 'arrow-diagonal-out',\n style: {\n order: '1',\n marginInline: '4px 0',\n },\n }}\n >\n <Translate content=\"manageComponents\" />\n </Button>\n </Footer>\n </>\n )}\n </>\n);\n\nUpdates.propTypes = {\n server: PropTypes.object.isRequired,\n config: PropTypes.object.isRequired,\n mode: PropTypes.object.isRequired,\n viewer: PropTypes.object.isRequired,\n};\n\nexport default withPanelLayout(Updates, {\n title: props => props ? (<Title {...props} />) : <Translate content=\"title\" />,\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\n\nconst Footer = ({ children }) => (\n <div className=\"home-page-dashboard__panel-footer\">\n {children}\n </div>\n);\n\nFooter.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Footer;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Label as BaseLabel } from '@plesk/ui-library';\nimport Link from 'components/common/Link';\n\nconst Label = ({ children, ...props }) => (\n <BaseLabel\n component={Link}\n view=\"light\"\n size=\"lg\"\n {...props}\n >\n {children}\n </BaseLabel>\n);\n\nLabel.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Label;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Panel as BasePanel, Button, Heading, Icon } from '@plesk/ui-library';\nimport iconsMap from './iconsMap';\nimport { Locale } from 'jsw';\nimport TitleIcon from './TitleIcon';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('components.pages.Home.Customization');\nconst locale = Locale.getSection('components.pages.Home.Customization');\n\nconst Panel = ({\n name,\n title = undefined,\n icon = undefined,\n dragHandleProps = {},\n children = undefined,\n}) => (\n <BasePanel\n className=\"home-page-dashboard__panel\"\n data-type={`panel-${name}`}\n >\n <Heading\n className=\"home-page-dashboard__panel-heading\"\n level={5}\n >\n {icon ?? (\n <TitleIcon icon={iconsMap[name]} className=\"home-page-dashboard__panel-heading-icon\" />\n )}\n <span className=\"home-page-dashboard__panel-title\">\n {title ?? (\n <Translate content={name} />\n )}\n </span>\n <Button\n className=\"home-page-dashboard__panel-heading-control\"\n component=\"div\"\n data-type={`handle-${name}`}\n ghost\n icon={\n <Icon size=\"12\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 6 14\">\n <path\n d=\"M0 0h2v2H0zm0 4h2v2H0zm0 4h2v2H0zm0 4h2v2H0zM4 0h2v2H4zm0 4h2v2H4zm0 4h2v2H4zm0 4h2v2H4z\"\n />\n </svg>\n </Icon>\n }\n aria-label={locale.lmsg('drag')}\n {...dragHandleProps}\n />\n </Heading>\n {children}\n </BasePanel>\n);\n\nPanel.propTypes = {\n name: PropTypes.string.isRequired,\n title: PropTypes.node,\n icon: PropTypes.node,\n dragHandleProps: PropTypes.object,\n children: PropTypes.node,\n};\n\nexport default Panel;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { Icon as BaseIcon } from '@plesk/ui-library';\n\nconst TitleIcon = ({ icon = 'plugins', ...props }) => (\n <BaseIcon\n name={icon?.includes('.') ? undefined : icon}\n src={icon}\n intent=\"inactive\"\n {...props}\n />\n);\n\nTitleIcon.propTypes = {\n icon: PropTypes.string,\n};\n\nexport default TitleIcon;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport * as constants from '../constants';\n\nexport default {\n [constants.SERVER_INFO]: 'server',\n [constants.IP_BAN]: 'security-check',\n [constants.OVERUSED_SUBSCRIPTIONS]: 'bar-chart-vertical-lock',\n [constants.UPDATES]: 'rocket',\n [constants.BACKUP]: 'backup2',\n [constants.MY_SUBSCRIPTIONS]: 'four-squares',\n [constants.MAIL_QUEUE]: 'mail',\n [constants.PROMO]: 'star',\n [constants.CHANGE_LOG]: 'web',\n [constants.CUSTOM_BUTTONS]: 'card-row',\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { PropTypes } from 'prop-types';\nimport { StatusMessage } from '@plesk/ui-library';\nimport { Draggable } from '@hello-pangea/dnd';\nimport Panel from './Panel';\nimport classNames from 'classnames';\n\nconst DraggablePanel = ({\n name,\n title = undefined,\n icon = undefined,\n children = undefined,\n ...props\n}) => (\n <Draggable\n draggableId={name}\n {...props}\n >\n {({ innerRef, draggableProps, dragHandleProps } = {}, { isDragging } = {}) => (\n <div\n ref={innerRef}\n {...draggableProps}\n className={classNames('home-page-dashboard__item', isDragging && 'home-page-dashboard__panel-is-dragged')}\n >\n <Panel\n name={name}\n title={title}\n icon={icon}\n dragHandleProps={dragHandleProps}\n >\n {children}\n </Panel>\n </div>\n )}\n </Draggable>\n);\n\nDraggablePanel.propTypes = {\n name: PropTypes.string.isRequired,\n title: PropTypes.node,\n icon: PropTypes.node,\n children: PropTypes.node,\n};\n\nconst withPanelLayout = (Component, { title, icon } = {}) => {\n const Wrapper = ({ data: { data, errors = [] } = {}, name, ...props }) => (\n <DraggablePanel\n name={name}\n title={typeof title === 'function' ? title(data, name) : title}\n icon={typeof icon === 'function' ? icon(data, name) : icon}\n {...props}\n >\n {errors.length ? errors.map(error => (\n <StatusMessage intent=\"danger\" key={error}>{error}</StatusMessage>\n )) : (\n <Component name={name} {...data} />\n )}\n </DraggablePanel>\n );\n\n Wrapper.propTypes = {\n data: PropTypes.object,\n name: PropTypes.string.isRequired,\n };\n Wrapper.displayName = `withPanelLayout(${Component.displayName || Component.name || 'Component'})`;\n Wrapper.WrappedComponent = Component;\n\n return Wrapper;\n};\n\nexport default withPanelLayout;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { ApolloError } from '@apollo/client';\n\nexport const getGraphQlErrorMessage = ({ graphQLErrors, message }: ApolloError): string => {\n if (graphQLErrors.length) {\n const { message, extensions } = graphQLErrors[0];\n return `${extensions?.debugMessage || message}`;\n }\n\n return message;\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\n\nconst locale = Locale.getSection('components.status.reason');\n\nconst STATUS_WITH_PARENT = 2;\nconst STATUS_BACKUP_RESTORE = 4;\nconst STATUS_ADMIN = 16;\nconst STATUS_RESELLER = 32;\nconst STATUS_CLIENT = 64;\nconst STATUS_EXPIRED = 256;\n\ntype ObjectType = 'client' | 'domain' | 'reseller';\n\nexport const getClientStatusReason = (status: string): string => getStatusReason(+status, 'client');\nexport const getDomainStatusReason = (status: string): string => getStatusReason(+status, 'domain');\nexport const getResellerStatusReason = (status: string): string => getStatusReason(+status, 'reseller');\n\nexport const getSubscriptionStatusReason = (status: string): string => {\n if (status === '0') {\n return locale.lmsg('subscription.active');\n }\n\n if (parseInt(status) === STATUS_EXPIRED) {\n return locale.lmsg('subscription.inactiveExpired');\n }\n\n return locale.lmsg('subscription.inactive');\n};\n\nconst getStatusReason = (status: number, object: ObjectType): string => {\n if (status === 0) {\n return locale.lmsg(`${object}.active`);\n }\n\n if (status & STATUS_ADMIN) {\n return locale.lmsg(`${object}.inactiveByAdmin`);\n }\n\n if (status & STATUS_RESELLER) {\n return locale.lmsg(`${object}.inactiveByReseller`);\n }\n\n if (status & STATUS_CLIENT) {\n return locale.lmsg(`${object}.inactiveByClient`);\n }\n\n if (status & STATUS_WITH_PARENT) {\n return locale.lmsg(`${object}.inactiveWithParent`);\n }\n\n if (status & STATUS_EXPIRED) {\n return locale.lmsg(`${object}.inactiveExpired`);\n }\n\n if (status & STATUS_BACKUP_RESTORE) {\n return locale.lmsg(`${object}.inactiveBackupRestore`);\n }\n\n return locale.lmsg(`${object}.inactive`);\n};\n","module.exports = Jsw.skinUrl + \"/images/home-empty-locked.png?52e070d1fbdced45508805a9f0e7ba2b\";","module.exports = Jsw.skinUrl + \"/images/home-empty.png?7399f1d4c0cfd2e9fb9035098c85bc60\";","module.exports = Jsw.skinUrl + \"/images/home-switch-to-puv.svg?ad32dc23b5d4ca9daad5ff5a8cc58793\";","module.exports = Jsw.skinUrl + \"/images/rocket.svg?56fadbd90bfc0719c2796abfaa5c4369\";","module.exports = Jsw.skinUrl + \"/images/wave.png?cb207b07fa5bec748d1d05473f492a23\";","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeBackup\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backup\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minutes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hours\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"day\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dumps\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dateString\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":575}};\n doc.loc.source = {\"body\":\"query HomeBackup {\\n viewer {\\n login\\n client {\\n id\\n backup {\\n schedules {\\n type\\n period\\n isEnabled\\n minutes\\n hours\\n day\\n }\\n dumps(input: { pagination: { page: 1, itemsPerPage: 1 } }) {\\n nodes {\\n id\\n dateString\\n status\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeBackup\"] = oneQuery(doc, \"HomeBackup\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeChangeLog\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"changeLogFeed\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPatch\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":255}};\n doc.loc.source = {\"body\":\"query HomeChangeLog {\\n server {\\n productUpdates {\\n changeLogFeed {\\n product\\n title\\n version\\n date\\n url\\n isPatch\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeChangeLog\"] = oneQuery(doc, \"HomeChangeLog\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeCustomButtons\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerCustomButtons\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customButtons\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"image\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"href\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":333}};\n doc.loc.source = {\"body\":\"query HomeCustomButtons {\\n viewer {\\n login\\n permissions {\\n manageServerCustomButtons\\n }\\n home {\\n customButtons {\\n id\\n title\\n description\\n image\\n href\\n target\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeCustomButtons\"] = oneQuery(doc, \"HomeCustomButtons\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeExtension\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensionBlockContent\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"footer\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":215}};\n doc.loc.source = {\"body\":\"query HomeExtension($name: ID!) {\\n viewer {\\n login\\n home {\\n extensionBlockContent (filter: {name: $name}) {\\n content\\n footer\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeExtension\"] = oneQuery(doc, \"HomeExtension\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeIpBan\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipBan\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bannedIpsCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustedIpsCount\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":120}};\n doc.loc.source = {\"body\":\"query HomeIpBan {\\n server {\\n ipBan {\\n bannedIpsCount\\n trustedIpsCount\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeIpBan\"] = oneQuery(doc, \"HomeIpBan\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CleanQueue\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailQueueClean\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"queue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deferred\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hold\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":238}};\n doc.loc.source = {\"body\":\"mutation CleanQueue {\\n mailQueueClean {\\n query {\\n serverMail {\\n queue {\\n total\\n deferred\\n hold\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CleanQueue\"] = oneQuery(doc, \"CleanQueue\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeMailQueue\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extLogBrowser\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extRepairKit\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"queue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deferred\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hold\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerTroubleshootingEnable\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"extLog\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extLogBrowser\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Extension\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isActive\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"extRepair\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extRepairKit\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Extension\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isActive\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":520}};\n doc.loc.source = {\"body\":\"query HomeMailQueue ($extLogBrowser: ID!, $extRepairKit: ID!) {\\n serverMail {\\n queue {\\n total\\n deferred\\n hold\\n }\\n }\\n viewer {\\n login\\n permissions {\\n manageServerTroubleshootingEnable\\n }\\n }\\n extLog: node(id: $extLogBrowser) {\\n ... on Extension {\\n id\\n isActive\\n }\\n }\\n extRepair: node(id: $extRepairKit) {\\n ... on Extension {\\n id\\n isActive\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeMailQueue\"] = oneQuery(doc, \"HomeMailQueue\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomePromo\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"promos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buttonUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buttonText\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buttonTarget\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"text\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iconUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showPuvPromo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locked\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"promos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autoplay\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":309}};\n doc.loc.source = {\"body\":\"query HomePromo {\\n promos {\\n title\\n buttonUrl\\n buttonText\\n buttonTarget\\n text\\n iconUrl\\n }\\n viewer {\\n login\\n home {\\n showPuvPromo\\n locked\\n }\\n }\\n config {\\n promos {\\n autoplay\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomePromo\"] = oneQuery(doc, \"HomePromo\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckProductUpdates\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkProductUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePatch\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDate\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":182}};\n doc.loc.source = {\"body\":\"mutation CheckProductUpdates {\\n checkProductUpdates {\\n productUpdates {\\n availablePatch\\n availableVersion\\n lastCheckDate\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CheckProductUpdates\"] = oneQuery(doc, \"CheckProductUpdates\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateComponents\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateComponents\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":70}};\n doc.loc.source = {\"body\":\"mutation UpdateComponents {\\n updateComponents {\\n id\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpdateComponents\"] = oneQuery(doc, \"UpdateComponents\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PumUpdates\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currentVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocked\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":268}};\n doc.loc.source = {\"body\":\"query PumUpdates {\\n server {\\n pum {\\n updates {\\n nodes {\\n name\\n currentVersion\\n availableVersion\\n isLocked\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PumUpdates\"] = oneQuery(doc, \"PumUpdates\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"HideSystemMessage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"HideSystemMessageInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hideSystemMessage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isHideable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":481}};\n doc.loc.source = {\"body\":\"mutation HideSystemMessage($input: HideSystemMessageInput!) {\\n hideSystemMessage(input: $input) {\\n query {\\n viewer {\\n login\\n home {\\n systemMessages {\\n type\\n key\\n content\\n isHideable\\n component\\n params\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HideSystemMessage\"] = oneQuery(doc, \"HideSystemMessage\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeLayout\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":98}};\n doc.loc.source = {\"body\":\"query HomeLayout {\\n viewer {\\n login\\n home {\\n layout\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeLayout\"] = oneQuery(doc, \"HomeLayout\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"ToggleHomeBlock\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enable\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleHomeBlock\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"enable\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enable\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":146}};\n doc.loc.source = {\"body\":\"mutation ToggleHomeBlock($name: ID!, $enable: Boolean!) {\\n toggleHomeBlock(name: $name, enable: $enable) {\\n name\\n enable\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ToggleHomeBlock\"] = oneQuery(doc, \"ToggleHomeBlock\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateHomeLayout\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateHomeLayout\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":115}};\n doc.loc.source = {\"body\":\"mutation UpdateHomeLayout($layout: [[String!]!]!) {\\n updateHomeLayout(layout: $layout) {\\n layout\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpdateHomeLayout\"] = oneQuery(doc, \"UpdateHomeLayout\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"HideHomeViewPromo\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hideHomeViewPromo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedbackURL\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":217}};\n doc.loc.source = {\"body\":\"mutation HideHomeViewPromo {\\n hideHomeViewPromo {\\n query {\\n viewer {\\n login\\n home {\\n feedbackURL\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HideHomeViewPromo\"] = oneQuery(doc, \"HideHomeViewPromo\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"SwitchHomeView\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enableNewView\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"switchHomeView\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"enableNewView\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"enableNewView\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableNewView\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":134}};\n doc.loc.source = {\"body\":\"mutation SwitchHomeView($enableNewView: Boolean!) {\\n switchHomeView(enableNewView: $enableNewView) {\\n enableNewView\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SwitchHomeView\"] = oneQuery(doc, \"SwitchHomeView\");\n \n"],"names":["listLocale","Locale","getSection","SORT_ASC","SORT_DESC","ALL_ITEMS_PER_PAGE","storage","set","key","data","localStorage","setItem","JSON","stringify","get","getItem","parse","getSortListName","id","getPageListName","List","columns","itemsPerPage","defaultItemsPerPage","itemsPerPageOptions","sortColumn","defaultSortColumn","sortDirection","defaultSortDirection","searchField","locale","emptyView","emptyFilteredView","toolbar","selection","onSelectionChange","searchBarInputProps","rowKey","useStorage","props","setSortState","useSortState","defaultColumn","defaultDirection","setState","useState","state","find","sortable","page","searchPattern","setPageState","usePageState","includes","listEmptyView","useMemo","_jsx","ListEmptyView","reason","columnsData","map","sortDataField","column","filteredData","filter","row","Array","isArray","some","field","String","toLowerCase","sortedData","compare","sort","defaultCompare","a","b","displayData","from","to","slice","handleSearchPatternChange","useCallback","term","handleItemsPerPageChange","Math","ceil","length","useEffect","newSelection","item","getRowKey","BaseList","pagination","Pagination","current","total","onSelect","onItemsPerPageChange","_jsxs","Toolbar","children","_Fragment","ToolbarExpander","ToolbarGroup","title","SearchBar","inputProps","placeholder","lmsg","value","onTyping","totalRows","onSortChange","filtered","formatMessage","propTypes","PropTypes","isRequired","ApolloErrorMessage","error","networkError","statusCode","StatusMessage","intent","getGraphQlErrorMessage","message","CopyToClipboardButton","content","icon","className","tooltip","onCopy","Button","ghost","tooltipAsLabel","onClick","copyToClipboard","SkeletonWrapper","loading","fallback","TransitionGroup","CSSTransition","classNames","timeout","toString","Translate","getTranslate","DayOfWeekTranslate","PERIOD_HOURLY","PERIOD_DAILY","PERIOD_WEEKLY","PERIOD_MONTHLY","PERIOD_YEARLY","Schedule","showHourlyOption","period","timezone","hidePeriod","values","handleFieldChange","FormField","label","name","description","params","isDisabled","Select","size","onChange","disabled","getIn","SelectOption","day","max","Object","keys","fill","hours","hour","minute","TYPE_CONFIGURATION","TYPE_MAIL","TYPE_FILES","TYPE_DATABASE","Content","isMailServiceSupported","handleContentChange","type","val","FormFieldCheckbox","Promo","showBuyLink","url","newWindow","onDetailsClick","Status","Text","fontSize","rel","href","target","TYPE_LOCAL","TYPE_REMOTE","TYPE_BOTH","Storage","settings","localEnabled","ftpEnabled","ftpConfigured","ftpActive","ftpServer","ftpBaseDir","showCloudStorages","cloudStorages","isAdmin","dumpsRepoDir","urls","ftpSettings","ftpSettingsUrl","remoteStorages","remoteStoragesUrl","promo","showPromo","setShowPromo","isLocalAvailable","isFtpAvailable","isCloudAvailable","repository","remoteStorage","splitBackup","ftpUri","baseDir","startsWith","substring","storages","repo","path","dangerouslySetInnerHTML","__html","uri","link","Boolean","UAT","dispatchAction","destination","FormFieldRadioButtons","options","FormFieldSelect","style","display","flexGrow","gap","alignItems","Checkbox","checked","Input","e","dayOfWeekLocale","contentLocale","displayTime","time","displayDayOfWeek","displayDay","renderType","renderSchedule","minutes","round","renderContent","renderStorage","ScheduledBackupList","initialData","onEdit","deactivateUrl","toggling","setToggling","setData","handleDeactivate","async","status","api","post","addToast","el","width","render","Switch","enable","handleToggle","array","func","string","withPanelLayout","Backup","useQuery","BACKUP_QUERY","context","noBatch","Paragraph","component","SkeletonText","lines","Details","Link","periods","PERIOD_EVERY_2_HOURS","PERIOD_EVERY_3_HOURS","PERIOD_EVERY_4_HOURS","PERIOD_EVERY_6_HOURS","PERIOD_EVERY_8_HOURS","PERIOD_EVERY_12_HOURS","getLinkToDump","objectId","split","buildUrl","taskId","restoreParams","dumpId","storageName","isFailedDump","getSchedule","schedule","viewer","client","backup","schedules","dumps","nodes","lastBackup","activeSchedules","isEnabled","marginBottom","Tooltip","Icon","dateString","undefined","object","ChangeLog","server","productUpdates","changeLogUrl","CHANGE_LOG_QUERY","Feed","Footer","order","marginInline","FeedItem","date","formatDate","changeLogFeed","items","pleskRelease","product","isPatch","isPrimary","ItemList","version","Item","hoverable","Alert","Media","image","padding","borderRadius","backgroundColor","src","require","align","imageAlign","CustomButtons","CUSTOM_BUTTONS_QUERY","Skeleton","height","home","customButtons","handleClick","window","open","redirect","permissions","manageServerCustomButtons","EmptyView","response","HOME_PAGE","isLocked","locked","emptyLockedImg","emptyImg","alt","actions","AsyncContent","skeletonSize","EXTENSION_QUERY","variables","extensionBlockContent","number","footer","JswComponent","getData","extensions","extension","Title","EXTENSIONS_QUERY","TitleIcon","Extension","_","panelsMap","constants","ServerInfo","IpBan","OverusedSubscriptions","Updates","MySubscriptions","MailQueue","Column","index","panels","systemMessages","Droppable","droppableId","innerRef","droppableProps","ref","isExtension","Component","node","HomePage","HOME_PAGE_QUERY","layout","setLayout","feedbackURL","updateLayout","useMutation","UPDATE_LAYOUT","refetchQueries","query","LAYOUT_QUERY","PromoNewHomeView","isEmptyLayout","DragDropContext","onDragEnd","handleDragEnd","draggableId","source","currentLayout","newPanels","splice","SystemMessages","Outlet","IP_BAN_QUERY","Statistics","ipBan","bannedIpsCount","trustedIpsCount","Label","MAIL_QUEUE_QUERY","extLogBrowser","btoa","extRepairKit","cleanConfirmVisible","setCleanConfirmVisible","cleanQueue","cleanLoading","CLEAN_QUEUE","onCompleted","onError","graphQLErrors","forEach","debugMessage","isVisibleLogBtn","manageServerTroubleshootingEnable","extLog","isActive","isVisibleRepairBtn","extRepair","serverMail","queue","Popover","placement","visible","onClose","handleClean","deferred","hold","view","createDomains","subscriptions","mainDomain","getSubscriptionStatusReason","getId","ExternalLink","pageInfo","SubscriptionsList","limits","all","Cuttable","marginTop","limit","bold","Carousel","autoplay","onSlide","slidesCount","Children","count","activeIndex","setActiveIndex","setSlide","setSlideRef","useRef","setTimeout","nextIndex","clearTimeout","slideNumber","child","hidden","promos","showPuvPromo","config","PROMOS_QUERY","toggleBlock","TOGGLE_BLOCK","curr","setCurr","closed","setClosed","closePromo","CUSTOMIZATION_QUERY","awaitRefetchQueries","handleSlide","pos","CustomizeSlide","showCustomizeButton","SwitchToPUV","test","buttonUrl","Draggable","Number","MAX_SAFE_INTEGER","isDragDisabled","PromoContent","customClassNames","BaseContent","action","iconUrl","Heading","level","Customize","preload","autoPlay","muted","controls","loop","buttonText","buttonTarget","text","setLoading","handleSwitchToPuv","then","Actions","progress","switchView","Columns","Action","navigate","useNavigate","setProgress","SWITCH_HOME_VIEW","enableNewView","hidePromo","HIDE_PROMO","waveImg","MediaSection","Block","canCopy","copyTooltip","defaultIpAddress","fullHostName","information","os","osName","manageServerInfo","ipAddress","publicIpAddress","sysUptime","toDatePeriod","BaseMessage","isHideable","Panel","statusesMap","statusComponents","WebserverConfigurationFailure","UpgradeFailureNotification","sortWeight","ERROR","WARNING","messages","setMessages","hideSystemMessage","HIDE_SYSTEM_MESSAGE","handleClose","renderStatus","input","catch","handleHideMessage","scheduleTimeoutRef","isBootstrapRunning","setIsBootstrapRunning","callback","updateStatus","bootstrapStatusUrl","finally","ContentLoader","handleExecuteBootstraper","bootstrapExecutionUrl","ID_PREFIX","initialType","setType","setIsHideable","resultRebuildMessage","setResultRebuildMessage","handleRebuildAll","result","INFO","location","port","handleRebuildFailed","redirectPost","escapeHtml","linkAll","howToFix","kbArticle","moduleInstalled","button","BaseMedia","MediaBlock","marginBlock","ProductUpdates","currentVersion","updates","isAutoupdateEnabled","settingsLink","showAvailableUpgrade","availablePatch","setAvailablePatch","availableVersion","setAvailableVersion","lastCheckDate","setLastCheckDate","installingUpdatesTaskId","setInstallingUpdatesTaskId","checkUpdates","checkingUpdates","CHECK_UPDATES","checkProductUpdates","installUpdates","installingUpdates","INSTALL_UPDATES","updateComponents","Observer","append","reload","bool","PumUpdates","setTaskId","handleUpdate","useLazyQuery","PUM_UPDATES_QUERY","pum","PopupPackagesUpdate","Plesk","packageUpdateInfo","updatePackages","packages","update","version_from","version_to","onSuccess","task","package","productVersion","patch","primaryKey","editionName","lastUpdateDate","showControls","visualNotifications","mode","isPumAllowed","manageServerUpdates","BaseLabel","dragHandleProps","BasePanel","iconsMap","xmlns","viewBox","d","BaseIcon","DraggablePanel","draggableProps","isDragging","Wrapper","errors","displayName","WrappedComponent","getClientStatusReason","getStatusReason","getDomainStatusReason","getResellerStatusReason","parseInt","module","exports","Jsw","skinUrl","doc","loc","collectFragmentReferences","refs","kind","add","selectionSet","selections","variableDefinitions","def","definitions","definitionRefs","findOperation","i","element","Set","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","prevRefs","has","childRef","op","push","oneQuery"],"sourceRoot":""}
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
AspDotNetSettingsPage
---
0755
DatabasesPage
---
0755
InfoAndStatisticsPage
---
0755
OdbcPage
---
0755
SummaryReportLayoutsPage
---
0755
VirtualDirectoryPage
---
0755
ActionLogPage.js
13088 bytes
0644
ActionLogPage.js.map
47064 bytes
0644
AssignIpAddressToResellerForm.js
6725 bytes
0644
AssignIpAddressToResellerForm.js.map
21526 bytes
0644
BandwidthLimitingPage.js
6881 bytes
0644
BandwidthLimitingPage.js.map
20714 bytes
0644
BrandingPage.js
12229 bytes
0644
BrandingPage.js.map
40616 bytes
0644
ChangeSubscriptionsOwnerPage.js
20015 bytes
0644
ChangeSubscriptionsOwnerPage.js.map
68681 bytes
0644
ConfigureMailClientPage.js
19148 bytes
0644
ConfigureMailClientPage.js.map
54780 bytes
0644
ConnectionInfo.js
19482 bytes
0644
ConnectionInfo.js.map
60127 bytes
0644
CreateMassMailTemplatePage.js
7938 bytes
0644
CreateMassMailTemplatePage.js.map
25649 bytes
0644
DatabasesPage.js
24239 bytes
0644
DatabasesPage.js.map
82958 bytes
0644
DomainsResourceUsagePage.js
2519 bytes
0644
DomainsResourceUsagePage.js.map
7223 bytes
0644
EditMassMailTemplatePage.js
6276 bytes
0644
EditMassMailTemplatePage.js.map
19693 bytes
0644
FirewallGeneralPage.js
13911 bytes
0644
FirewallGeneralPage.js.map
45778 bytes
0644
FirewallIcmpPage.js
7583 bytes
0644
FirewallIcmpPage.js.map
26718 bytes
0644
FirewallRulesPage.js
14054 bytes
0644
FirewallRulesPage.js.map
49533 bytes
0644
HomeCustomizationPage.js
7699 bytes
0644
HomeCustomizationPage.js.map
26789 bytes
0644
HomePage.js
108563 bytes
0644
HomePage.js.map
343571 bytes
0644
HostingSettingsPage.js
58717 bytes
0644
HostingSettingsPage.js.map
182095 bytes
0644
HotlinkProtectionPage.js
5459 bytes
0644
HotlinkProtectionPage.js.map
16592 bytes
0644
InfoAndStatisticsPage.js
1517 bytes
0644
InfoAndStatisticsPage.js.map
4468 bytes
0644
IpAddressDomainsPage.js
2527 bytes
0644
IpAddressDomainsPage.js.map
9631 bytes
0644
MassMailPage.js
3803 bytes
0644
MassMailPage.js.map
11880 bytes
0644
MoveDatabasePage.js
2348 bytes
0644
MoveDatabasePage.js.map
9743 bytes
0644
OdbcAddPage.js
5856 bytes
0644
OdbcAddPage.js.map
19713 bytes
0644
OdbcEditPage.js
8922 bytes
0644
OdbcEditPage.js.map
32573 bytes
0644
PanelNotificationsSettings.js
8676 bytes
0644
PanelNotificationsSettings.js.map
30239 bytes
0644
ProtectedDirectoryAddPage.js
7824 bytes
0644
ProtectedDirectoryAddPage.js.map
25902 bytes
0644
ProtectedDirectoryEditPage.js
8522 bytes
0644
ProtectedDirectoryEditPage.js.map
27389 bytes
0644
ProtectedDirectoryListPage.js
7523 bytes
0644
ProtectedDirectoryListPage.js.map
23418 bytes
0644
ProtectedDirectoryUserAddPage.js
5359 bytes
0644
ProtectedDirectoryUserAddPage.js.map
19045 bytes
0644
ProtectedDirectoryUserListPage.js
6399 bytes
0644
ProtectedDirectoryUserListPage.js.map
21441 bytes
0644
ProtectedDirectoryUserPasswordPage.js
4683 bytes
0644
ProtectedDirectoryUserPasswordPage.js.map
16610 bytes
0644
ScheduledBackupListPage.js
32356 bytes
0644
ScheduledBackupListPage.js.map
106674 bytes
0644
ScheduledBackupPage.js
23406 bytes
0644
ScheduledBackupPage.js.map
73098 bytes
0644
SendMassMailPage.js
14172 bytes
0644
SendMassMailPage.js.map
42796 bytes
0644
ServerAboutPage.js
4471 bytes
0644
ServerAboutPage.js.map
12644 bytes
0644
ServerComponentsPage.js
34358 bytes
0644
ServerComponentsPage.js.map
113247 bytes
0644
ServerInformationPage.js
5907 bytes
0644
ServerInformationPage.js.map
17780 bytes
0644
ServerSettingsPage.js
10390 bytes
0644
ServerSettingsPage.js.map
31759 bytes
0644
SpamFilterBlackListPage.js
9240 bytes
0644
SpamFilterBlackListPage.js.map
35310 bytes
0644
SpamFilterSettingsPage.js
6210 bytes
0644
SpamFilterSettingsPage.js.map
22487 bytes
0644
SpamFilterWhiteListPage.js
9240 bytes
0644
SpamFilterWhiteListPage.js.map
35318 bytes
0644
SummaryReportLayoutsPage.js
10170 bytes
0644
SummaryReportLayoutsPage.js.map
36379 bytes
0644
SummaryReportPage.js
20200 bytes
0644
SummaryReportPage.js.map
60542 bytes
0644
SummaryReportSchedulesPage.js
18905 bytes
0644
SummaryReportSchedulesPage.js.map
65098 bytes
0644
SystemTimePage.js
12937 bytes
0644
SystemTimePage.js.map
42357 bytes
0644
TrafficHistoryReportPage.js
4937 bytes
0644
TrafficHistoryReportPage.js.map
18836 bytes
0644
TrafficUsageByClientsPage.js
6100 bytes
0644
TrafficUsageByClientsPage.js.map
18770 bytes
0644
TrafficUsageByDomainPage.js
9382 bytes
0644
TrafficUsageByDomainPage.js.map
32899 bytes
0644
TrafficUsageByDomainsPage.js
8416 bytes
0644
TrafficUsageByDomainsPage.js.map
26009 bytes
0644
TrafficUsageByResellerPage.js
5505 bytes
0644
TrafficUsageByResellerPage.js.map
16280 bytes
0644
TsSessionPage.js
7464 bytes
0644
TsSessionPage.js.map
25275 bytes
0644
TsSessionsPage.js
11824 bytes
0644
TsSessionsPage.js.map
43136 bytes
0644
VirtualDirectoryPage.js
1938 bytes
0644
VirtualDirectoryPage.js.map
5771 bytes
0644
VirtualHostTemplatePage.js
11914 bytes
0644
VirtualHostTemplatePage.js.map
44898 bytes
0644
N4ST4R_ID | Naxtarrr