@xen-orchestra/web-core 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/env.d.ts +1 -0
  2. package/lib/assets/css/_typography.pcss +1 -0
  3. package/lib/assets/css/typography/_utils.pcss +6 -0
  4. package/lib/assets/no-result.svg +81 -0
  5. package/lib/assets/under-construction.svg +195 -0
  6. package/lib/components/CardNumbers.vue +94 -0
  7. package/lib/components/DonutChart.vue +92 -0
  8. package/lib/components/LegendTitle.vue +31 -0
  9. package/lib/components/StatusPill.vue +2 -2
  10. package/lib/components/UiCard.vue +29 -0
  11. package/lib/components/UiLegend.vue +68 -0
  12. package/lib/components/UiTag.vue +3 -7
  13. package/lib/components/backdrop/Backdrop.vue +11 -0
  14. package/lib/components/card/CardSubtitle.vue +24 -0
  15. package/lib/components/card/CardTitle.vue +52 -0
  16. package/lib/components/cell-object/CellObject.vue +54 -0
  17. package/lib/components/cell-text/CellText.vue +40 -0
  18. package/lib/components/chip/UiChip.vue +5 -6
  19. package/lib/components/console/RemoteConsole.vue +2 -2
  20. package/lib/components/divider/Divider.vue +25 -0
  21. package/lib/components/dropdown/DropdownItem.vue +1 -4
  22. package/lib/components/dropdown/DropdownTitle.vue +7 -3
  23. package/lib/components/head-bar/HeadBar.vue +78 -0
  24. package/lib/components/icon/VmIcon.vue +1 -1
  25. package/lib/components/input/UiInput.vue +133 -0
  26. package/lib/components/menu/MenuItem.vue +1 -1
  27. package/lib/components/menu/MenuList.vue +5 -5
  28. package/lib/components/object-link/ObjectLink.vue +87 -0
  29. package/lib/components/search-bar/SearchBar.vue +60 -0
  30. package/lib/components/stacked-bar/StackedBar.vue +49 -0
  31. package/lib/components/stacked-bar/StackedBarSegment.vue +67 -0
  32. package/lib/components/state-hero/ComingSoonHero.vue +9 -0
  33. package/lib/components/state-hero/LoadingHero.vue +9 -0
  34. package/lib/components/state-hero/ObjectNotFoundHero.vue +13 -0
  35. package/lib/components/state-hero/StateHero.vue +53 -0
  36. package/lib/components/tab/TabList.vue +1 -0
  37. package/lib/components/table/ColumnTitle.vue +150 -0
  38. package/lib/components/table/UiTable.vue +64 -0
  39. package/lib/components/task/QuickTaskButton.vue +62 -0
  40. package/lib/components/task/QuickTaskItem.vue +91 -0
  41. package/lib/components/task/QuickTaskList.vue +48 -0
  42. package/lib/components/task/QuickTaskPanel.vue +65 -0
  43. package/lib/components/task/QuickTaskTabBar.vue +46 -0
  44. package/lib/components/tooltip/TooltipList.vue +0 -2
  45. package/lib/components/tree/TreeItem.vue +8 -8
  46. package/lib/components/tree/TreeItemLabel.vue +32 -16
  47. package/lib/composables/tab-list.composable.ts +33 -0
  48. package/lib/composables/tree/branch.ts +5 -5
  49. package/lib/composables/tree/types.ts +1 -1
  50. package/lib/i18n.ts +86 -1
  51. package/lib/layouts/CoreLayout.vue +6 -106
  52. package/lib/locales/de.json +37 -4
  53. package/lib/locales/en.json +66 -13
  54. package/lib/locales/fa.json +46 -0
  55. package/lib/locales/fr.json +66 -13
  56. package/lib/types/tab.type.ts +17 -0
  57. package/lib/types/task.type.ts +13 -0
  58. package/lib/types/utility.type.ts +2 -0
  59. package/lib/utils/if-else.utils.ts +1 -1
  60. package/lib/utils/open-url.utils.ts +3 -0
  61. package/package.json +16 -8
