From 8079952d4753e991d33aede9cd2d2794f8bf88c8 Mon Sep 17 00:00:00 2001 From: Jens L Date: Mon, 31 Jul 2023 19:35:09 +0200 Subject: [PATCH] web: rework and expand tooltips (#6435) * web: replace custom tooltip with pfe-tooltip Signed-off-by: Jens Langhammer * add tooltips to all edit buttons Signed-off-by: Jens Langhammer * add tooltips to remaining table actions Signed-off-by: Jens Langhammer * add a bunch more tooltips Signed-off-by: Jens Langhammer * update locale Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer --- web/package-lock.json | 58 ++++++++++++ web/package.json | 1 + web/src/admin/applications/ApplicationForm.ts | 5 +- .../admin/applications/ApplicationListPage.ts | 9 +- web/src/admin/blueprints/BlueprintListPage.ts | 16 +++- .../crypto/CertificateKeyPairListPage.ts | 5 +- .../enterprise/EnterpriseLicenseListPage.ts | 5 +- web/src/admin/events/EventListPage.ts | 5 +- web/src/admin/events/RuleListPage.ts | 5 +- web/src/admin/events/TransportListPage.ts | 9 +- web/src/admin/flows/FlowListPage.ts | 13 ++- web/src/admin/groups/GroupListPage.ts | 5 +- web/src/admin/groups/RelatedGroupList.ts | 9 +- web/src/admin/outposts/OutpostListPage.ts | 5 +- .../outposts/ServiceConnectionListPage.ts | 5 +- web/src/admin/policies/PolicyListPage.ts | 9 +- .../PropertyMappingListPage.ts | 9 +- web/src/admin/providers/ProviderListPage.ts | 5 +- web/src/admin/sources/SourceListPage.ts | 5 +- web/src/admin/stages/StageListPage.ts | 9 +- .../stages/invitation/InvitationListPage.ts | 5 +- web/src/admin/stages/prompt/PromptListPage.ts | 5 +- .../admin/system-tasks/SystemTaskListPage.ts | 5 +- web/src/admin/tenants/TenantListPage.ts | 5 +- web/src/admin/tokens/TokenListPage.ts | 9 +- web/src/admin/users/RelatedUserList.ts | 9 +- web/src/admin/users/UserListPage.ts | 5 +- web/src/elements/PageHeader.ts | 9 +- web/src/elements/Tooltip.ts | 55 ----------- web/src/elements/chips/Chip.ts | 6 +- .../notifications/NotificationDrawer.ts | 4 +- web/src/elements/utils/TimeDeltaHelp.ts | 37 ++++---- web/src/user/LibraryApplication/index.ts | 2 +- web/src/user/UserInterface.ts | 23 ++++- .../user/user-settings/mfa/MFADevicesPage.ts | 5 +- .../user-settings/tokens/UserTokenList.ts | 9 +- web/xliff/de.xlf | 45 +++++++++ web/xliff/en.xlf | 45 +++++++++ web/xliff/es.xlf | 45 +++++++++ web/xliff/fr_FR.xlf | 45 +++++++++ web/xliff/pl.xlf | 45 +++++++++ web/xliff/pseudo-LOCALE.xlf | 45 +++++++++ web/xliff/tr.xlf | 45 +++++++++ web/xliff/zh-Hans.xlf | 91 ++++++++++++++----- web/xliff/zh-Hant.xlf | 45 +++++++++ web/xliff/zh_TW.xlf | 45 +++++++++ 46 files changed, 734 insertions(+), 147 deletions(-) delete mode 100644 web/src/elements/Tooltip.ts diff --git a/web/package-lock.json b/web/package-lock.json index b38d1bb52..17606e2c6 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -21,6 +21,7 @@ "@lit-labs/context": "^0.3.3", "@lit-labs/task": "^2.1.2", "@lit/localize": "^0.11.4", + "@patternfly/elements": "^2.3.2", "@patternfly/patternfly": "^4.224.2", "@sentry/browser": "^7.60.1", "@sentry/tracing": "^7.60.1", @@ -2853,6 +2854,28 @@ "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", "dev": true }, + "node_modules/@floating-ui/core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", + "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==", + "dependencies": { + "@floating-ui/utils": "^0.1.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz", + "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==", + "dependencies": { + "@floating-ui/core": "^1.4.1", + "@floating-ui/utils": "^0.1.1" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz", + "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==" + }, "node_modules/@formatjs/ecma402-abstract": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", @@ -3612,11 +3635,46 @@ "node": ">= 8" } }, + "node_modules/@patternfly/elements": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@patternfly/elements/-/elements-2.3.2.tgz", + "integrity": "sha512-cndt+xxlUKbWU8GxFlOXMNqNeJ792kXUnvcYZbUIA+TUbWD71yw0kdC+EOWql94B4jtzOmDyG7Eq33il3G6ZLQ==", + "dependencies": { + "@patternfly/icons": "^1.0.2", + "@patternfly/pfe-core": "^2.4.0", + "lit": "2.6.1", + "tslib": "^2.4.1" + } + }, + "node_modules/@patternfly/elements/node_modules/lit": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", + "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.2.0", + "lit-html": "^2.6.0" + } + }, + "node_modules/@patternfly/icons": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@patternfly/icons/-/icons-1.0.2.tgz", + "integrity": "sha512-/faOTZsKkTPxuCDcWZbunknjUhJIjjN0h+OicNiFWxTq/saLp366cLhdgNf8A46oeGR/21aQTYVXTqcQA1yvOg==" + }, "node_modules/@patternfly/patternfly": { "version": "4.224.2", "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-4.224.2.tgz", "integrity": "sha512-HGNV26uyHSIECuhjPg/WGn0mXbAotcs6ODfhAOkfYjIgGylddgiwElxUe1rpEHV5mQJJ2rMn4OdeJIIpzRX61g==" }, + "node_modules/@patternfly/pfe-core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@patternfly/pfe-core/-/pfe-core-2.4.1.tgz", + "integrity": "sha512-ZqN4Zk2ysrnHp84hKvUr54xeSwtzqM3qRPpMzdd2fa58htYnPfhow4TQ8LH9vArLxPzEAB3Hrfql0VW1bk5PXw==", + "dependencies": { + "@floating-ui/dom": "^1.2.6", + "lit": "^2.7.2" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", diff --git a/web/package.json b/web/package.json index 0131188ef..7c5182f63 100644 --- a/web/package.json +++ b/web/package.json @@ -39,6 +39,7 @@ "@lit-labs/context": "^0.3.3", "@lit-labs/task": "^2.1.2", "@lit/localize": "^0.11.4", + "@patternfly/elements": "^2.3.2", "@patternfly/patternfly": "^4.224.2", "@sentry/browser": "^7.60.1", "@sentry/tracing": "^7.60.1", diff --git a/web/src/admin/applications/ApplicationForm.ts b/web/src/admin/applications/ApplicationForm.ts index b9688590a..cb099ff70 100644 --- a/web/src/admin/applications/ApplicationForm.ts +++ b/web/src/admin/applications/ApplicationForm.ts @@ -10,6 +10,7 @@ import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; import "@goauthentik/elements/forms/ProxyForm"; import "@goauthentik/elements/forms/Radio"; import "@goauthentik/elements/forms/SearchSelect"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -168,7 +169,9 @@ export class ApplicationForm extends ModelForm { }} >
diff --git a/web/src/admin/applications/ApplicationListPage.ts b/web/src/admin/applications/ApplicationListPage.ts index adb2424d4..8d37e5d52 100644 --- a/web/src/admin/applications/ApplicationListPage.ts +++ b/web/src/admin/applications/ApplicationListPage.ts @@ -13,6 +13,7 @@ import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; import "@goauthentik/user/LibraryApplication/AppIcon"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; @@ -144,12 +145,16 @@ export class ApplicationListPage extends TablePage { ${item.launchUrl ? html` - + + + ` : html``}`, ]; diff --git a/web/src/admin/blueprints/BlueprintListPage.ts b/web/src/admin/blueprints/BlueprintListPage.ts index e2fd9e86b..e2e06351d 100644 --- a/web/src/admin/blueprints/BlueprintListPage.ts +++ b/web/src/admin/blueprints/BlueprintListPage.ts @@ -10,6 +10,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -140,14 +141,17 @@ export class BlueprintListPage extends TablePage { html` ${item.enabled ? msg("Yes") : msg("No")} `, - html` + html` ${msg("Update")} ${msg("Update Blueprint")} + + + + + { return new ManagedApi(DEFAULT_CONFIG) @@ -164,7 +168,9 @@ export class BlueprintListPage extends TablePage { }); }} > - + + + `, ]; } diff --git a/web/src/admin/crypto/CertificateKeyPairListPage.ts b/web/src/admin/crypto/CertificateKeyPairListPage.ts index 50909ddde..c6959ea40 100644 --- a/web/src/admin/crypto/CertificateKeyPairListPage.ts +++ b/web/src/admin/crypto/CertificateKeyPairListPage.ts @@ -9,6 +9,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -123,7 +124,9 @@ export class CertificateKeyPairListPage extends TablePage { `, ]; diff --git a/web/src/admin/enterprise/EnterpriseLicenseListPage.ts b/web/src/admin/enterprise/EnterpriseLicenseListPage.ts index 8082a10e6..248691708 100644 --- a/web/src/admin/enterprise/EnterpriseLicenseListPage.ts +++ b/web/src/admin/enterprise/EnterpriseLicenseListPage.ts @@ -10,6 +10,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; @@ -227,7 +228,9 @@ export class EnterpriseLicenseListPage extends TablePage { `, ]; diff --git a/web/src/admin/events/EventListPage.ts b/web/src/admin/events/EventListPage.ts index d6b9f37a2..83e11b9b9 100644 --- a/web/src/admin/events/EventListPage.ts +++ b/web/src/admin/events/EventListPage.ts @@ -6,6 +6,7 @@ import { uiConfig } from "@goauthentik/common/ui/config"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -75,7 +76,9 @@ export class EventListPage extends TablePage { ${EventGeo(item)}`, html`${item.tenant?.name || msg("-")}`, html` - + + + `, ]; } diff --git a/web/src/admin/events/RuleListPage.ts b/web/src/admin/events/RuleListPage.ts index bcf4a3eb6..cc82f8906 100644 --- a/web/src/admin/events/RuleListPage.ts +++ b/web/src/admin/events/RuleListPage.ts @@ -9,6 +9,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -91,7 +92,9 @@ export class RuleListPage extends TablePage { ${msg("Update Notification Rule")} `, ]; diff --git a/web/src/admin/events/TransportListPage.ts b/web/src/admin/events/TransportListPage.ts index 678cd695d..07f8bc57f 100644 --- a/web/src/admin/events/TransportListPage.ts +++ b/web/src/admin/events/TransportListPage.ts @@ -8,6 +8,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -84,7 +85,9 @@ export class TransportListPage extends TablePage { { }); }} > - + + + `, ]; } diff --git a/web/src/admin/flows/FlowListPage.ts b/web/src/admin/flows/FlowListPage.ts index dc87005b7..5bcc6205d 100644 --- a/web/src/admin/flows/FlowListPage.ts +++ b/web/src/admin/flows/FlowListPage.ts @@ -11,6 +11,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -103,7 +104,9 @@ export class FlowListPage extends TablePage { ${msg("Update Flow")} - + + + `, ]; } diff --git a/web/src/admin/groups/GroupListPage.ts b/web/src/admin/groups/GroupListPage.ts index ed10528ff..f634b0378 100644 --- a/web/src/admin/groups/GroupListPage.ts +++ b/web/src/admin/groups/GroupListPage.ts @@ -8,6 +8,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -88,7 +89,9 @@ export class GroupListPage extends TablePage { ${msg("Update Group")} `, ]; diff --git a/web/src/admin/groups/RelatedGroupList.ts b/web/src/admin/groups/RelatedGroupList.ts index 35d7124fc..8a94f4cf0 100644 --- a/web/src/admin/groups/RelatedGroupList.ts +++ b/web/src/admin/groups/RelatedGroupList.ts @@ -11,6 +11,7 @@ import "@goauthentik/elements/forms/HorizontalFormElement"; import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { Table, TableColumn } from "@goauthentik/elements/table/Table"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -56,7 +57,9 @@ export class RelatedGroupAdd extends Form<{ groups: string[] }> { }} >
@@ -150,7 +153,9 @@ export class RelatedGroupList extends Table { ${msg("Update Group")} `, ]; diff --git a/web/src/admin/outposts/OutpostListPage.ts b/web/src/admin/outposts/OutpostListPage.ts index e5164bb0e..575319f16 100644 --- a/web/src/admin/outposts/OutpostListPage.ts +++ b/web/src/admin/outposts/OutpostListPage.ts @@ -13,6 +13,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { CSSResult } from "lit"; @@ -135,7 +136,9 @@ export class OutpostListPage extends TablePage { > ${item.managed !== "goauthentik.io/outposts/embedded" diff --git a/web/src/admin/outposts/ServiceConnectionListPage.ts b/web/src/admin/outposts/ServiceConnectionListPage.ts index 8f9735771..8b0e582ab 100644 --- a/web/src/admin/outposts/ServiceConnectionListPage.ts +++ b/web/src/admin/outposts/ServiceConnectionListPage.ts @@ -12,6 +12,7 @@ import "@goauthentik/elements/forms/ProxyForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -99,7 +100,9 @@ export class OutpostServiceConnectionListPage extends TablePage `, ]; diff --git a/web/src/admin/policies/PolicyListPage.ts b/web/src/admin/policies/PolicyListPage.ts index 4d71bf013..a467f94b4 100644 --- a/web/src/admin/policies/PolicyListPage.ts +++ b/web/src/admin/policies/PolicyListPage.ts @@ -16,6 +16,7 @@ import "@goauthentik/elements/forms/ProxyForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -86,7 +87,9 @@ export class PolicyListPage extends TablePage { > @@ -94,7 +97,9 @@ export class PolicyListPage extends TablePage { ${msg("Test Policy")} `, ]; diff --git a/web/src/admin/property-mappings/PropertyMappingListPage.ts b/web/src/admin/property-mappings/PropertyMappingListPage.ts index 570e319fc..500525922 100644 --- a/web/src/admin/property-mappings/PropertyMappingListPage.ts +++ b/web/src/admin/property-mappings/PropertyMappingListPage.ts @@ -14,6 +14,7 @@ import { getURLParam, updateURLParams } from "@goauthentik/elements/router/Route import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -101,7 +102,9 @@ export class PropertyMappingListPage extends TablePage { > @@ -110,7 +113,9 @@ export class PropertyMappingListPage extends TablePage { `, ]; diff --git a/web/src/admin/providers/ProviderListPage.ts b/web/src/admin/providers/ProviderListPage.ts index d3d4b0d89..c82985815 100644 --- a/web/src/admin/providers/ProviderListPage.ts +++ b/web/src/admin/providers/ProviderListPage.ts @@ -14,6 +14,7 @@ import "@goauthentik/elements/forms/ProxyForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -118,7 +119,9 @@ export class ProviderListPage extends TablePage { > `, ]; diff --git a/web/src/admin/sources/SourceListPage.ts b/web/src/admin/sources/SourceListPage.ts index f90337af8..6a95116af 100644 --- a/web/src/admin/sources/SourceListPage.ts +++ b/web/src/admin/sources/SourceListPage.ts @@ -12,6 +12,7 @@ import "@goauthentik/elements/forms/ProxyForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -107,7 +108,9 @@ export class SourceListPage extends TablePage { > `, ]; diff --git a/web/src/admin/stages/StageListPage.ts b/web/src/admin/stages/StageListPage.ts index 7f4f6e53e..3308fb50e 100644 --- a/web/src/admin/stages/StageListPage.ts +++ b/web/src/admin/stages/StageListPage.ts @@ -27,6 +27,7 @@ import "@goauthentik/elements/forms/ProxyForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -108,7 +109,9 @@ export class StageListPage extends TablePage { > `; default: @@ -141,7 +144,9 @@ export class StageListPage extends TablePage { > ${this.renderStageActions(item)}`, diff --git a/web/src/admin/stages/invitation/InvitationListPage.ts b/web/src/admin/stages/invitation/InvitationListPage.ts index b77add2d4..41b81e5f1 100644 --- a/web/src/admin/stages/invitation/InvitationListPage.ts +++ b/web/src/admin/stages/invitation/InvitationListPage.ts @@ -10,6 +10,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -127,7 +128,9 @@ export class InvitationListPage extends TablePage { ${msg("Update Invitation")} `, ]; diff --git a/web/src/admin/stages/prompt/PromptListPage.ts b/web/src/admin/stages/prompt/PromptListPage.ts index 0f202ce94..a67f566e1 100644 --- a/web/src/admin/stages/prompt/PromptListPage.ts +++ b/web/src/admin/stages/prompt/PromptListPage.ts @@ -8,6 +8,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -91,7 +92,9 @@ export class PromptListPage extends TablePage { ${msg("Update Prompt")} `, ]; diff --git a/web/src/admin/system-tasks/SystemTaskListPage.ts b/web/src/admin/system-tasks/SystemTaskListPage.ts index d6b161989..0d73fa90c 100644 --- a/web/src/admin/system-tasks/SystemTaskListPage.ts +++ b/web/src/admin/system-tasks/SystemTaskListPage.ts @@ -6,6 +6,7 @@ import "@goauthentik/elements/buttons/SpinnerButton"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -133,7 +134,9 @@ export class SystemTaskListPage extends TablePage { }); }} > - + + + `, ]; } diff --git a/web/src/admin/tenants/TenantListPage.ts b/web/src/admin/tenants/TenantListPage.ts index 4630182f5..560b0d097 100644 --- a/web/src/admin/tenants/TenantListPage.ts +++ b/web/src/admin/tenants/TenantListPage.ts @@ -8,6 +8,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -88,7 +89,9 @@ export class TenantListPage extends TablePage { ${msg("Update Tenant")} `, ]; diff --git a/web/src/admin/tokens/TokenListPage.ts b/web/src/admin/tokens/TokenListPage.ts index 446da1f49..ad4eadc2c 100644 --- a/web/src/admin/tokens/TokenListPage.ts +++ b/web/src/admin/tokens/TokenListPage.ts @@ -9,6 +9,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -128,7 +129,9 @@ export class TokenListPage extends TablePage { ${msg("Update Token")} ` : html``} @@ -136,7 +139,9 @@ export class TokenListPage extends TablePage { class="pf-c-button pf-m-plain" identifier="${item.identifier}" > - + + + `, ]; diff --git a/web/src/admin/users/RelatedUserList.ts b/web/src/admin/users/RelatedUserList.ts index 28f01c223..7ebe77fad 100644 --- a/web/src/admin/users/RelatedUserList.ts +++ b/web/src/admin/users/RelatedUserList.ts @@ -20,6 +20,7 @@ import { getURLParam, updateURLParams } from "@goauthentik/elements/router/Route import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { Table, TableColumn } from "@goauthentik/elements/table/Table"; import { UserOption } from "@goauthentik/elements/user/utils"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -70,7 +71,9 @@ export class RelatedUserAdd extends Form<{ users: number[] }> { }} >
@@ -187,7 +190,9 @@ export class RelatedUserList extends Table { ${msg("Update User")} ${rootInterface()?.config?.capabilities.includes(CapabilitiesEnum.CanImpersonate) diff --git a/web/src/admin/users/UserListPage.ts b/web/src/admin/users/UserListPage.ts index 4a8681a7b..dc672be28 100644 --- a/web/src/admin/users/UserListPage.ts +++ b/web/src/admin/users/UserListPage.ts @@ -20,6 +20,7 @@ import { getURLParam, updateURLParams } from "@goauthentik/elements/router/Route import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -192,7 +193,9 @@ export class UserListPage extends TablePage { ${msg("Update User")} ${rootInterface()?.config?.capabilities.includes(CapabilitiesEnum.CanImpersonate) diff --git a/web/src/elements/PageHeader.ts b/web/src/elements/PageHeader.ts index e4364ddf5..1f7539085 100644 --- a/web/src/elements/PageHeader.ts +++ b/web/src/elements/PageHeader.ts @@ -9,6 +9,7 @@ import { import { currentInterface } from "@goauthentik/common/sentry"; import { me } from "@goauthentik/common/users"; import { AKElement, rootInterface } from "@goauthentik/elements/Base"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; @@ -169,7 +170,9 @@ export class PageHeader extends AKElement { ); }} > - + + +
`; } diff --git a/web/src/elements/Tooltip.ts b/web/src/elements/Tooltip.ts deleted file mode 100644 index 2f0d1fae5..000000000 --- a/web/src/elements/Tooltip.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { AKElement } from "@goauthentik/elements/Base"; - -import { CSSResult, TemplateResult, css, html } from "lit"; -import { customElement, state } from "lit/decorators.js"; - -import PFTooltip from "@patternfly/patternfly/components/Tooltip/tooltip.css"; -import PFBase from "@patternfly/patternfly/patternfly-base.css"; - -@customElement("ak-tooltip") -export class Tooltip extends AKElement { - @state() - open = false; - - static get styles(): CSSResult[] { - return [ - PFBase, - PFTooltip, - css` - .pf-c-tooltip__content { - text-align: inherit; - } - .outer { - position: relative; - } - .pf-c-tooltip { - position: absolute; - z-index: 999; - } - `, - ]; - } - - render(): TemplateResult { - return html` { - this.open = true; - }} - @mouseleave=${() => { - this.open = false; - }} - name="trigger" - > - ${this.open - ? html`
- -
` - : html``}`; - } -} diff --git a/web/src/elements/chips/Chip.ts b/web/src/elements/chips/Chip.ts index 8ca77ba5a..20bf56e67 100644 --- a/web/src/elements/chips/Chip.ts +++ b/web/src/elements/chips/Chip.ts @@ -1,5 +1,7 @@ import { AKElement } from "@goauthentik/elements/Base"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; +import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; @@ -38,7 +40,9 @@ export class Chip extends AKElement { ); }} > - + + + ` : html``}
diff --git a/web/src/elements/notifications/NotificationDrawer.ts b/web/src/elements/notifications/NotificationDrawer.ts index 6c611be21..e3cdeb7c1 100644 --- a/web/src/elements/notifications/NotificationDrawer.ts +++ b/web/src/elements/notifications/NotificationDrawer.ts @@ -99,7 +99,9 @@ export class NotificationDrawer extends AKElement { class="pf-c-dropdown__toggle pf-m-plain" href="/if/admin/#/events/log/${item.event?.pk}" > - + + + `}
` : html``} @@ -238,7 +244,12 @@ export class UserInterface extends Interface { ? "pf-m-unread" : ""}" > - + + + ${this.notificationsCount} @@ -253,7 +264,9 @@ export class UserInterface extends Interface { type="button" href="#/settings" > - + + + ` : html``} @@ -262,7 +275,9 @@ export class UserInterface extends Interface { href="/flows/-/default/invalidation/" class="pf-c-button pf-m-plain" > - + + + ${this.me.user.isSuperuser diff --git a/web/src/user/user-settings/mfa/MFADevicesPage.ts b/web/src/user/user-settings/mfa/MFADevicesPage.ts index 8fd29a714..1f4cef613 100644 --- a/web/src/user/user-settings/mfa/MFADevicesPage.ts +++ b/web/src/user/user-settings/mfa/MFADevicesPage.ts @@ -6,6 +6,7 @@ import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table"; import "@goauthentik/user/user-settings/mfa/MFADeviceForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -142,7 +143,9 @@ export class MFADevicesPage extends Table { `, diff --git a/web/src/user/user-settings/tokens/UserTokenList.ts b/web/src/user/user-settings/tokens/UserTokenList.ts index cfe316ea3..63b6a5664 100644 --- a/web/src/user/user-settings/tokens/UserTokenList.ts +++ b/web/src/user/user-settings/tokens/UserTokenList.ts @@ -11,6 +11,7 @@ import "@goauthentik/elements/forms/ModalForm"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { Table, TableColumn } from "@goauthentik/elements/table/Table"; import "@goauthentik/user/user-settings/tokens/UserTokenForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, html } from "lit"; @@ -155,14 +156,18 @@ export class UserTokenList extends Table { - + + + `, ]; diff --git a/web/xliff/de.xlf b/web/xliff/de.xlf index 9a50fe703..a5c149bb2 100644 --- a/web/xliff/de.xlf +++ b/web/xliff/de.xlf @@ -5834,6 +5834,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/en.xlf b/web/xliff/en.xlf index 4835d9d6c..de0a17462 100644 --- a/web/xliff/en.xlf +++ b/web/xliff/en.xlf @@ -6150,6 +6150,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/es.xlf b/web/xliff/es.xlf index c960b3ab8..8cc375c97 100644 --- a/web/xliff/es.xlf +++ b/web/xliff/es.xlf @@ -5742,6 +5742,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/fr_FR.xlf b/web/xliff/fr_FR.xlf index 1272e2f40..36e343b7d 100644 --- a/web/xliff/fr_FR.xlf +++ b/web/xliff/fr_FR.xlf @@ -5849,6 +5849,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/pl.xlf b/web/xliff/pl.xlf index 88f7c777e..7bc91c6d8 100644 --- a/web/xliff/pl.xlf +++ b/web/xliff/pl.xlf @@ -5981,6 +5981,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index 45f3b5523..1241c31a2 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -6085,6 +6085,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/tr.xlf b/web/xliff/tr.xlf index 854010952..65d4e4660 100644 --- a/web/xliff/tr.xlf +++ b/web/xliff/tr.xlf @@ -5732,6 +5732,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index 29e079ab6..76c968302 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -618,9 +618,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1072,8 +1072,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1819,8 +1819,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -3248,8 +3248,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -4046,8 +4046,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -4056,8 +4056,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - 格式:"weeks=3;days=2;hours=3,seconds=2"。 + Format: "weeks=3;days=2;hours=3,seconds=2". + 格式:"weeks=3;days=2;hours=3,seconds=2"。 @@ -4253,10 +4253,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5372,7 +5372,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5712,10 +5712,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5764,7 +5764,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7696,7 +7696,52 @@ Bindings to groups/users are checked against the user of the event. More details 显示更多 + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out - \ No newline at end of file + diff --git a/web/xliff/zh-Hant.xlf b/web/xliff/zh-Hant.xlf index 7806a82d0..db4d9f23a 100644 --- a/web/xliff/zh-Hant.xlf +++ b/web/xliff/zh-Hant.xlf @@ -5787,6 +5787,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out diff --git a/web/xliff/zh_TW.xlf b/web/xliff/zh_TW.xlf index 18b19b68b..ee1190abf 100644 --- a/web/xliff/zh_TW.xlf +++ b/web/xliff/zh_TW.xlf @@ -5786,6 +5786,51 @@ Bindings to groups/users are checked against the user of the event. More details + + + Remove item + + + Open API drawer + + + Open Notification drawer + + + Restart task + + + Add provider + + + Open + + + Copy token + + + Add users + + + Add group + + + Import devices + + + Execute + + + Show details + + + Apply + + + Settings + + + Sign out