1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-19 05:19:39 +02:00

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

This commit is contained in:
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 { PorImageRegistryModel } from 'Docker/models/porImageRegistry';
import * as envVarsUtils from '@/portainer/helpers/env-vars'; 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 { ContainerCapabilities, ContainerCapability } from '../../../models/containerCapabilities';
import { AccessControlFormData } from '../../../../portainer/components/accessControlForm/porAccessControlFormModel'; import { AccessControlFormData } from '../../../../portainer/components/accessControlForm/porAccessControlFormModel';
import { ContainerDetailsViewModel } from '../../../models/container'; import { ContainerDetailsViewModel } from '../../../models/container';

View file

@ -2,7 +2,7 @@ import moment from 'moment';
import _ from 'lodash-es'; import _ from 'lodash-es';
import { PorImageRegistryModel } from 'Docker/models/porImageRegistry'; import { PorImageRegistryModel } from 'Docker/models/porImageRegistry';
import { confirmContainerDeletion } from '@/portainer/services/modal.service/prompt'; 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'; import { ResourceControlType } from '@/react/portainer/access-control/types';
angular.module('portainer.docker').controller('ContainerController', [ 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 { export default class DockerFeaturesConfigurationController {
/* @ngInject */ /* @ngInject */

View file

@ -4,7 +4,7 @@ import _ from 'lodash';
import { Environment } from '@/react/portainer/environments/types'; import { Environment } from '@/react/portainer/environments/types';
import { AMTDevicesDatatable } from '@/edge/EdgeDevices/EdgeDevicesView/AMTDevicesDatatable/AMTDevicesDatatable'; 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 { PaginationControls } from '@@/PaginationControls';
import { import {

View file

@ -2,7 +2,7 @@ import { useState } from 'react';
import { useEnvironmentList } from '@/react/portainer/environments/queries/useEnvironmentList'; import { useEnvironmentList } from '@/react/portainer/environments/queries/useEnvironmentList';
import { EdgeTypes, Environment } from '@/react/portainer/environments/types'; 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 { useSearchBarState } from '@@/datatables/SearchBar';
import { import {

View file

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

View file

@ -1,7 +1,7 @@
import { useState } from 'react'; import { useState } from 'react';
import { useSettings } from '@/react/portainer/settings/queries'; 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 { PageHeader } from '@@/PageHeader';
import { ViewLoading } from '@@/ViewLoading'; import { ViewLoading } from '@@/ViewLoading';

View file

@ -6,8 +6,11 @@ import angular from 'angular';
import { UI_ROUTER_REACT_HYBRID } from '@uirouter/react-hybrid'; import { UI_ROUTER_REACT_HYBRID } from '@uirouter/react-hybrid';
import './matomo-setup'; 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 './agent';
import { azureModule } from './azure'; import { azureModule } from './azure';
import './docker/__module'; import './docker/__module';
@ -17,8 +20,6 @@ import './portainer/__module';
import { onStartupAngular } from './app'; import { onStartupAngular } from './app';
import { configApp } from './config'; 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'; import { nomadModule } from './nomad';
initFeatureService(Edition[process.env.PORTAINER_EDITION]); initFeatureService(Edition[process.env.PORTAINER_EDITION]);

View file

@ -1,6 +1,6 @@
import { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel'; import { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils'; 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'; import { editor, upload } from '@@/BoxSelector/common-options/build-methods';
class KubeCreateCustomTemplateViewController { class KubeCreateCustomTemplateViewController {

View file

@ -1,6 +1,6 @@
import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel'; import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel';
import { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel'; 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'; import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils';
class KubeEditCustomTemplateViewController { class KubeEditCustomTemplateViewController {

View file

@ -4,7 +4,7 @@ import { KubernetesStorageClass, KubernetesStorageClassAccessPolicies } from 'Ku
import { KubernetesFormValidationReferences } from 'Kubernetes/models/application/formValues'; import { KubernetesFormValidationReferences } from 'Kubernetes/models/application/formValues';
import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants'; import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants';
import KubernetesNamespaceHelper from 'Kubernetes/helpers/namespaceHelper'; 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'; 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 PortainerError from '@/portainer/error';
import { KubernetesDeployManifestTypes, KubernetesDeployBuildMethods, KubernetesDeployRequestMethods, RepositoryMechanismTypes } from 'Kubernetes/models/deploy'; import { KubernetesDeployManifestTypes, KubernetesDeployBuildMethods, KubernetesDeployRequestMethods, RepositoryMechanismTypes } from 'Kubernetes/models/deploy';
import { renderTemplate } from '@/react/portainer/custom-templates/components/utils'; 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 { compose, kubernetes } from '@@/BoxSelector/common-options/deployment-methods';
import { editor, git, template, url } from '@@/BoxSelector/common-options/build-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 { class StorageClassSwitchController {
/* @ngInject */ /* @ngInject */

View file

@ -6,7 +6,7 @@ import { KubernetesResourcePoolFormValues, KubernetesResourcePoolIngressClassHos
import { KubernetesIngressConverter } from 'Kubernetes/ingress/converter'; import { KubernetesIngressConverter } from 'Kubernetes/ingress/converter';
import { KubernetesFormValidationReferences } from 'Kubernetes/models/application/formValues'; import { KubernetesFormValidationReferences } from 'Kubernetes/models/application/formValues';
import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants'; 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'; import { getIngressControllerClassMap, updateIngressControllerClassMap } from '@/react/kubernetes/cluster/ingressClass/utils';
class KubernetesCreateResourcePoolController { class KubernetesCreateResourcePoolController {

View file

@ -12,7 +12,7 @@ import { KubernetesFormValidationReferences } from 'Kubernetes/models/applicatio
import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants'; import { KubernetesIngressClassTypes } from 'Kubernetes/ingress/constants';
import KubernetesResourceQuotaConverter from 'Kubernetes/converters/resourceQuota'; import KubernetesResourceQuotaConverter from 'Kubernetes/converters/resourceQuota';
import KubernetesNamespaceHelper from 'Kubernetes/helpers/namespaceHelper'; 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'; import { updateIngressControllerClassMap, getIngressControllerClassMap } from '@/react/kubernetes/cluster/ingressClass/utils';
class KubernetesResourcePoolController { class KubernetesResourcePoolController {

View file

@ -1,5 +1,5 @@
import angular from 'angular'; 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', [ angular.module('portainer.kubernetes').controller('KubernetesSecurityConstraintController', [
'$scope', '$scope',

View file

@ -1,9 +1,11 @@
import _ from 'lodash-es'; import _ from 'lodash-es';
import featureFlagModule from '@/react/portainer/feature-flags';
import './rbac'; import './rbac';
import componentsModule from './components'; import componentsModule from './components';
import settingsModule from './settings'; import settingsModule from './settings';
import featureFlagModule from './feature-flags';
import userActivityModule from './user-activity'; import userActivityModule from './user-activity';
import servicesModule from './services'; import servicesModule from './services';
import { reactModule } from './react'; 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'; 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 { BoxSelectorOption } from '@@/BoxSelector/types';
import { IconProps } from '@@/Icon'; import { IconProps } from '@@/Icon';

View file

@ -2,7 +2,7 @@ import _ from 'lodash-es';
import angular from 'angular'; import angular from 'angular';
import { RoleTypes } from '@/portainer/rbac/models/role'; 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 { class PorAccessManagementController {
/* @ngInject */ /* @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'; import { PortainerEndpointTypes } from 'Portainer/models/endpoint/models';
angular.module('portainer.docker').controller('RegistriesDatatableController', RegistriesDatatableController); 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 { class GitFormAutoUpdateFieldsetController {
/* @ngInject */ /* @ngInject */

View file

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

View file

@ -1,6 +1,6 @@
import { Edit } from 'react-feather'; 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 Microsoft from '@/assets/ico/vendor/microsoft.svg?c';
import Google from '@/assets/ico/vendor/google.svg?c'; import Google from '@/assets/ico/vendor/google.svg?c';
import Github from '@/assets/ico/vendor/github.svg?c'; import Github from '@/assets/ico/vendor/github.svg?c';

View file

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

View file

@ -1,5 +1,5 @@
import _ from 'lodash-es'; 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 { getEnvironments } from '@/react/portainer/environments/environment.service';
import AccessViewerPolicyModel from '../../models/access'; import AccessViewerPolicyModel from '../../models/access';

View file

@ -1,6 +1,6 @@
import angular from 'angular'; import angular from 'angular';
import { HomeView } from '@/portainer/home'; import { HomeView } from '@/react/portainer/HomeView';
import { withCurrentUser } from '@/react-tools/withCurrentUser'; import { withCurrentUser } from '@/react-tools/withCurrentUser';
import { r2a } from '@/react-tools/react2angular'; import { r2a } from '@/react-tools/react2angular';
import { withReactQuery } from '@/react-tools/withReactQuery'; 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 'axios-progress-bar/dist/nprogress.css';
import PortainerError from '@/portainer/error'; import PortainerError from '@/portainer/error';
import { get as localStorageGet } from '@/portainer/hooks/useLocalStorage'; import { get as localStorageGet } from '@/react/hooks/useLocalStorage';
import { import {
portainerAgentManagerOperation, portainerAgentManagerOperation,

View file

@ -4,7 +4,7 @@ import sanitize from 'sanitize-html';
import jwtDecode from 'jwt-decode'; import jwtDecode from 'jwt-decode';
import { v4 as uuid } from 'uuid'; 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 { notificationsStore } from '@/react/portainer/notifications/notifications-store';
import { ToastNotification } from '@/react/portainer/notifications/types'; import { ToastNotification } from '@/react/portainer/notifications/types';

View file

@ -1,7 +1,7 @@
import _ from 'lodash-es'; import _ from 'lodash-es';
import { FeatureId } from '@/portainer/feature-flags/enums'; import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service'; import { isLimitedToBE } from '@/react/portainer/feature-flags/feature-flags.service';
export default class AdSettingsController { export default class AdSettingsController {
/* @ngInject */ /* @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 { export default class LdapSettingsCustomController {
constructor() { 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 { export default class LdapSettingsOpenLDAPController {
/* @ngInject */ /* @ngInject */

View file

@ -1,6 +1,6 @@
import { Edit } from 'react-feather'; 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 Openldap from '@/assets/ico/vendor/openldap.svg?c';
import { BadgeIcon } from '@@/BadgeIcon'; import { BadgeIcon } from '@@/BadgeIcon';

View file

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

View file

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

View file

@ -2,7 +2,7 @@ import _ from 'lodash';
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel'; import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { TEMPLATE_NAME_VALIDATION_REGEX } from '@/constants'; import { TEMPLATE_NAME_VALIDATION_REGEX } from '@/constants';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils'; 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 { class CreateCustomTemplateViewController {
/* @ngInject */ /* @ngInject */

View file

@ -2,7 +2,7 @@ import _ from 'lodash-es';
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel'; import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { TEMPLATE_NAME_VALIDATION_REGEX } from '@/constants'; import { TEMPLATE_NAME_VALIDATION_REGEX } from '@/constants';
import { renderTemplate } from '@/react/portainer/custom-templates/components/utils'; 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 { class CustomTemplatesViewController {
/* @ngInject */ /* @ngInject */

View file

@ -3,7 +3,7 @@ import { ResourceControlViewModel } from '@/react/portainer/access-control/model
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel'; import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel';
import { getTemplateVariables, intersectVariables } from '@/react/portainer/custom-templates/components/utils'; 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 { class EditCustomTemplateViewController {
/* @ngInject */ /* @ngInject */

View file

@ -1,6 +1,6 @@
import angular from 'angular'; import angular from 'angular';
import { FeatureId } from '@/portainer/feature-flags/enums'; import { FeatureId } from '@/react/portainer/feature-flags/enums';
class EndpointAccessController { class EndpointAccessController {
/* @ngInject */ /* @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', [ angular.module('portainer.app').controller('GroupAccessController', [
'$scope', '$scope',

View file

@ -1,6 +1,6 @@
import { ArrowDownCircle } from 'react-feather'; 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 Microsoft from '@/assets/ico/vendor/microsoft.svg?c';
import Ldap from '@/assets/ico/ldap.svg?c'; import Ldap from '@/assets/ico/ldap.svg?c';
import OAuth from '@/assets/ico/oauth.svg?c'; import OAuth from '@/assets/ico/oauth.svg?c';

View file

@ -1,6 +1,6 @@
import { DownloadCloud, UploadCloud } from 'react-feather'; 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'; import { BadgeIcon } from '@@/BadgeIcon';

View file

@ -1,6 +1,6 @@
import angular from 'angular'; import angular from 'angular';
import { FeatureId } from '@/portainer/feature-flags/enums'; import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { options } from './options'; import { options } from './options';
angular.module('portainer.app').controller('SettingsController', [ 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 { AccessControlFormData } from '@/portainer/components/accessControlForm/porAccessControlFormModel';
import { STACK_NAME_VALIDATION_REGEX } from '@/constants'; import { STACK_NAME_VALIDATION_REGEX } from '@/constants';
import { RepositoryMechanismTypes } from '@/kubernetes/models/deploy'; import { RepositoryMechanismTypes } from '@/kubernetes/models/deploy';
import { FeatureId } from 'Portainer/feature-flags/enums'; import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { isBE } from '@/portainer/feature-flags/feature-flags.service'; import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
import { renderTemplate } from '@/react/portainer/custom-templates/components/utils'; import { renderTemplate } from '@/react/portainer/custom-templates/components/utils';
angular angular

View file

@ -1,6 +1,6 @@
import { ResourceControlType } from '@/react/portainer/access-control/types'; import { ResourceControlType } from '@/react/portainer/access-control/types';
import { AccessControlFormData } from 'Portainer/components/accessControlForm/porAccessControlFormModel'; 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 { getEnvironments } from '@/react/portainer/environments/environment.service';
import { StackStatus, StackType } from '@/react/docker/stacks/types'; import { StackStatus, StackType } from '@/react/docker/stacks/types';
import { extractContainerNames } from '@/portainer/helpers/stackHelper'; import { extractContainerNames } from '@/portainer/helpers/stackHelper';

View file

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

View file

@ -1,5 +1,5 @@
import { renderWithQueryClient, within } from '@/react-tools/test-utils'; 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 { UserViewModel } from '@/portainer/models/user';
import { server, rest } from '@/setup-tests/server'; import { server, rest } from '@/setup-tests/server';
import { import {

View file

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

View file

@ -1,6 +1,6 @@
import userEvent from '@testing-library/user-event'; 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 { UserViewModel } from '@/portainer/models/user';
import { renderWithQueryClient } from '@/react-tools/test-utils'; 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 { ContainerInstanceFormValues } from '@/react/azure/types';
import * as notifications from '@/portainer/services/notifications'; 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 { 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 { FormControl } from '@@/form-components/FormControl';
import { Input, Select } from '@@/form-components/Input'; import { Input, Select } from '@@/form-components/Input';

View file

@ -6,7 +6,7 @@ import {
Subscription, Subscription,
} from '@/react/azure/types'; } from '@/react/azure/types';
import { parseAccessControlFormData } from '@/react/portainer/access-control/utils'; 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 { useProvider } from '@/react/azure/queries/useProvider';
import { useResourceGroups } from '@/react/azure/queries/useResourceGroups'; import { useResourceGroups } from '@/react/azure/queries/useResourceGroups';
import { useSubscriptions } from '@/react/azure/queries/useSubscriptions'; import { useSubscriptions } from '@/react/azure/queries/useSubscriptions';

View file

@ -1,7 +1,7 @@
import { useCurrentStateAndParams } from '@uirouter/react'; import { useCurrentStateAndParams } from '@uirouter/react';
import { useQueryClient } from 'react-query'; 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 { AccessControlPanel } from '@/react/portainer/access-control/AccessControlPanel/AccessControlPanel';
import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel'; import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel';
import { ResourceControlType } from '@/react/portainer/access-control/types'; import { ResourceControlType } from '@/react/portainer/access-control/types';

View file

@ -8,9 +8,9 @@ import {
import { useRowSelectColumn } from '@lineup-lite/hooks'; import { useRowSelectColumn } from '@lineup-lite/hooks';
import { Box, Plus, Trash2 } from 'react-feather'; 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 { 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 { confirmDeletionAsync } from '@/portainer/services/modal.service/confirm';
import { PaginationControls } from '@@/PaginationControls'; import { PaginationControls } from '@@/PaginationControls';

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
import clsx from 'clsx'; 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 { Icon } from '@/react/components/Icon';
import './BoxSelectorItem.css'; import './BoxSelectorItem.css';

View file

@ -1,7 +1,7 @@
import ReactTooltip from 'react-tooltip'; import ReactTooltip from 'react-tooltip';
import { HelpCircle } from 'react-feather'; 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'; 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'; 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(); expect(unassociatedLabel).toBeVisible();
}); });
// test('given edge id and last checkin is set, should show heartbeat', async () => { test('given edge id and last checkin is set, should show heartbeat', async () => {
// const { queryByLabelText } = await renderComponent('id', 1); const { queryByLabelText } = await renderComponent('id', 1);
// expect(queryByLabelText('edge-heartbeat')).toBeVisible(); expect(queryByLabelText('edge-heartbeat')).toBeVisible();
// expect(queryByLabelText('edge-last-checkin')).toBeVisible(); expect(queryByLabelText('edge-last-checkin')).toBeVisible();
// }); });
async function renderComponent( async function renderComponent(
edgeId = '', edgeId = '',

View file

@ -1,7 +1,7 @@
import { Meta, Story } from '@storybook/react'; import { Meta, Story } from '@storybook/react';
import { useMemo } from 'react'; import { useMemo } from 'react';
import { UserContext } from '@/portainer/hooks/useUser'; import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user'; import { UserViewModel } from '@/portainer/models/user';
import { HeaderContainer } from './HeaderContainer'; 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 { UserViewModel } from '@/portainer/models/user';
import { render } from '@/react-tools/test-utils'; import { render } from '@/react-tools/test-utils';

View file

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

View file

@ -1,7 +1,7 @@
import { Meta, Story } from '@storybook/react'; import { Meta, Story } from '@storybook/react';
import { useMemo } from 'react'; import { useMemo } from 'react';
import { UserContext } from '@/portainer/hooks/useUser'; import { UserContext } from '@/react/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user'; import { UserViewModel } from '@/portainer/models/user';
import { PageHeader } from './PageHeader'; 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 { UserViewModel } from '@/portainer/models/user';
import { render } from '@/react-tools/test-utils'; import { render } from '@/react-tools/test-utils';

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -10,7 +10,7 @@ import {
} from 'react-feather'; } from 'react-feather';
import * as notifications from '@/portainer/services/notifications'; 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 { confirmContainerDeletion } from '@/portainer/services/modal.service/prompt';
import { setPortainerAgentTargetHeader } from '@/portainer/services/http-request.helper'; import { setPortainerAgentTargetHeader } from '@/portainer/services/http-request.helper';
import { import {

View file

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

View file

@ -1,8 +1,8 @@
import { CellProps, Column } from 'react-table'; 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 { 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 { ContainerQuickActions } from '@/react/docker/containers/components/ContainerQuickActions';
import { DockerContainer } from '@/react/docker/containers/types'; import { DockerContainer } from '@/react/docker/containers/types';

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
import { renderWithQueryClient } from '@/react-tools/test-utils'; 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 { UserViewModel } from '@/portainer/models/user';
import { NetworkContainer } from '../types'; 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 { EnvironmentId } from '@/react/portainer/environments/types';
import { Icon } from '@/react/components/Icon'; import { Icon } from '@/react/components/Icon';

View file

@ -1,5 +1,5 @@
import { render } from '@/react-tools/test-utils'; 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 { UserViewModel } from '@/portainer/models/user';
import { DockerNetwork } from '../types'; import { DockerNetwork } from '../types';

View file

@ -1,7 +1,7 @@
import { Fragment } from 'react'; import { Fragment } from 'react';
import DockerNetworkHelper from '@/docker/helpers/networkHelper'; 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 { Table, TableContainer, TableTitle } from '@@/datatables';
import { DetailsTable } from '@@/DetailsTable'; import { DetailsTable } from '@@/DetailsTable';

View file

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

View file

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

View file

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

View file

@ -2,7 +2,7 @@ import { useState, useEffect, useMemo, ReactNode } from 'react';
import { useCurrentStateAndParams, useRouter } from '@uirouter/react'; import { useCurrentStateAndParams, useRouter } from '@uirouter/react';
import { v4 as uuidv4 } from 'uuid'; 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 { useConfigurations } from '@/react/kubernetes/configs/queries';
import { useNamespaces } from '@/react/kubernetes/namespaces/queries'; import { useNamespaces } from '@/react/kubernetes/namespaces/queries';
import { useServices } from '@/react/kubernetes/networks/services/queries'; import { useServices } from '@/react/kubernetes/networks/services/queries';

View file

@ -1,9 +1,9 @@
import { Plus, Trash2 } from 'react-feather'; import { Plus, Trash2 } from 'react-feather';
import { useRouter } from '@uirouter/react'; 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 { 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 { confirmDeletionAsync } from '@/portainer/services/modal.service/confirm';
import { Datatable } from '@@/datatables'; import { Datatable } from '@@/datatables';

View file

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

View file

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

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