@@ -1,15 +1,68 @@
1
1
  {
2
- "core": {
3
- "close": "Close",
4
- "log-out": "Log out",
5
- "master": "Primary host",
6
- "open": "Open",
7
- "quick-actions": "Quick actions",
8
- "sidebar": {
9
- "close": "Close sidebar",
10
- "lock": "Lock sidebar open",
11
- "open": "Open sidebar",
12
- "unlock": "Unlock sidebar"
13
- }
14
- }
2
+ "alarms": "Alarms",
3
+
4
+ "bytes.ki": "KiB",
5
+ "bytes.mi": "MiB",
6
+ "bytes.gi": "GiB",
7
+
8
+ "coming-soon": "Coming soon!",
9
+ "console": "Console",
10
+
11
+ "core.copied": "Copied",
12
+ "core.copy-id": "Copy ID",
13
+ "core.close": "Close",
14
+ "core.current": "Current",
15
+ "core.filter": "Filter",
16
+ "core.group": "Group",
17
+ "core.hide": "Hide",
18
+ "core.open": "Open",
19
+ "core.quick-actions": "Quick actions",
20
+
21
+ "core.search": "Search",
22
+
23
+ "core.search-bar.label": "Search Engine",
24
+ "core.search-bar.placeholder": "Write your query…",
25
+ "core.search-bar.use-query-builder": "Use query builder",
26
+
27
+ "core.select.all": "Select all",
28
+ "core.select.none": "Select none",
29
+
30
+ "core.sidebar.close": "Close sidebar",
31
+ "core.sidebar.lock": "Lock sidebar open",
32
+ "core.sidebar.open": "Open sidebar",
33
+ "core.sidebar.unlock": "Unlock sidebar",
34
+
35
+ "core.sort.ascending": "Sort ascending",
36
+ "core.sort.descending": "Sort descending",
37
+
38
+ "dark-mode.enable": "Enable dark mode",
39
+ "dark-mode.disable": "Disable dark mode",
40
+ "dark-mode.auto": "Auto dark mode",
41
+
42
+ "dashboard": "Dashboard",
43
+ "documentation-name": "{name} documentation",
44
+ "hosts": "Hosts",
45
+ "loading-in-progress": "Loading in progress…",
46
+ "log-out": "Log out",
47
+ "master": "Primary host",
48
+ "n-vms": "1 VM | {n} VMs",
49
+ "network": "Network",
50
+ "object-not-found": "Object {id} can't be found…",
51
+ "power-on-for-console": "Power on your VM to access its console",
52
+ "see-all": "See all",
53
+ "stats": "Stats",
54
+ "storage": "Storage",
55
+ "support-name": "{name} pro support",
56
+ "system": "System",
57
+
58
+ "tasks": "Tasks",
59
+ "tasks.n-subtasks": "{n} subtask | {n} subtasks",
60
+ "tasks.no-tasks": "No tasks",
61
+ "tasks.quick-view": "Tasks' quick view",
62
+ "tasks.quick-view.all": "All",
63
+ "tasks.quick-view.done": "Done",
64
+ "tasks.quick-view.failed": "Failed",
65
+ "tasks.quick-view.in-progress": "In progress",
66
+
67
+ "vms": "VMs"
15
68
  }
