Files
2026-07-13 12:08:39 +08:00

135 lines
4.8 KiB
TypeScript

import angular from 'angular';
import { InternalAuth } from '@/react/portainer/settings/AuthenticationView/InternalAuth';
import { AuthenticationMethodSelector } from '@/react/portainer/settings/AuthenticationView/AuthenticationMethodSelector';
import { r2a } from '@/react-tools/react2angular';
import { withReactQuery } from '@/react-tools/withReactQuery';
import { withUIRouter } from '@/react-tools/withUIRouter';
import { LDAPUsersTable } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/LDAPUsersTable';
import { LDAPGroupsTable } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/LDAPGroupsTable';
import { ApplicationSettingsPanel } from '@/react/portainer/settings/SettingsView/ApplicationSettingsPanel';
import { KubeSettingsPanel } from '@/react/portainer/settings/SettingsView/KubeSettingsPanel';
import { HelmCertPanel } from '@/react/portainer/settings/SettingsView/HelmCertPanel';
import { HiddenContainersPanel } from '@/react/portainer/settings/SettingsView/HiddenContainersPanel/HiddenContainersPanel';
import { SSLSettingsPanelWrapper } from '@/react/portainer/settings/SettingsView/SSLSettingsPanel/SSLSettingsPanel';
import { AuthStyleField } from '@/react/portainer/settings/AuthenticationView/OAuth';
import { AutoUserProvisionToggle } from '@/react/portainer/settings/AuthenticationView/AutoUserProvisionToggle/AutoUserProvisionToggle';
import { LdapSettingsTestLogin } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/LdapSettingsTestLogin/LdapSettingsTestLogin';
import { SessionLifetimeSelect } from '@/react/portainer/settings/AuthenticationView/SessionLifetimeSelect';
import { LdapSecurityFieldset } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/LdapSecurityFieldset/LdapSecurityFieldset';
import { DnBuilder } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/DnEntriesField/DnBuilder';
import { GroupDnBuilder } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/DnEntriesField/GroupDnBuilder';
import { withControlledInput } from '@/react-tools/withControlledInput';
import { AdminGroupsSectionCE } from '@/react/portainer/settings/AuthenticationView/LDAPAuth/AdminGroupsSection';
export const settingsModule = angular
.module('portainer.app.react.components.settings', [])
.component(
'sessionLifetimeSelect',
r2a(SessionLifetimeSelect, ['value', 'onChange'])
)
.component(
'internalAuth',
r2a(InternalAuth, ['onSaveSettings', 'isLoading', 'value', 'onChange'])
)
.component(
'authenticationMethodSelector',
r2a(AuthenticationMethodSelector, ['value', 'onChange'])
)
.component('ldapUsersDatatable', r2a(LDAPUsersTable, ['dataset']))
.component('ldapGroupsDatatable', r2a(LDAPGroupsTable, ['dataset']))
.component(
'ldapSettingsDnBuilder',
r2a(DnBuilder, ['value', 'onChange', 'suffix', 'label', 'limitedFeatureId'])
)
.component(
'ldapSettingsGroupDnBuilder',
r2a(GroupDnBuilder, [
'value',
'onChange',
'suffix',
'index',
'onRemoveClick',
'limitedFeatureId',
])
)
.component(
'applicationSettingsPanel',
r2a(withReactQuery(ApplicationSettingsPanel), ['onSuccess', 'settings'])
)
.component(
'sslSettingsPanel',
r2a(withReactQuery(SSLSettingsPanelWrapper), [])
)
.component('helmCertPanel', r2a(withReactQuery(HelmCertPanel), []))
.component(
'hiddenContainersPanel',
r2a(withUIRouter(withReactQuery(HiddenContainersPanel)), [])
)
.component(
'kubeSettingsPanel',
r2a(withUIRouter(withReactQuery(KubeSettingsPanel)), ['settings'])
)
.component(
'oauthAuthStyle',
r2a(AuthStyleField, [
'value',
'onChange',
'label',
'tooltip',
'readonly',
'size',
])
)
.component(
'autoUserProvisionToggle',
r2a(AutoUserProvisionToggle, [
'value',
'onChange',
'description',
'data-cy',
])
)
.component(
'ldapSettingsTestLogin',
r2a(withReactQuery(LdapSettingsTestLogin), [
'settings',
'limitedFeatureId',
'showBeIndicatorIfNeeded',
'isLimitedFeatureSelfContained',
])
)
.component(
'ldapSecurityFieldset',
r2a(LdapSecurityFieldset, [
'values',
'onChange',
'errors',
'uploadState',
'limitedFeatureId',
'title',
])
)
.component(
'ldapCustomAdminGroup',
r2a(
withReactQuery(
withControlledInput(AdminGroupsSectionCE, {
searchSettings: 'onSearchSettingsChange',
autoPopulate: 'onAutoPopulateChange',
selectedAdminGroups: 'onSelectedAdminGroupsChange',
})
),
[
'searchSettings',
'onSearchSettingsChange',
'autoPopulate',
'onAutoPopulateChange',
'selectedAdminGroups',
'onSelectedAdminGroupsChange',
'limitedFeatureId',
'isLimitedFeatureSelfContained',
]
)
).name;