1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-08 23:35:31 +02:00

refactor(app): replace angularjs tooltip with react [EE-3606] (#7172)

* refactor(app): replace angularjs tooltip with react
This commit is contained in:
Chaim Lev-Ari 2022-07-04 02:21:25 +03:00 committed by GitHub
parent ebc0a8c772
commit d7306fb22e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 146 additions and 227 deletions

View file

@ -171,7 +171,7 @@ function InheritanceMessage({
<td colSpan={2} aria-label="inheritance-message">
<i className="fa fa-info-circle space-right" aria-hidden="true" />
{children}
<Tooltip message={tooltip} position="bottom" />
<Tooltip message={tooltip} />
</td>
</tr>
);

View file

@ -1,17 +0,0 @@
.tooltip.portainer-tooltip .tooltip-inner {
background-color: var(--bg-tooltip-color);
padding: 0.833em 1em;
color: var(--text-tooltip-color);
border: 1px solid var(--border-tooltip-color) !important;
border-radius: 10px;
box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
}
.tooltip.portainer-tooltip .tooltip-arrow {
display: none;
}
.fa.tooltip-icon {
margin-left: 5px;
font-size: 1.3em;
}

View file

@ -1,21 +0,0 @@
import { IComponentOptions } from 'angular';
import './Tooltip.css';
export const TooltipAngular: IComponentOptions = {
bindings: {
message: '@',
position: '@',
},
template: `<span
class="interactive"
tooltip-append-to-body="true"
tooltip-placement="{{$ctrl.position}}"
tooltip-class="portainer-tooltip"
uib-tooltip="{{$ctrl.message}}"
>
<i
class="fa fa-question-circle blue-icon tooltip-icon"
aria-hidden="true"
></i>
</span>`,
};

View file

@ -1 +0,0 @@
export { TooltipAngular } from './TooltipAngular';

View file

@ -5,7 +5,7 @@
<div class="col-sm-12">
<label for="ownership" class="control-label text-left">
Enable access control
<portainer-tooltip position="bottom" message="When enabled, you can restrict the access and management of this resource."></portainer-tooltip>
<portainer-tooltip message="'When enabled, you can restrict the access and management of this resource.'"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px">
<input name="ownership" type="checkbox" ng-model="$ctrl.formData.AccessControlEnabled" /><i data-cy="portainer-accessMgmtToggle"></i>
@ -73,13 +73,11 @@
Authorized teams
<portainer-tooltip
ng-if="$ctrl.isAdmin && $ctrl.availableTeams.length > 0"
position="bottom"
message="You can select which teams(s) will be able to manage this resource."
message="'You can select which teams(s) will be able to manage this resource.'"
></portainer-tooltip>
<portainer-tooltip
ng-if="!$ctrl.isAdmin && $ctrl.availableTeams.length > 1"
position="bottom"
message="As you are a member of multiple teams, you can select which teams(s) will be able to manage this resource."
message="'As you are a member of multiple teams, you can select which teams(s) will be able to manage this resource.'"
></portainer-tooltip>
</label>
<span ng-if="$ctrl.isAdmin && $ctrl.availableTeams.length === 0" class="small text-muted" style="margin-left: 20px">
@ -110,8 +108,7 @@
Authorized users
<portainer-tooltip
ng-if="$ctrl.isAdmin && $ctrl.availableUsers.length > 0"
position="bottom"
message="You can select which user(s) will be able to manage this resource."
message="'You can select which user(s) will be able to manage this resource.'"
></portainer-tooltip>
</label>
<span ng-if="$ctrl.availableUsers.length === 0" class="small text-muted" style="margin-left: 20px">

View file

@ -4,7 +4,7 @@
<div class="col-sm-12">
<label for="tls" class="control-label text-left">
TLS
<portainer-tooltip position="bottom" message="Enable this option if you need to connect to the Docker environment with TLS."></portainer-tooltip>
<portainer-tooltip message="'Enable this option if you need to connect to the Docker environment with TLS.'"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input type="checkbox" ng-model="$ctrl.formData.TLS" /><i></i> </label>
</div>

View file

@ -31,7 +31,7 @@
<div class="form-group">
<label for="repository_password" class="control-label text-left inline-label">
Personal Access Token
<portainer-tooltip position="bottom" message="Provide a personal access token or password"></portainer-tooltip>
<portainer-tooltip message="'Provide a personal access token or password'"></portainer-tooltip>
</label>
<div class="inline-input">
<input

View file

@ -30,7 +30,7 @@
<div class="form-group">
<label for="registry_url" class="col-sm-3 col-lg-2 control-label text-left">
Registry URL
<portainer-tooltip position="bottom" message="URL of an Amazon Elastic Container Registry, which contains an account id and region."></portainer-tooltip>
<portainer-tooltip message="'URL of an Amazon Elastic Container Registry, which contains an account id and region.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -58,7 +58,7 @@
<div class="col-sm-12">
<label class="control-label text-left">
Authentication
<portainer-tooltip position="bottom" message="Enable this option if you need to specify credentials to connect to a private registry."></portainer-tooltip>
<portainer-tooltip message="'Enable this option if you need to specify credentials to connect to a private registry.'"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input type="checkbox" ng-model="$ctrl.model.Authentication" /><i></i> </label>
</div>

View file

@ -20,7 +20,7 @@
<div class="form-group">
<label for="registry_url" class="col-sm-3 col-lg-2 control-label text-left">
Registry URL
<portainer-tooltip position="bottom" message="URL of an Azure Container Registry. Any protocol will be stripped."></portainer-tooltip>
<portainer-tooltip message="'URL of an Azure Container Registry. Any protocol will be stripped.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="registry_url" name="registry_url" ng-model="$ctrl.model.URL" placeholder="myproject.azurecr.io" required />

View file

@ -27,7 +27,7 @@
<div class="form-group">
<label for="registry_url" class="col-sm-3 col-lg-2 control-label text-left">
Registry URL
<portainer-tooltip position="bottom" message="URL or IP address of a Docker registry. Any protocol and trailing slash will be stripped if present."></portainer-tooltip>
<portainer-tooltip message="'URL or IP address of a Docker registry. Any protocol and trailing slash will be stripped if present.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="registry_url" name="registry_url" ng-model="$ctrl.model.URL" placeholder="10.0.0.10:5000 or myregistry.domain.tld" required />
@ -46,7 +46,7 @@
<div class="col-sm-12">
<label for="registry_auth" class="control-label text-left">
Authentication
<portainer-tooltip position="bottom" message="Enable this option if you need to specify credentials to connect to this registry."></portainer-tooltip>
<portainer-tooltip message="'Enable this option if you need to specify credentials to connect to this registry.'"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input type="checkbox" ng-model="$ctrl.model.Authentication" /><i></i> </label>
</div>

View file

@ -55,7 +55,7 @@
<div class="form-group" ng-if="$ctrl.state.overrideConfiguration">
<label for="instance_url" class="col-sm-3 col-lg-2 control-label text-left">
Instance URL
<portainer-tooltip position="bottom" message="URL of Gitlab instance."></portainer-tooltip>
<portainer-tooltip message="'URL of Gitlab instance.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="instance_url" name="instance_url" ng-model="$ctrl.model.Gitlab.InstanceURL" placeholder="https://gitlab.com" required />
@ -73,7 +73,7 @@
<div class="form-group" ng-if="$ctrl.state.overrideConfiguration">
<label for="registry_url" class="col-sm-3 col-lg-2 control-label text-left">
Registry URL
<portainer-tooltip position="bottom" message="URL of Gitlab registry instance."></portainer-tooltip>
<portainer-tooltip message="'URL of Gitlab registry instance.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="registry_url" name="registry_url" ng-model="$ctrl.model.URL" placeholder="https://registry.gitlab.com" required />

View file

@ -27,7 +27,7 @@
<div class="form-group">
<label for="registry_url" class="col-sm-3 col-lg-2 control-label text-left">
Registry URL
<portainer-tooltip position="bottom" message="The URL of the ProGet registry including the Feed name"></portainer-tooltip>
<portainer-tooltip message="'The URL of the ProGet registry including the Feed name'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="registry_url" name="registry_url" ng-model="$ctrl.model.URL" placeholder="proget.example.com/example-registry" required />
@ -45,7 +45,7 @@
<div class="form-group">
<label for="registry_base_url" class="col-sm-3 col-lg-2 control-label text-left">
Base URL
<portainer-tooltip position="bottom" message="The base URL of the ProGet registry"></portainer-tooltip>
<portainer-tooltip message="'The base URL of the ProGet registry'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="registry_base_url" name="registry_base_url" ng-model="$ctrl.model.BaseURL" placeholder="proget.example.com" required />

View file

@ -36,7 +36,7 @@
<div ng-repeat="var in $ctrl.template.Env" ng-if="!var.preset || var.select" class="form-group">
<label for="field_{{ $index }}" class="col-sm-2 control-label text-left">
{{ var.label }}
<portainer-tooltip ng-if="var.description" position="bottom" message="{{ var.description }}"></portainer-tooltip>
<portainer-tooltip ng-if="var.description" message="var.description"></portainer-tooltip>
</label>
<div class="col-sm-10">
<input type="text" class="form-control" ng-if="!var.select" ng-model="var.value" id="field_{{ $index }}" />

View file

@ -7,13 +7,10 @@ import widgetModule from './widget';
import { boxSelectorModule } from './BoxSelector';
import { pageHeaderModule } from './PageHeader';
import { TooltipAngular } from './Tip/Tooltip';
import { beFeatureIndicator } from './BEFeatureIndicator';
import { InformationPanelAngular } from './InformationPanel';
export default angular
.module('portainer.app.components', [pageHeaderModule, boxSelectorModule, widgetModule, gitFormModule, porAccessManagementModule, formComponentsModule])
.component('informationPanel', InformationPanelAngular)
.component('portainerTooltip', TooltipAngular)
.component('beFeatureIndicator', beFeatureIndicator).name;

View file

@ -102,7 +102,7 @@
<div class="form-group">
<label class="col-sm-3 col-lg-2 control-label text-left">
Claim name
<portainer-tooltip position="bottom" message="The OpenID Connect UserInfo Claim name that contains the team identifier the user belongs to."></portainer-tooltip>
<portainer-tooltip message="'The OpenID Connect UserInfo Claim name that contains the team identifier the user belongs to.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<div class="col-xs-11 col-lg-10">
@ -168,7 +168,7 @@
<div class="form-group" ng-if="$ctrl.state.provider == 'microsoft'">
<label for="oauth_microsoft_tenant_id" class="col-sm-3 col-lg-2 control-label text-left">
Tenant ID
<portainer-tooltip position="bottom" message="ID of the Azure Directory you wish to authenticate against. Also known as the Directory ID"></portainer-tooltip>
<portainer-tooltip message="'ID of the Azure Directory you wish to authenticate against. Also known as the Directory ID'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -190,7 +190,7 @@
<div class="form-group">
<label for="oauth_client_id" class="col-sm-3 col-lg-2 control-label text-left">
{{ $ctrl.state.provider == 'microsoft' ? 'Application ID' : 'Client ID' }}
<portainer-tooltip position="bottom" message="Public identifier of the OAuth application"></portainer-tooltip>
<portainer-tooltip message="'Public identifier of the OAuth application'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -228,10 +228,7 @@
<div class="form-group">
<label for="oauth_authorization_uri" class="col-sm-3 col-lg-2 control-label text-left">
Authorization URL
<portainer-tooltip
position="bottom"
message="URL used to authenticate against the OAuth provider. Will redirect the user to the OAuth provider login view"
></portainer-tooltip>
<portainer-tooltip message="'URL used to authenticate against the OAuth provider. Will redirect the user to the OAuth provider login view'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -249,7 +246,7 @@
<div class="form-group">
<label for="oauth_access_token_uri" class="col-sm-3 col-lg-2 control-label text-left">
Access token URL
<portainer-tooltip position="bottom" message="URL used by Portainer to exchange a valid OAuth authentication code for an access token"></portainer-tooltip>
<portainer-tooltip message="'URL used by Portainer to exchange a valid OAuth authentication code for an access token'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -267,7 +264,7 @@
<div class="form-group">
<label for="oauth_resource_uri" class="col-sm-3 col-lg-2 control-label text-left">
Resource URL
<portainer-tooltip position="bottom" message="URL used by Portainer to retrieve information about the authenticated user"></portainer-tooltip>
<portainer-tooltip message="'URL used by Portainer to retrieve information about the authenticated user'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -286,8 +283,7 @@
<label for="oauth_redirect_uri" class="col-sm-3 col-lg-2 control-label text-left">
Redirect URL
<portainer-tooltip
position="bottom"
message="URL used by the OAuth provider to redirect the user after successful authentication. Should be set to your Portainer instance URL"
message="'URL used by the OAuth provider to redirect the user after successful authentication. Should be set to your Portainer instance URL'"
></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
@ -307,8 +303,7 @@
<label for="oauth_logout_url" class="col-sm-3 col-lg-2 control-label text-left">
Logout URL
<portainer-tooltip
position="bottom"
message="URL used by Portainer to redirect the user to the OAuth provider in order to log the user out of the identity provider session."
message="'URL used by Portainer to redirect the user to the OAuth provider in order to log the user out of the identity provider session.'"
></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
@ -327,8 +322,7 @@
<label for="oauth_user_identifier" class="col-sm-3 col-lg-2 control-label text-left">
User identifier
<portainer-tooltip
position="bottom"
message="Identifier that will be used by Portainer to create an account for the authenticated user. Retrieved from the resource server specified via the Resource URL field"
message="'Identifier that will be used by Portainer to create an account for the authenticated user. Retrieved from the resource server specified via the Resource URL field'"
></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
@ -348,8 +342,7 @@
<label for="oauth_scopes" class="col-sm-3 col-lg-2 control-label text-left">
Scopes
<portainer-tooltip
position="bottom"
message="Scopes required by the OAuth provider to retrieve information about the authenticated user. Refer to your OAuth provider documentation for more information about this"
message="'Scopes required by the OAuth provider to retrieve information about the authenticated user. Refer to your OAuth provider documentation for more information about this'"
></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">

View file

@ -9,6 +9,7 @@ import { TagSelector } from '@@/TagSelector';
import { Loading } from '@@/Widget/Loading';
import { PasswordCheckHint } from '@@/PasswordCheckHint';
import { ViewLoading } from '@@/ViewLoading';
import { Tooltip } from '@@/Tip/Tooltip';
import { fileUploadField } from './file-upload-field';
import { switchField } from './switch-field';
@ -20,6 +21,7 @@ export const componentsModule = angular
'tagSelector',
r2a(TagSelector, ['allowCreate', 'onChange', 'value'])
)
.component('portainerTooltip', r2a(Tooltip, ['message', 'position']))
.component('fileUploadField', fileUploadField)
.component('porSwitchField', switchField)
.component(

View file

@ -70,7 +70,7 @@
<div class="form-group">
<label for="ldap_username" class="col-sm-3 control-label text-left">
Service Account
<portainer-tooltip position="bottom" message="Account that will be used to search for users."></portainer-tooltip>
<portainer-tooltip message="'Account that will be used to search for users.'"></portainer-tooltip>
</label>
<div class="col-sm-9">
<input
@ -89,7 +89,7 @@
<div class="form-group">
<label for="ldap_password" class="col-sm-3 control-label text-left">
Service Account Password
<portainer-tooltip position="bottom" message="If you do not enter a password, Portainer will leave the current password unchanged."></portainer-tooltip>
<portainer-tooltip message="'If you do not enter a password, Portainer will leave the current password unchanged.'"></portainer-tooltip>
</label>
<div class="col-sm-9">
<input

View file

@ -11,7 +11,7 @@
<div class="form-group">
<label for="ldap_admin_group_basedn_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Group Base DN
<portainer-tooltip position="bottom" message="The distinguished name of the element from which the LDAP server will search for groups."></portainer-tooltip>
<portainer-tooltip message="'The distinguished name of the element from which the LDAP server will search for groups.'"></portainer-tooltip>
</label>
<div class="col-sm-8 col-md-4">
<input
@ -29,7 +29,7 @@
<label for="ldap_admin_group_att_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Group Membership Attribute
<portainer-tooltip position="bottom" message="LDAP attribute which denotes the group membership."></portainer-tooltip>
<portainer-tooltip message="'LDAP attribute which denotes the group membership.'"></portainer-tooltip>
</label>
<div class="col-sm-8 col-md-4">
<input
@ -48,7 +48,7 @@
<div class="form-group">
<label for="ldap_admin_group_filter_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Group Filter
<portainer-tooltip position="bottom" message="The LDAP search filter used to select group elements, optional."></portainer-tooltip>
<portainer-tooltip message="'The LDAP search filter used to select group elements, optional.'"></portainer-tooltip>
</label>
<div ng-class="{ 'col-sm-7 col-md-9': $index, 'col-sm-8 col-md-10': !$index }">
<input

View file

@ -9,7 +9,7 @@
<div class="form-group">
<label for="ldap_group_basedn_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Group Base DN
<portainer-tooltip position="bottom" message="The distinguished name of the element from which the LDAP server will search for groups."></portainer-tooltip>
<portainer-tooltip message="'The distinguished name of the element from which the LDAP server will search for groups.'"></portainer-tooltip>
</label>
<div class="col-sm-8 col-md-4">
<input type="text" class="form-control" id="ldap_group_basedn_{{ $index }}" ng-model="config.GroupBaseDN" placeholder="dc=ldap,dc=domain,dc=tld" />
@ -17,7 +17,7 @@
<label for="ldap_group_att_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Group Membership Attribute
<portainer-tooltip position="bottom" message="LDAP attribute which denotes the group membership."></portainer-tooltip>
<portainer-tooltip message="'LDAP attribute which denotes the group membership.'"></portainer-tooltip>
</label>
<div class="col-sm-8 col-md-4">
<input type="text" class="form-control" id="ldap_group_att_{{ $index }}" ng-model="config.GroupAttribute" placeholder="member" />
@ -26,7 +26,7 @@
<div class="form-group">
<label for="ldap_group_filter_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Group Filter
<portainer-tooltip position="bottom" message="The LDAP search filter used to select group elements, optional."></portainer-tooltip>
<portainer-tooltip message="'The LDAP search filter used to select group elements, optional.'"></portainer-tooltip>
</label>
<div ng-class="{ 'col-sm-7 col-md-9': $index, 'col-sm-8 col-md-10': !$index }">
<input type="text" class="form-control" id="ldap_group_filter_{{ $index }}" ng-model="config.GroupFilter" placeholder="(objectClass=account)" />

View file

@ -9,7 +9,7 @@
<div class="form-group">
<label for="ldap_basedn_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Base DN
<portainer-tooltip position="bottom" message="The distinguished name of the element from which the LDAP server will search for users."></portainer-tooltip>
<portainer-tooltip message="'The distinguished name of the element from which the LDAP server will search for users.'"></portainer-tooltip>
</label>
<div class="col-sm-8 col-md-4">
<input type="text" class="form-control" id="ldap_basedn_{{ $index }}" ng-model="config.BaseDN" placeholder="dc=ldap,dc=domain,dc=tld" />
@ -17,7 +17,7 @@
<label for="ldap_username_att_{{ $index }}" class="col-sm-4 col-md-3 col-lg-2 control-label text-left">
Username attribute
<portainer-tooltip position="bottom" message="LDAP attribute which denotes the username."></portainer-tooltip>
<portainer-tooltip message="'LDAP attribute which denotes the username.'"></portainer-tooltip>
</label>
<div class="col-sm-8 col-md-3 col-lg-4">
<input type="text" class="form-control" id="ldap_username_att_{{ $index }}" ng-model="config.UserNameAttribute" placeholder="uid" />
@ -26,7 +26,7 @@
<div class="form-group">
<label for="ldap_filter_{{ $index }}" class="col-sm-4 col-md-2 control-label text-left">
Filter
<portainer-tooltip position="bottom" message="The LDAP search filter used to select user elements, optional."></portainer-tooltip>
<portainer-tooltip message="'The LDAP search filter used to select user elements, optional.'"></portainer-tooltip>
</label>
<div ng-class="{ 'col-sm-7 col-md-9': $index, 'col-sm-8 col-md-10': !$index }">
<input type="text" class="form-control" id="ldap_filter_{{ $index }}" ng-model="config.Filter" placeholder="(objectClass=account)" />

View file

@ -44,7 +44,7 @@
<div class="form-group">
<label for="anonymous_mode" class="control-label text-left col-sm-3 col-lg-2">
Anonymous mode
<portainer-tooltip position="bottom" message="Enable this option if the server is configured for Anonymous access."></portainer-tooltip>
<portainer-tooltip message="'Enable this option if the server is configured for Anonymous access.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<label class="switch">
@ -58,7 +58,7 @@
<div class="form-group">
<label for="ldap_username" class="col-sm-3 col-lg-2 control-label text-left">
Reader DN
<portainer-tooltip position="bottom" message="Account that will be used to search for users."></portainer-tooltip>
<portainer-tooltip message="'Account that will be used to search for users.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="ldap_username" ng-model="$ctrl.settings.ReaderDN" placeholder="cn=user,dc=domain,dc=tld" />
@ -68,7 +68,7 @@
<div class="form-group">
<label for="ldap_password" class="col-sm-3 col-lg-2 control-label text-left">
Password
<portainer-tooltip position="bottom" message="If you do not enter a password, Portainer will leave the current password unchanged."></portainer-tooltip>
<portainer-tooltip message="'If you do not enter a password, Portainer will leave the current password unchanged.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="password" class="form-control" id="ldap_password" ng-model="$ctrl.settings.Password" placeholder="password" autocomplete="new-password" />

View file

@ -64,7 +64,7 @@
<div class="col-sm-12">
<label for="anonymous_mode" class="control-label text-left">
Anonymous mode
<portainer-tooltip position="bottom" message="Enable this option if the server is configured for Anonymous access."></portainer-tooltip>
<portainer-tooltip message="'Enable this option if the server is configured for Anonymous access.'"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px">
@ -84,7 +84,7 @@
<div class="form-group">
<label for="ldap_username" class="col-sm-3 col-lg-2 control-label text-left">
Reader DN
<portainer-tooltip position="bottom" message="Account that will be used to search for users."></portainer-tooltip>
<portainer-tooltip message="'Account that will be used to search for users.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -103,7 +103,7 @@
<div class="form-group">
<label for="ldap_password" class="col-sm-3 col-lg-2 control-label text-left">
Password
<portainer-tooltip position="bottom" message="If you do not enter a password, Portainer will leave the current password unchanged."></portainer-tooltip>
<portainer-tooltip message="'If you do not enter a password, Portainer will leave the current password unchanged.'"></portainer-tooltip>
</label>
<div class="col-sm-9">
<input

View file

@ -6,10 +6,7 @@
<div class="form-group" ng-if="!$ctrl.settings.TLSConfig.TLS">
<label for="tls" class="control-label col-sm-3 text-left" style="padding-top: 0">
Use StartTLS
<portainer-tooltip
position="bottom"
message="Enable this option if want to use StartTLS to secure the connection to the server. Ignored if Use TLS is selected."
></portainer-tooltip>
<portainer-tooltip message="'Enable this option if want to use StartTLS to secure the connection to the server. Ignored if Use TLS is selected.'"></portainer-tooltip>
</label>
<div class="col-sm-9">
<label class="switch">
@ -23,7 +20,7 @@
<div class="form-group" ng-if="!$ctrl.settings.StartTLS">
<label for="tls" class="control-label col-sm-3 text-left" style="padding-top: 0">
Use TLS
<portainer-tooltip position="bottom" message="Enable this option if you need to specify TLS certificates to connect to the LDAP server."></portainer-tooltip>
<portainer-tooltip message="'Enable this option if you need to specify TLS certificates to connect to the LDAP server.'"></portainer-tooltip>
</label>
<div class="col-sm-9">
<label class="switch">
@ -37,7 +34,7 @@
<div class="form-group">
<label for="tls" class="control-label col-sm-3 text-left" style="padding-top: 0">
Skip verification of server certificate
<portainer-tooltip position="bottom" message="Skip the verification of the server TLS certificate. Not recommended on unsecured networks."></portainer-tooltip>
<portainer-tooltip message="'Skip the verification of the server TLS certificate. Not recommended on unsecured networks.'"></portainer-tooltip>
</label>
<div class="col-sm-9">
<label class="switch">

View file

@ -126,7 +126,7 @@
<div class="form-group">
<label for="endpoint_url" class="col-sm-3 col-lg-2 control-label text-left">
Portainer server URL
<portainer-tooltip position="bottom" message="URL of the Portainer instance that the agent will use to initiate the communications."></portainer-tooltip>
<portainer-tooltip message="'URL of the Portainer instance that the agent will use to initiate the communications.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input

View file

@ -220,7 +220,7 @@
<div class="form-group">
<label for="socket_path" class="col-sm-3 col-lg-2 control-label text-left">
Socket path
<portainer-tooltip position="bottom" message="Path to the Docker socket. Remember to bind-mount the socket, see the important notice above for more information.">
<portainer-tooltip message="'Path to the Docker socket. Remember to bind-mount the socket, see the important notice above for more information.'">
</portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
@ -251,8 +251,7 @@
<label for="endpoint_url" class="col-sm-3 col-lg-2 control-label text-left">
Environment URL
<portainer-tooltip
position="bottom"
message="URL or IP address of a Docker host. The Docker API must be exposed over a TCP port. Please refer to the Docker documentation to configure it."
message="'URL or IP address of a Docker host. The Docker API must be exposed over a TCP port. Please refer to the Docker documentation to configure it.'"
>
</portainer-tooltip>
</label>
@ -293,7 +292,7 @@
<div class="form-group">
<label for="endpoint_url" class="col-sm-3 col-lg-2 control-label text-left">
Portainer server URL
<portainer-tooltip position="bottom" message="URL of the Portainer instance that the agent will use to initiate the communications."></portainer-tooltip>
<portainer-tooltip message="'URL of the Portainer instance that the agent will use to initiate the communications.'"></portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input
@ -326,10 +325,7 @@
<div class="form-group">
<label for="endpoint_public_url" class="col-sm-3 col-lg-2 control-label text-left">
Public IP
<portainer-tooltip
position="bottom"
message="URL or IP address where exposed containers will be reachable. This field is optional and will default to the environment URL."
>
<portainer-tooltip message="'URL or IP address where exposed containers will be reachable. This field is optional and will default to the environment URL.'">
</portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">

View file

@ -112,8 +112,7 @@
<label for="endpoint_url" class="col-sm-3 col-lg-2 control-label text-left">
Environment URL
<portainer-tooltip
position="bottom"
message="URL or IP address of a Docker host. The Docker API must be exposed over a TCP port. Please refer to the Docker documentation to configure it."
message="'URL or IP address of a Docker host. The Docker API must be exposed over a TCP port. Please refer to the Docker documentation to configure it.'"
>
</portainer-tooltip>
</label>
@ -133,10 +132,7 @@
<div class="form-group" ng-if="!state.azureEndpoint">
<label for="endpoint_public_url" class="col-sm-3 col-lg-2 control-label text-left">
Public IP
<portainer-tooltip
position="bottom"
message="URL or IP address where exposed containers will be reachable. This field is optional and will default to the environment URL."
>
<portainer-tooltip message="'URL or IP address where exposed containers will be reachable. This field is optional and will default to the environment URL.'">
</portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">

View file

@ -188,8 +188,7 @@
<label for="password" class="col-sm-3 control-label text-left">
Password
<portainer-tooltip
position="bottom"
message="If the backup is password protected, provide the password in order to extract the backup file, otherwise this field can be left empty."
message="'If the backup is password protected, provide the password in order to extract the backup file, otherwise this field can be left empty.'"
></portainer-tooltip>
</label>
<div class="col-sm-4">

View file

@ -19,7 +19,7 @@
<div class="form-group">
<label for="endpoint_url" class="col-sm-4 col-lg-3 control-label text-left">
Agent URL
<portainer-tooltip position="bottom" message="URL or IP address of a Portainer agent."> </portainer-tooltip>
<portainer-tooltip message="'URL or IP address of a Portainer agent.'"> </portainer-tooltip>
</label>
<div class="col-sm-8 col-lg-9">
<input type="text" class="form-control" id="endpoint_url" ng-model="ctrl.formValues.URL" placeholder="e.g. 10.0.0.10:9001" />

View file

@ -29,8 +29,7 @@
<div class="form-group" ng-if="registry.Type !== RegistryTypes.DOCKERHUB && registry.Type !== RegistryTypes.QUAY && registry.Type !== RegistryTypes.GITLAB">
<label for="registry_url" class="col-sm-3 col-lg-2 control-label text-left">
Registry URL
<portainer-tooltip position="bottom" message="URL or IP address of a Docker registry. Any protocol or trailing slash will be stripped if present.">
</portainer-tooltip>
<portainer-tooltip message="'URL or IP address of a Docker registry. Any protocol or trailing slash will be stripped if present.'"> </portainer-tooltip>
</label>
<div class="col-sm-9 col-lg-10">
<input type="text" class="form-control" id="registry_url" ng-model="$ctrl.registry.URL" placeholder="e.g. 10.0.0.10:5000 or myregistry.domain.tld" />
@ -51,7 +50,7 @@
<div class="col-sm-12">
<label for="registry_auth" class="control-label text-left">
Authentication
<portainer-tooltip position="bottom" message="Enable this option if you need to specify credentials to connect to this registry."> </portainer-tooltip>
<portainer-tooltip message="'Enable this option if you need to specify credentials to connect to this registry.'"> </portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input type="checkbox" ng-model="$ctrl.registry.Authentication" /><i></i> </label>
</div>

View file

@ -10,7 +10,7 @@
<div class="form-group">
<label for="user_timeout" class="col-sm-2 control-label text-left">
Session lifetime
<portainer-tooltip message="Time before users are forced to relogin." position="bottom"></portainer-tooltip>
<portainer-tooltip message="'Time before users are forced to relogin.'"></portainer-tooltip>
</label>
<div class="col-sm-10">
<select

View file

@ -165,8 +165,8 @@
<label class="control-label text-left">
Create a Stack webhook
<portainer-tooltip
position="top"
message="Create a webhook (or callback URI) to automate the update of this stack. Sending a POST request to this callback URI (without requiring any authentication) will pull the most up-to-date version of the associated image and re-deploy this stack."
position="'top'"
message="'Create a webhook (or callback URI) to automate the update of this stack. Sending a POST request to this callback URI (without requiring any authentication) will pull the most up-to-date version of the associated image and re-deploy this stack.'"
></portainer-tooltip>
</label>
<label class="switch box-selector-item limited business" style="margin-left: 20px">

View file

@ -168,8 +168,8 @@
<label class="control-label text-left">
Create a Stack webhook
<portainer-tooltip
position="top"
message="Create a webhook (or callback URI) to automate the update of this stack. Sending a POST request to this callback URI (without requiring any authentication) will pull the most up-to-date version of the associated image and re-deploy this stack."
position="'top'"
message="'Create a webhook (or callback URI) to automate the update of this stack. Sending a POST request to this callback URI (without requiring any authentication) will pull the most up-to-date version of the associated image and re-deploy this stack.'"
></portainer-tooltip>
</label>
<label class="switch box-selector-item limited business" style="margin-left: 20px">
@ -196,7 +196,7 @@
<div class="col-sm-12">
<label for="prune" class="control-label text-left">
Prune services
<portainer-tooltip position="bottom" message="Prune services that are no longer referenced."></portainer-tooltip>
<portainer-tooltip message="'Prune services that are no longer referenced.'"></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input name="prune" type="checkbox" ng-model="formValues.Prune" /><i></i> </label>
</div>

View file

@ -51,7 +51,7 @@
<div ng-repeat="var in state.selectedTemplate.Env" ng-if="!var.preset || var.select" class="form-group">
<label for="field_{{ $index }}" class="col-sm-2 control-label text-left">
{{ var.label }}
<portainer-tooltip ng-if="var.description" position="bottom" message="{{ var.description }}"></portainer-tooltip>
<portainer-tooltip ng-if="var.description" message="var.description"></portainer-tooltip>
</label>
<div class="col-sm-10">
<input type="text" class="form-control" ng-if="!var.select" ng-model="var.value" id="field_{{ $index }}" />

View file

@ -23,8 +23,7 @@
<label for="permissions" class="control-label text-left">
Administrator
<portainer-tooltip
position="bottom"
message="Administrators have access to Portainer settings management as well as full control over all defined environments and their resources."
message="'Administrators have access to Portainer settings management as well as full control over all defined environments and their resources.'"
></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input type="checkbox" ng-model="formValues.Administrator" /><i></i> </label>

View file

@ -17,11 +17,7 @@
<div class="form-group">
<label for="username" class="col-sm-3 col-lg-2 control-label text-left">
Username
<portainer-tooltip
ng-if="AuthenticationMethod === 2"
position="bottom"
message="Username must exactly match username defined in external LDAP source."
></portainer-tooltip>
<portainer-tooltip ng-if="AuthenticationMethod === 2" message="'Username must exactly match username defined in external LDAP source.'"></portainer-tooltip>
</label>
<div class="col-sm-8">
<div class="input-group">
@ -94,8 +90,7 @@
<label for="permissions" class="control-label text-left">
Administrator
<portainer-tooltip
position="bottom"
message="Administrators have access to Portainer settings management as well as full control over all defined environments and their resources."
message="'Administrators have access to Portainer settings management as well as full control over all defined environments and their resources.'"
></portainer-tooltip>
</label>
<label class="switch" style="margin-left: 20px"> <input type="checkbox" ng-model="formValues.Administrator" data-cy="user-adminCheckbox" /><i></i> </label>