@@ -0,0 +1,46 @@
1
+ {
2
+ "alarms": "هشدارها",
3
+
4
+ "bytes.ki": "KiB",
5
+ "bytes.mi": "MiB",
6
+ "bytes.gi": "GiB",
7
+
8
+ "coming-soon": "به زودی!",
9
+ "console": "کنسول",
10
+
11
+ "core.close": "بستن",
12
+ "core.current": "جاری",
13
+ "core.filter": "فیلتر",
14
+ "core.group": "گروه",
15
+ "core.hide": "مخفی کردن",
16
+ "core.open": "باز کردن",
17
+ "core.quick-actions": "اقدامات سریع",
18
+
19
+ "core.select.all": "انتخاب همه",
20
+ "core.select.none": "انتخاب هیچکدام",
21
+
22
+ "core.sidebar.close": "بستن نوار کناری",
23
+ "core.sidebar.lock": "قفل کردن نوار کناری باز شده",
24
+ "core.sidebar.open": "باز کردن نوار کناری",
25
+ "core.sidebar.unlock": "از حالت قفل خارج کردن نوار کناری",
26
+
27
+ "core.sort.ascending": "مرتب سازی صعودی",
28
+ "core.sort.descending": "مرتب سازی نزولی",
29
+
30
+ "dark-mode.enable": "فعال کردن حالت تاریک",
31
+ "dark-mode.disable": "غیر فعال کردن حالت تاریک",
32
+ "dark-mode.auto": "حالت خودکار تاریک",
33
+
34
+ "dashboard": "داشبورد",
35
+ "documentation-name": "اسناد {name}",
36
+ "loading-in-progress": "بارگیری در حال انجام است…",
37
+ "log-out": "خروج",
38
+ "master": "میزبان اصلی",
39
+ "network": "شبکه",
40
+ "power-on-for-console": "ماشین مجازی خود را روشن کنید تا به کنسول آن دسترسی داشته باشید",
41
+ "stats": "آمار",
42
+ "storage": "ذخیره سازی",
43
+ "support-name": "پشتیبانی حرفه ای {name}",
44
+ "system": "سیستم",
45
+ "tasks": "کارها"
46
+ }
@@ -1,15 +1,68 @@
1
1
  {
2
- "core": {
3
- "close": "Fermer",
4
- "log-out": "Se déconnecter",
5
- "master": "Hôte primaire",
6
- "open": "Ouvrir",
7
- "quick-actions": "Actions rapides",
8
- "sidebar": {
9
- "close": "Fermer la barre latérale",
10
- "lock": "Verrouiller la barre latérale",
11
- "open": "Ouvrir la barre latérale",
12
- "unlock": "Déverrouiller la barre latérale"
13
- }
14
- }
2
+ "alarms": "Alarmes",
3
+
4
+ "bytes.ki": "Kio",
5
+ "bytes.mi": "Mio",
6
+ "bytes.gi": "Gio",
7
+
8
+ "coming-soon": "Bientôt disponible !",
9
+ "console": "Console",
10
+
11
+ "core.copied": "Copié",
12
+ "core.copy-id": "Copier l'ID",
13
+ "core.close": "Fermer",
14
+ "core.current": "Actuel",
15
+ "core.filter": "Filtrer",
16
+ "core.group": "Grouper",
17
+ "core.hide": "Masquer",
18
+ "core.open": "Ouvrir",
19
+ "core.quick-actions": "Actions rapides",
20
+
21
+ "core.search": "Rechercher",
22
+
23
+ "core.search-bar.label": "Moteur de recherche",
24
+ "core.search-bar.placeholder": "Écrivez votre requête…",
25
+ "core.search-bar.use-query-builder": "Utiliser le constructeur de requête",
26
+
27
+ "core.select.all": "Tout sélectionner",
28
+ "core.select.none": "Tout désélectionner",
29
+
30
+ "core.sidebar.close": "Fermer la barre latérale",
31
+ "core.sidebar.lock": "Verrouiller la barre latérale",
32
+ "core.sidebar.open": "Ouvrir la barre latérale",
33
+ "core.sidebar.unlock": "Déverrouiller la barre latérale",
34
+
35
+ "core.sort.ascending": "Trier par ordre croissant",
36
+ "core.sort.descending": "Trier par ordre décroissant",
37
+
38
+ "dark-mode.enable": "Activer le mode sombre",
39
+ "dark-mode.disable": "Désactiver le mode sombre",
40
+ "dark-mode.auto": "Mode sombre automatique",
41
+
42
+ "dashboard": "Tableau de bord",
43
+ "documentation-name": "Documentation {name}",
44
+ "hosts": "Hôtes",
45
+ "loading-in-progress": "Chargement en cours…",
46
+ "log-out": "Se déconnecter",
47
+ "master": "Hôte primaire",
48
+ "n-vms": "1 VM | {n} VMs",
49
+ "network": "Réseau",
50
+ "object-not-found": "L'objet {id} est introuvable…",
51
+ "power-on-for-console": "Allumez votre VM pour accéder à sa console",
52
+ "see-all": "Voir tout",
53
+ "stats": "Stats",
54
+ "storage": "Stockage",
55
+ "support-name": "Support pro {name}",
56
+ "system": "Système",
57
+
58
+ "tasks": "Tâches",
59
+ "tasks.n-subtasks": "{n} sous-tâche | {n} sous-tâches",
60
+ "tasks.no-tasks": "Aucune tâche",
61
+ "tasks.quick-view": "Vue rapide des tâches",
62
+ "tasks.quick-view.all": "Toutes",
63
+ "tasks.quick-view.done": "Terminées",
64
+ "tasks.quick-view.failed": "Échouées",
65
+ "tasks.quick-view.in-progress": "En cours",
66
+
67
+ "vms": "VMs"
15
68
  }
