From ce42883268c8d61cb9248cc3c4e1177d66767ca8 Mon Sep 17 00:00:00 2001 From: Thierry Goettelmann Date: Mon, 12 Sep 2022 15:29:10 +0200 Subject: [PATCH] feat(lite): tooltips (#6412) --- @xen-orchestra/lite/package.json | 1 + @xen-orchestra/lite/src/App.vue | 2 + .../lite/src/components/AppTooltip.vue | 167 ++++++++++++++++++ .../lite/src/components/AppTooltips.vue | 19 ++ .../src/components/infra/InfraHostItem.vue | 14 +- .../lite/src/components/infra/InfraVmItem.vue | 14 +- .../lite/src/directives/tooltip.directive.md | 36 ++++ .../lite/src/directives/tooltip.directive.ts | 23 +++ @xen-orchestra/lite/src/libs/utils.ts | 3 + .../lite/src/stores/tooltip.store.ts | 73 ++++++++ yarn.lock | 5 + 11 files changed, 355 insertions(+), 2 deletions(-) create mode 100644 @xen-orchestra/lite/src/components/AppTooltip.vue create mode 100644 @xen-orchestra/lite/src/components/AppTooltips.vue create mode 100644 @xen-orchestra/lite/src/directives/tooltip.directive.md create mode 100644 @xen-orchestra/lite/src/directives/tooltip.directive.ts create mode 100644 @xen-orchestra/lite/src/stores/tooltip.store.ts diff --git a/@xen-orchestra/lite/package.json b/@xen-orchestra/lite/package.json index 48c5f9de9..4a177b611 100644 --- a/@xen-orchestra/lite/package.json +++ b/@xen-orchestra/lite/package.json @@ -30,6 +30,7 @@ "lodash-es": "^4.17.21", "make-error": "^1.3.6", "pinia": "^2.0.14", + "placement.js": "^1.0.0-beta.5", "vue": "^3.2.37", "vue-echarts": "^6.2.3", "vue-i18n": "9", diff --git a/@xen-orchestra/lite/src/App.vue b/@xen-orchestra/lite/src/App.vue index 471e8e0cf..9564b6606 100644 --- a/@xen-orchestra/lite/src/App.vue +++ b/@xen-orchestra/lite/src/App.vue @@ -12,6 +12,7 @@ + @@ -20,6 +21,7 @@ import { watchEffect } from "vue"; import favicon from "@/assets/favicon.svg"; import AppHeader from "@/components/AppHeader.vue"; import AppLogin from "@/components/AppLogin.vue"; +import AppTooltips from "@/components/AppTooltips.vue"; import InfraPoolList from "@/components/infra/InfraPoolList.vue"; import { useChartTheme } from "@/composables/chart-theme.composable"; import { useXenApiStore } from "@/stores/xen-api.store"; diff --git a/@xen-orchestra/lite/src/components/AppTooltip.vue b/@xen-orchestra/lite/src/components/AppTooltip.vue new file mode 100644 index 000000000..ac13b4845 --- /dev/null +++ b/@xen-orchestra/lite/src/components/AppTooltip.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/@xen-orchestra/lite/src/components/AppTooltips.vue b/@xen-orchestra/lite/src/components/AppTooltips.vue new file mode 100644 index 000000000..6059ce2aa --- /dev/null +++ b/@xen-orchestra/lite/src/components/AppTooltips.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue b/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue index ba3d9c8c5..abf175d43 100644 --- a/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue +++ b/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue @@ -1,5 +1,12 @@