diff --git a/frontend/components/IconToolTip/IconToolTip.tsx b/frontend/components/IconToolTip/IconToolTip.tsx new file mode 100644 index 000000000..6accd1d39 --- /dev/null +++ b/frontend/components/IconToolTip/IconToolTip.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import ReactTooltip from 'react-tooltip'; + +interface IIconToolTipProps { + text: string; + isHtml?: boolean; +} + +// TODO: handle html text better. possibly use 'children' prop for html +const IconToolTip = (props: IIconToolTipProps): JSX.Element => { + const { text, isHtml } = props; + return ( +
+ + + + + + + {/* same colour as $core-dark-blue-grey */} + +
+ ); +}; + +export default IconToolTip; diff --git a/frontend/components/IconToolTip/index.ts b/frontend/components/IconToolTip/index.ts new file mode 100644 index 000000000..b4f1c9e92 --- /dev/null +++ b/frontend/components/IconToolTip/index.ts @@ -0,0 +1 @@ +export { default } from './IconToolTip'; diff --git a/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx b/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx index 0eeb8b8e8..c70c0e758 100644 --- a/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx +++ b/frontend/components/forms/admin/AppConfigForm/AppConfigForm.jsx @@ -13,6 +13,7 @@ import InputField from 'components/forms/fields/InputField'; import OrgLogoIcon from 'components/icons/OrgLogoIcon'; import Slider from 'components/forms/fields/Slider'; import validate from 'components/forms/admin/AppConfigForm/validate'; +import IconToolTip from 'components/IconToolTip'; const authMethodOptions = [ { label: 'Plain', value: 'authmethod_plain' }, @@ -111,12 +112,17 @@ class AppConfigForm extends Component {
-

Domain - If you need to specify a HELO domain, you can do it here (Default: Blank)

-

Verify SSL Certs - Turn this off (not recommended) if you use a self-signed certificate (Default: On)

-

Enable STARTTLS - Detects if STARTTLS is enabled in your SMTP server and starts to use it. (Default: On)

-

Host Expiry - When enabled, allows automatic cleanup of hosts that have not communicated with Fleet in some number of days. (Default: Off)

-

Host Expiry Window - If a host has not communicated with Fleet in the specified number of days, it will be removed.

-

Disable Live Queries - When enabled, disables the ability to run live queries (ad hoc queries executed via the UI or fleetctl). (Default: Off)

+ Domain - If you need to specify a HELO domain, you can do it here (Default: Blank)

\ +

Verify SSL Certs - Turn this off (not recommended) if you use a self-signed certificate (Default: On)

\ +

Enable STARTTLS - Detects if STARTTLS is enabled in your SMTP server and starts to use it. (Default: On)

\ +

Host Expiry - When enabled, allows automatic cleanup of hosts that have not communicated with Fleet in some number of days. (Default: Off)

\ +

Host Expiry Window - If a host has not communicated with Fleet in the specified number of days, it will be removed.

\ +

Disable Live Queries - When enabled, disables the ability to run live queries (ad hoc queries executed via the UI or fleetctl). (Default: Off)

\ + '} + />
); @@ -183,7 +189,7 @@ class AppConfigForm extends Component { />
-

The base URL of this instance for use in Fleet links.

+
@@ -205,7 +211,7 @@ class AppConfigForm extends Component { />
-

A required human friendly name for the identity provider that will provide single sign on authentication.

+
@@ -216,7 +222,7 @@ class AppConfigForm extends Component { />
-

The required entity ID is a URI that you use to identify Fleet when configuring the identity provider.

+
@@ -224,11 +230,13 @@ class AppConfigForm extends Component { {...fields.issuer_uri} label="Issuer URI" /> +
-

The issuer URI supplied by the identity provider.

+
+
-

An optional link to an image such as a logo for the identity provider.

+
@@ -247,7 +255,7 @@ class AppConfigForm extends Component { />
-

Metadata provided by the identity provider. Either metadata or a metadata url must be provided.

+
@@ -256,11 +264,11 @@ class AppConfigForm extends Component { label="Metadata URL" hint={If available from the identity provider, this is the preferred means of providing metadata.} /> +
-

A URL that references the identity provider metadata.

+
-
@@ -282,8 +290,9 @@ class AppConfigForm extends Component { />
-

The sender address for emails from Fleet.

+
+
-

The hostname / IP address and corresponding port of your organization's SMTP server.

+
+
-

If your mail server requires authentication, you need to specify the authentication type here.

-

No Authentication - Select this if your SMTP is open.

-

Username & Password - Select this if your SMTP server requires authentication with a username and password.

+ If your mail server requires authentication, you need to specify the authentication type here.

\ +

No Authentication - Select this if your SMTP is open.

\ +

Username & Password - Select this if your SMTP server requires authentication with a username and password.

\ + '} + />
diff --git a/frontend/components/forms/admin/AppConfigForm/_styles.scss b/frontend/components/forms/admin/AppConfigForm/_styles.scss index 20ea7ac61..8394b242f 100644 --- a/frontend/components/forms/admin/AppConfigForm/_styles.scss +++ b/frontend/components/forms/admin/AppConfigForm/_styles.scss @@ -99,9 +99,7 @@ float: right; width: 40%; - p { - font-size: $x-small; - font-style: italic; + .icon-tooltip { margin: 32px 0; } diff --git a/package.json b/package.json index a2c036af0..60176f347 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "cypress:open": "cypress open" }, "dependencies": { + "@types/react-tooltip": "^4.2.4", "ace-builds": "1.3.1", "autoprefixer": "^9.4.3", "bourbon": "^5.0.0", @@ -51,7 +52,7 @@ "react-select": "^1", "react-table": "^7.6.3", "react-tabs": "^3.2.0", - "react-tooltip": "^4.2.13", + "react-tooltip": "^4.2.15", "redux": "4.0.5", "redux-mock-store": "1.4.0", "redux-thunk": "2.3.0", diff --git a/yarn.lock b/yarn.lock index adfdf7ae2..e0a1d6a05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1593,6 +1593,13 @@ dependencies: "@types/react" "*" +"@types/react-tooltip@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@types/react-tooltip/-/react-tooltip-4.2.4.tgz#d0acad2a3061806e10aab91dd26a95a77fd35125" + integrity sha512-UzjzmgY/VH3Str6DcAGTLMA1mVVhGOyARNTANExrirtp+JgxhaIOVDxq4TIRmpSi4voLv+w4HA9CC5GvhhCA0A== + dependencies: + react-tooltip "*" + "@types/react@*", "@types/react@^17.0.2": version "17.0.2" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.2.tgz#3de24c4efef902dd9795a49c75f760cbe4f7a5a8" @@ -10656,10 +10663,10 @@ react-test-renderer@^16.0.0-0: react-is "^16.8.6" scheduler "^0.13.6" -react-tooltip@^4.2.13: - version "4.2.13" - resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.13.tgz#908db8a41dc10ae2ae9cc1864746cde939aaab0f" - integrity sha512-iAZ02wSxChLWb7Vnu0zeQMyAo/jiGHrwFNILWaR3pCKaFVRjKcv/B6TBI4+Xd66xLXVzLngwJ91Tf5D+mqAqVA== +react-tooltip@*, react-tooltip@^4.2.15: + version "4.2.15" + resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.15.tgz#ae278931a222434ae597c57aab07be215a2aa5f9" + integrity sha512-xmVWi6N1qsrACiAquv28jhQ10igFbQX0Xk5rjSjgUPi9BAf8lCFhYpdFXe6NrEeuPrM7hdZkePa3eS2SrIRxIw== dependencies: prop-types "^15.7.2" uuid "^7.0.3"