@@ -0,0 +1,17 @@
1
+ import type { Ref } from 'vue'
2
+
3
+ export type Tab = {
4
+ isActive: boolean
5
+ activate: () => void
6
+ bindings: {
7
+ onClick: (event: MouseEvent) => void
8
+ active: boolean
9
+ }
10
+ }
11
+
12
+ export type TabList<TName extends string> = {
13
+ currentTab: Ref<TName | undefined>
14
+ activate: (name: TName | undefined) => void
15
+ isActive: (name: TName) => boolean
16
+ tabs: Record<TName, Tab>
17
+ }
@@ -0,0 +1,13 @@
1
+ export type TaskStatus = 'pending' | 'success' | 'failure'
2
+
3
+ export type TaskTab = TaskStatus | 'all'
4
+
5
+ export type Task = {
6
+ id: string | number
7
+ name: string
8
+ status: TaskStatus
9
+ tag?: string
10
+ start?: number
11
+ end?: number
12
+ subtasks?: Task[]
13
+ }
@@ -1 +1,3 @@
1
1
  export type MaybeArray<T> = T | T[]
2
+
3
+ export type VoidFunction = () => void
@@ -1,4 +1,4 @@
1
- import type { MaybeArray } from '@core/types/utility.type'
1
+ import type { MaybeArray, VoidFunction } from '@core/types/utility.type'
2
2
  import { toArray } from '@core/utils/to-array.utils'
3
3
  import { watch, type WatchOptions, type WatchSource } from 'vue'
4
4
 
@@ -0,0 +1,3 @@
1
+ export function openUrl(url: string, targetBlank?: boolean) {
2
+ window.open(url, targetBlank ? '_blank' : '_self')
3
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xen-orchestra/web-core",
3
3
  "type": "module",
4
- "version": "0.0.2",
4
+ "version": "0.0.4",
5
5
  "private": false,
6
6
  "exports": {
7
7
  "./*": {
@@ -9,25 +9,33 @@
9
9
  "import": "./lib/*"
10
10
  }
11
11
  },
12
- "devDependencies": {
12
+ "dependencies": {
13
13
  "@fontsource/poppins": "^5.0.14",
14
- "@fortawesome/fontawesome-svg-core": "^6.5.1",
14
+ "@fortawesome/fontawesome-common-types": "^6.5.1",
15
15
  "@fortawesome/free-regular-svg-icons": "^6.5.1",
16
16
  "@fortawesome/free-solid-svg-icons": "^6.5.1",
17
17
  "@fortawesome/vue-fontawesome": "^3.0.5",
18
18
  "@novnc/novnc": "^1.4.0",
19
- "@types/lodash-es": "^4.17.12",
20
- "@types/novnc__novnc": "^1.3.5",
21
- "@vue/tsconfig": "^0.5.1",
22
19
  "@vueuse/core": "^10.7.1",
23
20
  "@vueuse/shared": "^10.7.1",
24
21
  "iterable-backoff": "^0.1.0",
25
22
  "lodash-es": "^4.17.21",
23
+ "placement.js": "^1.0.0-beta.5"
24
+ },
25
+ "peerDependencies": {
26
+ "pinia": "^2.1.7",
27
+ "vue": "^3.4.13",
28
+ "vue-i18n": "^9.9.0",
29
+ "vue-router": "^4.4.0"
30
+ },
31
+ "devDependencies": {
32
+ "@types/lodash-es": "^4.17.12",
33
+ "@types/novnc__novnc": "^1.3.5",
34
+ "@vue/tsconfig": "^0.5.1",
26
35
  "pinia": "^2.1.7",
27
- "placement.js": "^1.0.0-beta.5",
28
36
  "vue": "^3.4.13",
29
37
  "vue-i18n": "^9.9.0",
30
- "vue-router": "^4.2.5"
38
+ "vue-router": "^4.4.0"
31
39
  },
32
40
  "homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/web-core",
33
41
  "bugs": "https://github.com/vatesfr/xen-orchestra/issues",