refactor(portainer): move to react [EE-3350] (#7915)

pull/7761/head
Chaim Lev-Ari 2022-11-13 10:10:18 +02:00 committed by GitHub
parent 30e23ea5b4
commit 78dcba614d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
192 changed files with 200 additions and 211 deletions

View File

@ -3,7 +3,7 @@ import _ from 'lodash-es';
import { PorImageRegistryModel } from 'Docker/models/porImageRegistry';
import * as envVarsUtils from '@/portainer/helpers/env-vars';
import { FeatureId } from 'Portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { ContainerCapabilities, ContainerCapability } from '../../../models/containerCapabilities';
import { AccessControlFormData } from '../../../../portainer/components/accessControlForm/porAccessControlFormModel';
import { ContainerDetailsViewModel } from '../../../models/container';

View File

@ -2,7 +2,7 @@ import moment from 'moment';
import _ from 'lodash-es';
import { PorImageRegistryModel } from 'Docker/models/porImageRegistry';
import { confirmContainerDeletion } from '@/portainer/services/modal.service/prompt';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { ResourceControlType } from '@/react/portainer/access-control/types';
angular.module('portainer.docker').controller('ContainerController', [

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
export default class DockerFeaturesConfigurationController {
/* @ngInject */

View File

@ -4,7 +4,7 @@ import _ from 'lodash';
import { Environment } from '@/react/portainer/environments/types';
import { AMTDevicesDatatable } from '@/edge/EdgeDevices/EdgeDevicesView/AMTDevicesDatatable/AMTDevicesDatatable';
import { EnvironmentGroup } from '@/portainer/environment-groups/types';
import { EnvironmentGroup } from '@/react/portainer/environments/environment-groups/types';
import { PaginationControls } from '@@/PaginationControls';
import {

View File

@ -2,7 +2,7 @@ import { useState } from 'react';
import { useEnvironmentList } from '@/react/portainer/environments/queries/useEnvironmentList';
import { EdgeTypes, Environment } from '@/react/portainer/environments/types';
import { useDebounce } from '@/portainer/hooks/useDebounce';
import { useDebounce } from '@/react/hooks/useDebounce';
import { useSearchBarState } from '@@/datatables/SearchBar';
import {

View File

@ -1,7 +1,8 @@
import { CellProps, Column } from 'react-table';
import { Environment } from '@/react/portainer/environments/types';
import { EdgeIndicator } from '@/portainer/home/EnvironmentList/EnvironmentItem/EdgeIndicator';
import { EdgeIndicator } from '@@/EdgeIndicator';
export const heartbeat: Column<Environment> = {
Header: 'Heartbeat',

View File

@ -1,7 +1,7 @@
import { useState } from 'react';
import { useSettings } from '@/react/portainer/settings/queries';
import { useGroups } from '@/portainer/environment-groups/queries';
import { useGroups } from '@/react/portainer/environments/environment-groups/queries';
import { PageHeader } from '@@/PageHeader';
import { ViewLoading } from '@@/ViewLoading';

View File

@ -6,8 +6,11 @@ import angular from 'angular';
import { UI_ROUTER_REACT_HYBRID } from '@uirouter/react-hybrid';
import './matomo-setup';
import analyticsModule from './angulartics.matomo';
import { Edition } from '@/react/portainer/feature-flags/enums';
import { init as initFeatureService } from '@/react/portainer/feature-flags/feature-flags.service';
import analyticsModule from './angulartics.matomo';
import './agent';
import { azureModule } from './azure';
import './docker/__module';
@ -17,8 +20,6 @@ import './portainer/__module';
import { onStartupAngular } from './app';
import { configApp } from './config';
import { init as initFeatureService } from './portainer/feature-flags/feature-flags.service';
import { Edition } from './portainer/feature-flags/enums';
import { nomadModule } from './nomad';
initFeatureService(Edition[process.env.PORTAINER_EDITION]);

View File

@ -1,6 +1,6 @@
import { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { editor, upload } from '@@/BoxSelector/common-options/build-methods';
class KubeCreateCustomTemplateViewController {

View File

@ -1,6 +1,6 @@
import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel';
import { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils';
class KubeEditCustomTemplateViewController {

View File

@ -4,7 +4,7 @@ import { KubernetesStorageClass, KubernetesStorageClassAccessPolicies } from 'Ku
import { KubernetesFormValidationReferences } from 'Kubernetes/models/application/formValues';
import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants';
import KubernetesNamespaceHelper from 'Kubernetes/helpers/namespaceHelper';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { getIngressControllerClassMap, updateIngressControllerClassMap } from '@/react/kubernetes/cluster/ingressClass/utils';

View File

@ -6,7 +6,7 @@ import uuidv4 from 'uuid/v4';
import PortainerError from '@/portainer/error';
import { KubernetesDeployManifestTypes, KubernetesDeployBuildMethods, KubernetesDeployRequestMethods, RepositoryMechanismTypes } from 'Kubernetes/models/deploy';
import { renderTemplate } from '@/react/portainer/custom-templates/components/utils';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { compose, kubernetes } from '@@/BoxSelector/common-options/deployment-methods';
import { editor, git, template, url } from '@@/BoxSelector/common-options/build-methods';

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
class StorageClassSwitchController {
/* @ngInject */

View File

@ -6,7 +6,7 @@ import { KubernetesResourcePoolFormValues, KubernetesResourcePoolIngressClassHos
import { KubernetesIngressConverter } from 'Kubernetes/ingress/converter';
import { KubernetesFormValidationReferences } from 'Kubernetes/models/application/formValues';
import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { getIngressControllerClassMap, updateIngressControllerClassMap } from '@/react/kubernetes/cluster/ingressClass/utils';
class KubernetesCreateResourcePoolController {

View File

@ -12,7 +12,7 @@ import { KubernetesFormValidationReferences } from 'Kubernetes/models/applicatio
import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants';
import KubernetesResourceQuotaConverter from 'Kubernetes/converters/resourceQuota';
import KubernetesNamespaceHelper from 'Kubernetes/helpers/namespaceHelper';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { updateIngressControllerClassMap, getIngressControllerClassMap } from '@/react/kubernetes/cluster/ingressClass/utils';
class KubernetesResourcePoolController {

View File

@ -1,5 +1,5 @@
import angular from 'angular';
import { FeatureId } from 'Portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
angular.module('portainer.kubernetes').controller('KubernetesSecurityConstraintController', [
'$scope',

View File

@ -1,9 +1,11 @@
import _ from 'lodash-es';
import featureFlagModule from '@/react/portainer/feature-flags';
import './rbac';
import componentsModule from './components';
import settingsModule from './settings';
import featureFlagModule from './feature-flags';
import userActivityModule from './user-activity';
import servicesModule from './services';
import { reactModule } from './react';

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { getFeatureDetails } from '@@/BEFeatureIndicator/utils';

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { BoxSelectorOption } from '@@/BoxSelector/types';
import { IconProps } from '@@/Icon';

View File

@ -2,7 +2,7 @@ import _ from 'lodash-es';
import angular from 'angular';
import { RoleTypes } from '@/portainer/rbac/models/role';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
class PorAccessManagementController {
/* @ngInject */

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { PortainerEndpointTypes } from 'Portainer/models/endpoint/models';
angular.module('portainer.docker').controller('RegistriesDatatableController', RegistriesDatatableController);

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
class GitFormAutoUpdateFieldsetController {
/* @ngInject */

View File

@ -1,6 +1,6 @@
import uuidv4 from 'uuid/v4';
import { RepositoryMechanismTypes } from 'Kubernetes/models/deploy';
import { FeatureId } from 'Portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
class StackRedeployGitFormController {
/* @ngInject */
constructor($async, $state, $compile, $scope, StackService, ModalService, Notifications, WebhookHelper, FormHelper) {

View File

@ -1,6 +1,6 @@
import { Edit } from 'react-feather';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import Microsoft from '@/assets/ico/vendor/microsoft.svg?c';
import Google from '@/assets/ico/vendor/google.svg?c';
import Github from '@/assets/ico/vendor/github.svg?c';

View File

@ -1,6 +1,6 @@
import { baseHref } from '@/portainer/helpers/pathHelper';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import providers, { getProviderByUrl } from './providers';
const MS_TENANT_ID_PLACEHOLDER = 'TENANT_ID';

View File

@ -1,5 +1,5 @@
import _ from 'lodash-es';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { getEnvironments } from '@/react/portainer/environments/environment.service';
import AccessViewerPolicyModel from '../../models/access';

View File

@ -1,6 +1,6 @@
import angular from 'angular';
import { HomeView } from '@/portainer/home';
import { HomeView } from '@/react/portainer/HomeView';
import { withCurrentUser } from '@/react-tools/withCurrentUser';
import { r2a } from '@/react-tools/react2angular';
import { withReactQuery } from '@/react-tools/withReactQuery';

View File

@ -3,7 +3,7 @@ import { loadProgressBar } from 'axios-progress-bar';
import 'axios-progress-bar/dist/nprogress.css';
import PortainerError from '@/portainer/error';
import { get as localStorageGet } from '@/portainer/hooks/useLocalStorage';
import { get as localStorageGet } from '@/react/hooks/useLocalStorage';
import {
portainerAgentManagerOperation,

View File

@ -4,7 +4,7 @@ import sanitize from 'sanitize-html';
import jwtDecode from 'jwt-decode';
import { v4 as uuid } from 'uuid';
import { get as localStorageGet } from '@/portainer/hooks/useLocalStorage';
import { get as localStorageGet } from '@/react/hooks/useLocalStorage';
import { notificationsStore } from '@/react/portainer/notifications/notifications-store';
import { ToastNotification } from '@/react/portainer/notifications/types';

View File

@ -1,7 +1,7 @@
import _ from 'lodash-es';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
export default class AdSettingsController {
/* @ngInject */

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
export default class LdapSettingsCustomController {
constructor() {

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
export default class LdapSettingsOpenLDAPController {
/* @ngInject */

View File

@ -1,6 +1,6 @@
import { Edit } from 'react-feather';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import Openldap from '@/assets/ico/vendor/openldap.svg?c';
import { BadgeIcon } from '@@/BadgeIcon';

View File

@ -1,6 +1,6 @@
import moment from 'moment';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
export default class ActivityLogsViewController {
/* @ngInject */
constructor($async, $scope, Notifications) {

View File

@ -1,6 +1,6 @@
import moment from 'moment';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
export default class AuthLogsViewController {
/* @ngInject */

View File

@ -2,7 +2,7 @@ import _ from 'lodash';
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { TEMPLATE_NAME_VALIDATION_REGEX } from '@/constants';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
class CreateCustomTemplateViewController {
/* @ngInject */

View File

@ -2,7 +2,7 @@ import _ from 'lodash-es';
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { TEMPLATE_NAME_VALIDATION_REGEX } from '@/constants';
import { renderTemplate } from '@/react/portainer/custom-templates/components/utils';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
class CustomTemplatesViewController {
/* @ngInject */

View File

@ -3,7 +3,7 @@ import { ResourceControlViewModel } from '@/react/portainer/access-control/model
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
class EditCustomTemplateViewController {
/* @ngInject */

View File

@ -1,6 +1,6 @@
import angular from 'angular';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
class EndpointAccessController {
/* @ngInject */

View File

@ -1,4 +1,4 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
angular.module('portainer.app').controller('GroupAccessController', [
'$scope',

View File

@ -1,6 +1,6 @@
import { ArrowDownCircle } from 'react-feather';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import Microsoft from '@/assets/ico/vendor/microsoft.svg?c';
import Ldap from '@/assets/ico/ldap.svg?c';
import OAuth from '@/assets/ico/oauth.svg?c';

View File

@ -1,6 +1,6 @@
import { DownloadCloud, UploadCloud } from 'react-feather';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { BadgeIcon } from '@@/BadgeIcon';

View File

@ -1,6 +1,6 @@
import angular from 'angular';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { options } from './options';
angular.module('portainer.app').controller('SettingsController', [

View File

@ -4,8 +4,8 @@ import uuidv4 from 'uuid/v4';
import { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel';
import { STACK_NAME_VALIDATION_REGEX } from '@/constants';
import { RepositoryMechanismTypes } from '@/kubernetes/models/deploy';
import { FeatureId } from 'Portainer/feature-flags/enums';
import { isBE } from '@/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { renderTemplate } from '@/react/portainer/custom-templates/components/utils';
angular

View File

@ -1,6 +1,6 @@
import { ResourceControlType } from '@/react/portainer/access-control/types';
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { FeatureId } from 'Portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { getEnvironments } from '@/react/portainer/environments/environment.service';
import { StackStatus, StackType } from '@/react/docker/stacks/types';
import { extractContainerNames } from '@/portainer/helpers/stackHelper';

View File

@ -1,6 +1,6 @@
import { ComponentType } from 'react';
import { UserProvider } from '@/portainer/hooks/useUser';
import { UserProvider } from '@/react/hooks/useUser';
export function withCurrentUser<T>(
WrappedComponent: ComponentType<T>

View File

@ -1,5 +1,5 @@
import { renderWithQueryClient, within } from '@/react-tools/test-utils';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { server, rest } from '@/setup-tests/server';
import {

View File

@ -1,6 +1,6 @@
import { Package } from 'react-feather';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { PageHeader } from '@@/PageHeader';
import { DashboardItem } from '@@/DashboardItem';

View File

@ -1,6 +1,6 @@
import userEvent from '@testing-library/user-event';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { renderWithQueryClient } from '@/react-tools/test-utils';

View File

@ -3,9 +3,9 @@ import { useRouter } from '@uirouter/react';
import { ContainerInstanceFormValues } from '@/react/azure/types';
import * as notifications from '@/portainer/services/notifications';
import { useUser } from '@/portainer/hooks/useUser';
import { useUser } from '@/react/hooks/useUser';
import { AccessControlForm } from '@/react/portainer/access-control/AccessControlForm';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { FormControl } from '@@/form-components/FormControl';
import { Input, Select } from '@@/form-components/Input';

View File

@ -6,7 +6,7 @@ import {
Subscription,
} from '@/react/azure/types';
import { parseAccessControlFormData } from '@/react/portainer/access-control/utils';
import { useUser } from '@/portainer/hooks/useUser';
import { useUser } from '@/react/hooks/useUser';
import { useProvider } from '@/react/azure/queries/useProvider';
import { useResourceGroups } from '@/react/azure/queries/useResourceGroups';
import { useSubscriptions } from '@/react/azure/queries/useSubscriptions';

View File

@ -1,7 +1,7 @@
import { useCurrentStateAndParams } from '@uirouter/react';
import { useQueryClient } from 'react-query';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { AccessControlPanel } from '@/react/portainer/access-control/AccessControlPanel/AccessControlPanel';
import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel';
import { ResourceControlType } from '@/react/portainer/access-control/types';

View File

@ -8,9 +8,9 @@ import {
import { useRowSelectColumn } from '@lineup-lite/hooks';
import { Box, Plus, Trash2 } from 'react-feather';
import { useDebounce } from '@/portainer/hooks/useDebounce';
import { useDebounce } from '@/react/hooks/useDebounce';
import { ContainerGroup } from '@/react/azure/types';
import { Authorized } from '@/portainer/hooks/useUser';
import { Authorized } from '@/react/hooks/useUser';
import { confirmDeletionAsync } from '@/portainer/services/modal.service/confirm';
import { PaginationControls } from '@@/PaginationControls';

View File

@ -1,7 +1,7 @@
import { useMutation, useQueryClient } from 'react-query';
import { deleteContainerGroup } from '@/react/azure/services/container-groups.service';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { notifyError, notifySuccess } from '@/portainer/services/notifications';
import { EnvironmentId } from '@/react/portainer/environments/types';
import { promiseSequence } from '@/portainer/helpers/promise-utils';

View File

@ -1,7 +1,7 @@
import { Meta } from '@storybook/react';
import { Edition, FeatureId } from '@/portainer/feature-flags/enums';
import { init as initFeatureService } from '@/portainer/feature-flags/feature-flags.service';
import { Edition, FeatureId } from '@/react/portainer/feature-flags/enums';
import { init as initFeatureService } from '@/react/portainer/feature-flags/feature-flags.service';
import { BEFeatureIndicator, Props } from './BEFeatureIndicator';

View File

@ -4,7 +4,7 @@ import { Briefcase } from 'react-feather';
import './BEFeatureIndicator.css';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { getFeatureDetails } from './utils';

View File

@ -1,5 +1,5 @@
import { FeatureId } from '@/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
const BE_URL = 'https://www.portainer.io/business-upsell?from=';

View File

@ -1,8 +1,8 @@
import { Meta } from '@storybook/react';
import { useState } from 'react';
import { init as initFeatureService } from '@/portainer/feature-flags/feature-flags.service';
import { Edition, FeatureId } from '@/portainer/feature-flags/enums';
import { init as initFeatureService } from '@/react/portainer/feature-flags/feature-flags.service';
import { Edition, FeatureId } from '@/react/portainer/feature-flags/enums';
import { BoxSelector } from './BoxSelector';
import { BoxSelectorOption } from './types';

View File

@ -1,7 +1,7 @@
import { Meta } from '@storybook/react';
import { init as initFeatureService } from '@/portainer/feature-flags/feature-flags.service';
import { Edition, FeatureId } from '@/portainer/feature-flags/enums';
import { init as initFeatureService } from '@/react/portainer/feature-flags/feature-flags.service';
import { Edition, FeatureId } from '@/react/portainer/feature-flags/enums';
import { BoxSelectorItem } from './BoxSelectorItem';
import { BoxSelectorOption } from './types';

View File

@ -1,6 +1,6 @@
import clsx from 'clsx';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { Icon } from '@/react/components/Icon';
import './BoxSelectorItem.css';

View File

@ -1,7 +1,7 @@
import ReactTooltip from 'react-tooltip';
import { HelpCircle } from 'react-feather';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { getFeatureDetails } from '@@/BEFeatureIndicator/utils';

View File

@ -1,4 +1,4 @@
import type { FeatureId } from '@/portainer/feature-flags/enums';
import type { FeatureId } from '@/react/portainer/feature-flags/enums';
import { IconProps } from '@@/Icon';

View File

@ -12,12 +12,12 @@ test('when edge id is not set, should show unassociated label', async () => {
expect(unassociatedLabel).toBeVisible();
});
// test('given edge id and last checkin is set, should show heartbeat', async () => {
// const { queryByLabelText } = await renderComponent('id', 1);
test('given edge id and last checkin is set, should show heartbeat', async () => {
const { queryByLabelText } = await renderComponent('id', 1);
// expect(queryByLabelText('edge-heartbeat')).toBeVisible();
// expect(queryByLabelText('edge-last-checkin')).toBeVisible();
// });
expect(queryByLabelText('edge-heartbeat')).toBeVisible();
expect(queryByLabelText('edge-last-checkin')).toBeVisible();
});
async function renderComponent(
edgeId = '',

View File

@ -1,7 +1,7 @@
import { Meta, Story } from '@storybook/react';
import { useMemo } from 'react';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { HeaderContainer } from './HeaderContainer';

View File

@ -1,4 +1,4 @@
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { render } from '@/react-tools/test-utils';

View File

@ -11,7 +11,7 @@ import { useEffect, useState } from 'react';
import { useStore } from 'zustand';
import { AutomationTestingProps } from '@/types';
import { useUser } from '@/portainer/hooks/useUser';
import { useUser } from '@/react/hooks/useUser';
import { ToastNotification } from '@/react/portainer/notifications/types';
import { Icon } from '@@/Icon';

View File

@ -1,7 +1,7 @@
import { Meta, Story } from '@storybook/react';
import { useMemo } from 'react';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { PageHeader } from './PageHeader';

View File

@ -1,4 +1,4 @@
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { render } from '@/react-tools/test-utils';

View File

@ -9,7 +9,7 @@ import clsx from 'clsx';
import { User, ChevronDown } from 'react-feather';
import { AutomationTestingProps } from '@/types';
import { useUser } from '@/portainer/hooks/useUser';
import { useUser } from '@/react/hooks/useUser';
import styles from './HeaderTitle.module.css';

View File

@ -1,6 +1,6 @@
import { Search } from 'react-feather';
import { useLocalStorage } from '@/portainer/hooks/useLocalStorage';
import { useLocalStorage } from '@/react/hooks/useLocalStorage';
interface Props {
value: string;

View File

@ -2,7 +2,7 @@ import { Search } from 'react-feather';
import { useEffect, useMemo, useState } from 'react';
import _ from 'lodash';
import { useLocalStorage } from '@/portainer/hooks/useLocalStorage';
import { useLocalStorage } from '@/react/hooks/useLocalStorage';
import { AutomationTestingProps } from '@/types';
interface Props extends AutomationTestingProps {

View File

@ -8,7 +8,7 @@ import {
useState,
} from 'react';
import { useLocalStorage } from '@/portainer/hooks/useLocalStorage';
import { useLocalStorage } from '@/react/hooks/useLocalStorage';
interface TableSettingsContextInterface<T> {
settings: T;

View File

@ -1,7 +1,7 @@
import clsx from 'clsx';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { BEFeatureIndicator } from '@@/BEFeatureIndicator';

View File

@ -1,6 +1,6 @@
import clsx from 'clsx';
import { FeatureId } from '@/portainer/feature-flags/enums';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { Tooltip } from '@@/Tip/Tooltip';

View File

@ -10,7 +10,7 @@ import {
} from 'react-feather';
import * as notifications from '@/portainer/services/notifications';
import { useAuthorizations, Authorized } from '@/portainer/hooks/useUser';
import { useAuthorizations, Authorized } from '@/react/hooks/useUser';
import { confirmContainerDeletion } from '@/portainer/services/modal.service/prompt';
import { setPortainerAgentTargetHeader } from '@/portainer/services/http-request.helper';
import {

View File

@ -1,7 +1,7 @@
import { CellProps, Column } from 'react-table';
import type { DockerContainer } from '@/react/docker/containers/types';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { useContainerGpus } from '@/react/docker/containers/queries/gpus';
export const gpus: Column<DockerContainer> = {

View File

@ -1,8 +1,8 @@
import { CellProps, Column } from 'react-table';
import { useAuthorizations } from '@/portainer/hooks/useUser';
import { useAuthorizations } from '@/react/hooks/useUser';
import { isOfflineEndpoint } from '@/portainer/helpers/endpointHelper';
import { useCurrentEnvironment } from '@/portainer/hooks/useCurrentEnvironment';
import { useCurrentEnvironment } from '@/react/hooks/useCurrentEnvironment';
import { ContainerQuickActions } from '@/react/docker/containers/components/ContainerQuickActions';
import { DockerContainer } from '@/react/docker/containers/types';

View File

@ -1,7 +1,7 @@
import create from 'zustand';
import { persist } from 'zustand/middleware';
import { keyBuilder } from '@/portainer/hooks/useLocalStorage';
import { keyBuilder } from '@/react/hooks/useLocalStorage';
import {
paginationSettings,
sortableSettings,

View File

@ -1,7 +1,7 @@
import clsx from 'clsx';
import { ContainerStatus } from '@/react/docker/containers/types';
import { Authorized } from '@/portainer/hooks/useUser';
import { Authorized } from '@/react/hooks/useUser';
import { Icon } from '@@/Icon';
import { Link } from '@@/Link';

View File

@ -3,7 +3,7 @@ import { useRouter, useCurrentStateAndParams } from '@uirouter/react';
import { useQueryClient } from 'react-query';
import _ from 'lodash';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { confirmDeletionAsync } from '@/portainer/services/modal.service/confirm';
import { AccessControlPanel } from '@/react/portainer/access-control/AccessControlPanel/AccessControlPanel';
import { ResourceControlType } from '@/react/portainer/access-control/types';

View File

@ -1,5 +1,5 @@
import { renderWithQueryClient } from '@/react-tools/test-utils';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { NetworkContainer } from '../types';

View File

@ -1,4 +1,4 @@
import { Authorized } from '@/portainer/hooks/useUser';
import { Authorized } from '@/react/hooks/useUser';
import { EnvironmentId } from '@/react/portainer/environments/types';
import { Icon } from '@/react/components/Icon';

View File

@ -1,5 +1,5 @@
import { render } from '@/react-tools/test-utils';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { DockerNetwork } from '../types';

View File

@ -1,7 +1,7 @@
import { Fragment } from 'react';
import DockerNetworkHelper from '@/docker/helpers/networkHelper';
import { Authorized } from '@/portainer/hooks/useUser';
import { Authorized } from '@/react/hooks/useUser';
import { Table, TableContainer, TableTitle } from '@@/datatables';
import { DetailsTable } from '@@/DetailsTable';

View File

@ -1,7 +1,7 @@
import create from 'zustand';
import { persist } from 'zustand/middleware';
import { keyBuilder } from '@/portainer/hooks/useLocalStorage';
import { keyBuilder } from '@/react/hooks/useLocalStorage';
interface UIState {
dismissedInfoPanels: Record<string, boolean>;

View File

@ -12,9 +12,8 @@ import {
import { isAdmin } from '@/portainer/users/user.helpers';
import { EnvironmentId } from '@/react/portainer/environments/types';
import { getUser } from '../users/user.service';
import { User, UserId } from '../users/types';
import { getUser } from '@/portainer/users/user.service';
import { User, UserId } from '@/portainer/users/types';
import { useLocalStorage } from './useLocalStorage';

View File

@ -1,7 +1,7 @@
import create from 'zustand';
import { persist } from 'zustand/middleware';
import { keyBuilder } from '@/portainer/hooks/useLocalStorage';
import { keyBuilder } from '@/react/hooks/useLocalStorage';
import {
paginationSettings,
sortableSettings,

View File

@ -2,7 +2,7 @@ import { useState, useEffect, useMemo, ReactNode } from 'react';
import { useCurrentStateAndParams, useRouter } from '@uirouter/react';
import { v4 as uuidv4 } from 'uuid';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { useConfigurations } from '@/react/kubernetes/configs/queries';
import { useNamespaces } from '@/react/kubernetes/namespaces/queries';
import { useServices } from '@/react/kubernetes/networks/services/queries';

View File

@ -1,9 +1,9 @@
import { Plus, Trash2 } from 'react-feather';
import { useRouter } from '@uirouter/react';
import { useEnvironmentId } from '@/portainer/hooks/useEnvironmentId';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { useNamespaces } from '@/react/kubernetes/namespaces/queries';
import { useAuthorizations, Authorized } from '@/portainer/hooks/useUser';
import { useAuthorizations, Authorized } from '@/react/hooks/useUser';
import { confirmDeletionAsync } from '@/portainer/services/modal.service/confirm';
import { Datatable } from '@@/datatables';

View File

@ -1,6 +1,6 @@
import { CellProps, Column } from 'react-table';
import { Authorized } from '@/portainer/hooks/useUser';
import { Authorized } from '@/react/hooks/useUser';
import { Link } from '@@/Link';

View File

@ -1,7 +1,7 @@
import create from 'zustand';
import { persist } from 'zustand/middleware';
import { keyBuilder } from '@/portainer/hooks/useLocalStorage';
import { keyBuilder } from '@/react/hooks/useLocalStorage';
import {
paginationSettings,
sortableSettings,

Some files were not shown because too many files have changed in this diff Show More