@cobaltcore-dev/aurora 0.4.0 → 0.6.0

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 (178) hide show
  1. package/README.md +73 -77
  2. package/dist/client/AuroraApp.d.ts +15 -0
  3. package/dist/client/{AuthProvider-D-5Jpa6F.mjs → AuthProvider-Co4d0WzB.mjs} +3 -3
  4. package/dist/client/{AuthProvider-D-5Jpa6F.mjs.map → AuthProvider-Co4d0WzB.mjs.map} +1 -1
  5. package/dist/client/{ContentHeader-BXZoN3B9.mjs → ContentHeader-kx1Th5Sq.mjs} +29 -29
  6. package/dist/client/{ContentHeader-BXZoN3B9.mjs.map → ContentHeader-kx1Th5Sq.mjs.map} +1 -1
  7. package/dist/client/DeleteFlavorModal-C3cb7YiJ.mjs +638 -0
  8. package/dist/client/DeleteFlavorModal-C3cb7YiJ.mjs.map +1 -0
  9. package/dist/client/{EditSecurityGroupModal-DK3WYikA.mjs → EditSecurityGroupModal-CpP54WIK.mjs} +22 -22
  10. package/dist/client/{EditSecurityGroupModal-DK3WYikA.mjs.map → EditSecurityGroupModal-CpP54WIK.mjs.map} +1 -1
  11. package/dist/client/{FiltersInput-OVeIJzIo.mjs → FiltersInput-DxcyR6Bp.mjs} +18 -18
  12. package/dist/client/{FiltersInput-OVeIJzIo.mjs.map → FiltersInput-DxcyR6Bp.mjs.map} +1 -1
  13. package/dist/client/{FloatingIpActionModals-Dok7fJss.mjs → FloatingIpActionModals-BP8RWHbu.mjs} +77 -77
  14. package/dist/client/{FloatingIpActionModals-Dok7fJss.mjs.map → FloatingIpActionModals-BP8RWHbu.mjs.map} +1 -1
  15. package/dist/client/ImageToastNotifications-TZ3EfQg-.mjs +1219 -0
  16. package/dist/client/ImageToastNotifications-TZ3EfQg-.mjs.map +1 -0
  17. package/dist/client/{RouteError-pDEWC_k7.mjs → RouteError-QSV7qOoJ.mjs} +6 -6
  18. package/dist/client/{RouteError-pDEWC_k7.mjs.map → RouteError-QSV7qOoJ.mjs.map} +1 -1
  19. package/dist/client/{SortInput-DXWSqSny.mjs → SortInput-CYv2_Pur.mjs} +6 -6
  20. package/dist/client/{SortInput-DXWSqSny.mjs.map → SortInput-CYv2_Pur.mjs.map} +1 -1
  21. package/dist/client/{_auth-CJj1Cnbm.mjs → _auth-DXJkv9QO.mjs} +3 -3
  22. package/dist/client/{_auth-CJj1Cnbm.mjs.map → _auth-DXJkv9QO.mjs.map} +1 -1
  23. package/dist/client/{_flavorId-BoNcxYmF.mjs → _flavorId-C2x43-6S.mjs} +15 -15
  24. package/dist/client/_flavorId-C2x43-6S.mjs.map +1 -0
  25. package/dist/client/_flavorId-CR8ZUI-P.mjs +194 -0
  26. package/dist/client/_flavorId-CR8ZUI-P.mjs.map +1 -0
  27. package/dist/client/{_floatingIpId-D33bOEmH.mjs → _floatingIpId-BCk41_Lb.mjs} +3 -3
  28. package/dist/client/{_floatingIpId-D33bOEmH.mjs.map → _floatingIpId-BCk41_Lb.mjs.map} +1 -1
  29. package/dist/client/{_floatingIpId-DF_BSJN6.mjs → _floatingIpId-BGrOAmPT.mjs} +48 -48
  30. package/dist/client/{_floatingIpId-DF_BSJN6.mjs.map → _floatingIpId-BGrOAmPT.mjs.map} +1 -1
  31. package/dist/client/_imageId-CvfD832b.mjs +534 -0
  32. package/dist/client/_imageId-CvfD832b.mjs.map +1 -0
  33. package/dist/client/_pcaId-BxBt5DXi.mjs +459 -0
  34. package/dist/client/_pcaId-BxBt5DXi.mjs.map +1 -0
  35. package/dist/client/{_pcaId-BYCoeK6_.mjs → _pcaId-DOHycvCf.mjs} +3 -3
  36. package/dist/client/{_pcaId-BYCoeK6_.mjs.map → _pcaId-DOHycvCf.mjs.map} +1 -1
  37. package/dist/client/_projectId-BDSWnMGj.mjs +46 -0
  38. package/dist/client/_projectId-BDSWnMGj.mjs.map +1 -0
  39. package/dist/client/{_projectId-OW2xkK43.mjs → _projectId-DOgwFiqD.mjs} +3 -3
  40. package/dist/client/{_projectId-OW2xkK43.mjs.map → _projectId-DOgwFiqD.mjs.map} +1 -1
  41. package/dist/client/_projectId-DS4nR59B.mjs +299 -0
  42. package/dist/client/_projectId-DS4nR59B.mjs.map +1 -0
  43. package/dist/client/{_projectId-BwLMEMGC.mjs → _projectId-MxcHrXW4.mjs} +21 -21
  44. package/dist/client/_projectId-MxcHrXW4.mjs.map +1 -0
  45. package/dist/client/{_securityGroupId-B-Z-CzLp.mjs → _securityGroupId-CJJanWiY.mjs} +3 -3
  46. package/dist/client/{_securityGroupId-B-Z-CzLp.mjs.map → _securityGroupId-CJJanWiY.mjs.map} +1 -1
  47. package/dist/client/{_securityGroupId-B1bOYRbX.mjs → _securityGroupId-KKw4RPdH.mjs} +445 -446
  48. package/dist/client/{_securityGroupId-B1bOYRbX.mjs.map → _securityGroupId-KKw4RPdH.mjs.map} +1 -1
  49. package/dist/client/{containers-BjWqjNOx.mjs → _storageType-4wSxI__0.mjs} +19 -16
  50. package/dist/client/_storageType-4wSxI__0.mjs.map +1 -0
  51. package/dist/client/_storageType-DYjo-6ej.mjs +3243 -0
  52. package/dist/client/_storageType-DYjo-6ej.mjs.map +1 -0
  53. package/dist/client/_storageType-zeSZe--V.mjs +7 -0
  54. package/dist/client/_storageType-zeSZe--V.mjs.map +1 -0
  55. package/dist/client/about-Bo9vxGHy.mjs +92 -0
  56. package/dist/client/{about-DLn1ShhF.mjs.map → about-Bo9vxGHy.mjs.map} +1 -1
  57. package/dist/client/aurora-DDzsst74.mjs +19 -0
  58. package/dist/client/{aurora-CRcxVUCo.mjs.map → aurora-DDzsst74.mjs.map} +1 -1
  59. package/dist/client/{build-BJDfnAyi.mjs → build-DeJcDjPi.mjs} +3802 -3376
  60. package/dist/client/build-DeJcDjPi.mjs.map +1 -0
  61. package/dist/client/{buildFilterParams-TeyosGyK.mjs → buildFilterParams-DoZzMKX9.mjs} +1 -1
  62. package/dist/client/{buildFilterParams-TeyosGyK.mjs.map → buildFilterParams-DoZzMKX9.mjs.map} +1 -1
  63. package/dist/client/{cn-C3laVXMm.mjs → cn-DM4Cy3jv.mjs} +1 -1
  64. package/dist/client/{cn-C3laVXMm.mjs.map → cn-DM4Cy3jv.mjs.map} +1 -1
  65. package/dist/client/constants-BmcGYeR-.mjs +153 -0
  66. package/dist/client/constants-BmcGYeR-.mjs.map +1 -0
  67. package/dist/client/{flavors-D8oElC2K.mjs → flavors-BxFVqgnb.mjs} +2 -2
  68. package/dist/client/{flavors-D8oElC2K.mjs.map → flavors-BxFVqgnb.mjs.map} +1 -1
  69. package/dist/client/flavors-CfdgjsZY.mjs +632 -0
  70. package/dist/client/flavors-CfdgjsZY.mjs.map +1 -0
  71. package/dist/client/{flavors-BXPYAFyQ.mjs → flavors-DWMZ6TuJ.mjs} +2 -2
  72. package/dist/client/{flavors-BXPYAFyQ.mjs.map → flavors-DWMZ6TuJ.mjs.map} +1 -1
  73. package/dist/client/{floatingips-Fa6ocNUu.mjs → floatingips-ByRb82wS.mjs} +138 -139
  74. package/dist/client/{floatingips-Fa6ocNUu.mjs.map → floatingips-ByRb82wS.mjs.map} +1 -1
  75. package/dist/client/{formatBytes-tQBEnPoL.mjs → formatBytes-CZv_XyCY.mjs} +1 -1
  76. package/dist/client/{formatBytes-tQBEnPoL.mjs.map → formatBytes-CZv_XyCY.mjs.map} +1 -1
  77. package/dist/client/{helpers--JWXi40U.mjs → helpers-1PpYf-fC.mjs} +1 -1
  78. package/dist/client/{helpers--JWXi40U.mjs.map → helpers-1PpYf-fC.mjs.map} +1 -1
  79. package/dist/client/hooks-dSArr2Ca.mjs +2 -0
  80. package/dist/client/images-CKqIXUq52.mjs +1873 -0
  81. package/dist/client/images-CKqIXUq52.mjs.map +1 -0
  82. package/dist/client/{images-tYfyOkX8.mjs → images-C_dX7nY6.mjs} +3 -3
  83. package/dist/client/{images-tYfyOkX8.mjs.map → images-C_dX7nY6.mjs.map} +1 -1
  84. package/dist/client/{images-CTLCY-yY.mjs → images-CenluYV8.mjs} +2 -2
  85. package/dist/client/{images-CTLCY-yY.mjs.map → images-CenluYV8.mjs.map} +1 -1
  86. package/dist/client/{images-DM9I8G0p.mjs → images-NBf2bV43.mjs} +2 -2
  87. package/dist/client/{images-DM9I8G0p.mjs.map → images-NBf2bV43.mjs.map} +1 -1
  88. package/dist/client/index.js +428 -477
  89. package/dist/client/index.js.map +1 -1
  90. package/dist/client/{md-BivyCkGC.mjs → md-CYTrL5dq.mjs} +58 -22
  91. package/dist/client/{md-BivyCkGC.mjs.map → md-CYTrL5dq.mjs.map} +1 -1
  92. package/dist/client/{network-rYLHyf15.mjs → network-DuZm76BZ.mjs} +2 -2
  93. package/dist/client/{network-rYLHyf15.mjs.map → network-DuZm76BZ.mjs.map} +1 -1
  94. package/dist/client/objects-BJM6YeuF.mjs +5708 -0
  95. package/dist/client/objects-BJM6YeuF.mjs.map +1 -0
  96. package/dist/client/objects-gxSjvbvF.mjs +101 -0
  97. package/dist/client/objects-gxSjvbvF.mjs.map +1 -0
  98. package/dist/client/objects-o2Cj_ndZ.mjs +8 -0
  99. package/dist/client/objects-o2Cj_ndZ.mjs.map +1 -0
  100. package/dist/client/{pca-COmKvp3J.mjs → pca-Bl8NmoVZ.mjs} +2 -2
  101. package/dist/client/{pca-COmKvp3J.mjs.map → pca-Bl8NmoVZ.mjs.map} +1 -1
  102. package/dist/client/pca-RSiWpJs9.mjs +182 -0
  103. package/dist/client/pca-RSiWpJs9.mjs.map +1 -0
  104. package/dist/client/projects-CgclWI16.mjs +105 -0
  105. package/dist/client/projects-CgclWI16.mjs.map +1 -0
  106. package/dist/client/{projects-DI_L4oDw.mjs → projects-D2iewAzu.mjs} +2 -2
  107. package/dist/client/{projects-DI_L4oDw.mjs.map → projects-D2iewAzu.mjs.map} +1 -1
  108. package/dist/client/{projects-Dl5XkXUP.mjs → projects-pe2_dCnV.mjs} +3 -3
  109. package/dist/client/{projects-Dl5XkXUP.mjs.map → projects-pe2_dCnV.mjs.map} +1 -1
  110. package/dist/client/{projects-HoQ0gE5Y.mjs → projects-yiK0HGSA.mjs} +2 -2
  111. package/dist/client/{projects-HoQ0gE5Y.mjs.map → projects-yiK0HGSA.mjs.map} +1 -1
  112. package/dist/client/{securitygroups-BjkmHk2J.mjs → securitygroups-DahZkVYQ.mjs} +139 -140
  113. package/dist/client/{securitygroups-BjkmHk2J.mjs.map → securitygroups-DahZkVYQ.mjs.map} +1 -1
  114. package/dist/client/{trpcClient-BxguzNYF.mjs → trpcClient-BzPUgiM2.mjs} +1 -1
  115. package/dist/client/{trpcClient-BxguzNYF.mjs.map → trpcClient-BzPUgiM2.mjs.map} +1 -1
  116. package/dist/client/{useErrorTranslation-TZVwIAzq.mjs → useErrorTranslation-Dc0eE8Zt.mjs} +1 -1
  117. package/dist/client/{useErrorTranslation-TZVwIAzq.mjs.map → useErrorTranslation-Dc0eE8Zt.mjs.map} +1 -1
  118. package/dist/client/useListWithFiltering-DaYcu5AB.mjs +157 -0
  119. package/dist/client/useListWithFiltering-DaYcu5AB.mjs.map +1 -0
  120. package/dist/client/{useModal-DxxlilRm.mjs → useModal-DCs1OJh7.mjs} +1 -1
  121. package/dist/client/{useModal-DxxlilRm.mjs.map → useModal-DCs1OJh7.mjs.map} +1 -1
  122. package/dist/client/{useProjectId-OQv2KBbG.mjs → useProjectId-DBc5lpoU.mjs} +1 -1
  123. package/dist/client/{useProjectId-OQv2KBbG.mjs.map → useProjectId-DBc5lpoU.mjs.map} +1 -1
  124. package/dist/server/index.js +1285 -435
  125. package/package.json +5 -4
  126. package/dist/client/DeleteFlavorModal-BusYn32r.mjs +0 -629
  127. package/dist/client/DeleteFlavorModal-BusYn32r.mjs.map +0 -1
  128. package/dist/client/ImageToastNotifications-BG9LPnXf.mjs +0 -1267
  129. package/dist/client/ImageToastNotifications-BG9LPnXf.mjs.map +0 -1
  130. package/dist/client/ListToolbar-BojRTNbo.mjs +0 -129
  131. package/dist/client/ListToolbar-BojRTNbo.mjs.map +0 -1
  132. package/dist/client/_flavorId-BRonXvCo.mjs +0 -188
  133. package/dist/client/_flavorId-BRonXvCo.mjs.map +0 -1
  134. package/dist/client/_flavorId-BoNcxYmF.mjs.map +0 -1
  135. package/dist/client/_imageId-BL0I5_pv.mjs +0 -527
  136. package/dist/client/_imageId-BL0I5_pv.mjs.map +0 -1
  137. package/dist/client/_pcaId-CbBhBrX1.mjs +0 -466
  138. package/dist/client/_pcaId-CbBhBrX1.mjs.map +0 -1
  139. package/dist/client/_projectId-5NiasyXm.mjs +0 -26
  140. package/dist/client/_projectId-5NiasyXm.mjs.map +0 -1
  141. package/dist/client/_projectId-BwLMEMGC.mjs.map +0 -1
  142. package/dist/client/_projectId-D35MN1kY.mjs +0 -316
  143. package/dist/client/_projectId-D35MN1kY.mjs.map +0 -1
  144. package/dist/client/about-DLn1ShhF.mjs +0 -92
  145. package/dist/client/aurora-CRcxVUCo.mjs +0 -19
  146. package/dist/client/build-BJDfnAyi.mjs.map +0 -1
  147. package/dist/client/constants-B-P2r5F1.mjs +0 -128
  148. package/dist/client/constants-B-P2r5F1.mjs.map +0 -1
  149. package/dist/client/containers-BjWqjNOx.mjs.map +0 -1
  150. package/dist/client/containers-DsRWc1L5.mjs +0 -7
  151. package/dist/client/containers-DsRWc1L5.mjs.map +0 -1
  152. package/dist/client/containers-J7WFA18U.mjs +0 -3120
  153. package/dist/client/containers-J7WFA18U.mjs.map +0 -1
  154. package/dist/client/flavors-qvgPSI7J.mjs +0 -613
  155. package/dist/client/flavors-qvgPSI7J.mjs.map +0 -1
  156. package/dist/client/hooks-DEjb9d1F.mjs +0 -2
  157. package/dist/client/images-CSFfefAu.mjs +0 -1901
  158. package/dist/client/images-CSFfefAu.mjs.map +0 -1
  159. package/dist/client/objects-BciXwZ00.mjs +0 -86
  160. package/dist/client/objects-BciXwZ00.mjs.map +0 -1
  161. package/dist/client/objects-Cdew99tK.mjs +0 -8
  162. package/dist/client/objects-Cdew99tK.mjs.map +0 -1
  163. package/dist/client/objects-DaElrban.mjs +0 -5340
  164. package/dist/client/objects-DaElrban.mjs.map +0 -1
  165. package/dist/client/overview-BMhjFMIV.mjs +0 -15
  166. package/dist/client/overview-BMhjFMIV.mjs.map +0 -1
  167. package/dist/client/overview-BYIRj7_X.mjs +0 -15
  168. package/dist/client/overview-BYIRj7_X.mjs.map +0 -1
  169. package/dist/client/overview-DRCKNBH2.mjs +0 -15
  170. package/dist/client/overview-DRCKNBH2.mjs.map +0 -1
  171. package/dist/client/overview-urYLOVQE.mjs +0 -173
  172. package/dist/client/overview-urYLOVQE.mjs.map +0 -1
  173. package/dist/client/pca-oc7J0_Xd.mjs +0 -167
  174. package/dist/client/pca-oc7J0_Xd.mjs.map +0 -1
  175. package/dist/client/projects-BUabCzvw.mjs +0 -95
  176. package/dist/client/projects-BUabCzvw.mjs.map +0 -1
  177. package/dist/client/useListWithFiltering-CbhHJO4V.mjs +0 -32
  178. package/dist/client/useListWithFiltering-CbhHJO4V.mjs.map +0 -1
@@ -1,613 +0,0 @@
1
- import { C as e, E as t, G as n, I as r, M as i, Q as a, T as o, U as s, Y as c, at as l, c as u, et as d, f, it as p, j as m, l as h, n as g, nt as _, ot as v, q as y, w as b } from "./build-BJDfnAyi.mjs";
2
- import { t as x } from "./useErrorTranslation-TZVwIAzq.mjs";
3
- import { t as S } from "./flavors-D8oElC2K.mjs";
4
- import { n as C, r as w, t as T } from "./DeleteFlavorModal-BusYn32r.mjs";
5
- import { t as E } from "./ContentHeader-BXZoN3B9.mjs";
6
- import { t as D } from "./SortInput-DXWSqSny.mjs";
7
- import { Fragment as O, jsx as k, jsxs as A } from "react/jsx-runtime";
8
- import { Suspense as j, startTransition as M, use as N, useCallback as P, useEffect as F, useRef as I, useState as L } from "react";
9
- import { Link as R, useNavigate as z, useParams as B, useSearch as V } from "@tanstack/react-router";
10
- import { TRPCClientError as H } from "@trpc/client";
11
- import { Trans as U, useLingui as W } from "@lingui/react";
12
- //#region src/client/routes/_auth/projects/$projectId/compute/-components/Flavors/-components/FlavorListContainer.tsx
13
- var G = ({ flavors: e, isLoading: o, client: l, project: u, onFlavorDeleted: f, canDeleteFlavor: p, canMangageAccess: g, currentPage: v = 1, totalPages: y = 1, onPageChange: b }) => {
14
- let { i18n: x, _: S } = W(), E = z(), [D, j] = L(!1), [M, N] = L(!1), [P, F] = L(!1), [I, V] = L(null), { projectId: H } = B({ from: "/_auth/projects/$projectId/compute/flavors/" }), G = (e) => {
15
- V(e), j(!0);
16
- }, K = (e) => {
17
- V(e), N(!0);
18
- }, q = (e) => {
19
- V(e), F(!0);
20
- }, J = () => {
21
- j(!1), V(null);
22
- };
23
- return o ? /* @__PURE__ */ k("div", {
24
- "data-testid": "loading",
25
- children: /* @__PURE__ */ k("div", {
26
- "data-testid": "loading",
27
- children: /* @__PURE__ */ k(r, { children: /* @__PURE__ */ k(i, {
28
- colSpan: 3,
29
- children: /* @__PURE__ */ A(_, {
30
- distribution: "center",
31
- alignment: "center",
32
- children: [/* @__PURE__ */ k(a, { variant: "primary" }), /* @__PURE__ */ k(U, { id: "Z3FXyt" })]
33
- })
34
- }) })
35
- })
36
- }) : !e || e.length === 0 ? /* @__PURE__ */ k(s, {
37
- columns: 7,
38
- className: "flavors",
39
- "data-testid": "no-flavors",
40
- children: /* @__PURE__ */ k(r, { children: /* @__PURE__ */ A(i, {
41
- colSpan: 7,
42
- children: [/* @__PURE__ */ k(m, { children: /* @__PURE__ */ k(U, { id: "PiyQJ/" }) }), /* @__PURE__ */ k("p", { children: /* @__PURE__ */ k(U, { id: "KSW/GC" }) })]
43
- }) })
44
- }) : /* @__PURE__ */ A(O, { children: [
45
- /* @__PURE__ */ A(s, {
46
- columns: 6,
47
- minContentColumns: [5],
48
- className: "flavors",
49
- "data-testid": "flavors-table",
50
- children: [/* @__PURE__ */ A(r, { children: [
51
- /* @__PURE__ */ k(n, { children: /* @__PURE__ */ k(U, { id: "6YtxFj" }) }),
52
- /* @__PURE__ */ k(n, { children: /* @__PURE__ */ k(U, { id: "k5nYwm" }) }),
53
- /* @__PURE__ */ k(n, { children: /* @__PURE__ */ k(U, { id: "K+e/0e" }) }),
54
- /* @__PURE__ */ k(n, { children: /* @__PURE__ */ k(U, { id: "n0ZttO" }) }),
55
- /* @__PURE__ */ k(n, { children: /* @__PURE__ */ k(U, { id: "p4nMut" }) }),
56
- /* @__PURE__ */ k(n, {})
57
- ] }), e.map((e) => /* @__PURE__ */ A(r, {
58
- "data-testid": `flavor-row-${e.id}`,
59
- onClick: () => E({
60
- to: "/projects/$projectId/compute/flavors/$flavorId",
61
- params: {
62
- projectId: H,
63
- flavorId: e.id
64
- }
65
- }),
66
- children: [
67
- /* @__PURE__ */ k(i, { children: e.name || e.id }),
68
- /* @__PURE__ */ k(i, { children: e.vcpus || "–" }),
69
- /* @__PURE__ */ k(i, { children: e.ram || "–" }),
70
- /* @__PURE__ */ k(i, { children: e.disk || "–" }),
71
- /* @__PURE__ */ k(i, { children: e.swap || "–" }),
72
- /* @__PURE__ */ k(i, {
73
- onClick: (e) => e.stopPropagation(),
74
- children: /* @__PURE__ */ k(d, { children: /* @__PURE__ */ A(t, { children: [
75
- /* @__PURE__ */ k(c, { children: /* @__PURE__ */ k(R, {
76
- to: "/projects/$projectId/compute/flavors/$flavorId",
77
- params: {
78
- projectId: H,
79
- flavorId: e.id
80
- },
81
- className: "text-theme-default",
82
- children: x._({ id: "URmyfc" })
83
- }) }),
84
- /* @__PURE__ */ k(c, {
85
- label: x._({ id: "6GBt0m" }),
86
- onClick: () => K(e)
87
- }),
88
- g && /* @__PURE__ */ k(c, {
89
- label: x._({ id: "cWbW6w" }),
90
- onClick: () => q(e)
91
- }),
92
- p && /* @__PURE__ */ k(c, {
93
- label: x._({ id: "JT3I1g" }),
94
- onClick: () => G(e)
95
- })
96
- ] }) })
97
- })
98
- ]
99
- }, e.id))]
100
- }),
101
- y > 1 && /* @__PURE__ */ k("div", {
102
- className: "flex justify-center py-4",
103
- children: /* @__PURE__ */ k(h, {
104
- variant: "input",
105
- currentPage: v,
106
- pages: y,
107
- onPressPrevious: () => b?.(Math.max(v - 1, 1)),
108
- onPressNext: () => b?.(Math.min(v + 1, y)),
109
- onSelectChange: (e) => b?.(e)
110
- })
111
- }),
112
- /* @__PURE__ */ k(T, {
113
- client: l,
114
- isOpen: D,
115
- onClose: J,
116
- project: u,
117
- flavor: I,
118
- onSuccess: () => {
119
- I && f && f(I.name || ""), J();
120
- }
121
- }),
122
- /* @__PURE__ */ k(w, {
123
- client: l,
124
- isOpen: M,
125
- onClose: () => N(!1),
126
- project: u,
127
- flavor: I
128
- }),
129
- /* @__PURE__ */ k(C, {
130
- client: l,
131
- isOpen: P,
132
- onClose: () => F(!1),
133
- project: u,
134
- flavor: I
135
- })
136
- ] });
137
- }, K = (e, t, n) => {
138
- switch (e) {
139
- case "id":
140
- if (!t) return;
141
- {
142
- let e = String(t).trim();
143
- return /^[a-zA-Z0-9.\-_]*$/.test(e) ? void 0 : n({ id: "AX9Juz" });
144
- }
145
- case "name": {
146
- let e = String(t || "").trim();
147
- return e.length >= 2 && e.length <= 50 ? void 0 : n({ id: "zDS0JC" });
148
- }
149
- case "vcpus": {
150
- let e = Number(t);
151
- return !isNaN(e) && e >= 1 ? void 0 : n({ id: "uSdnuQ" });
152
- }
153
- case "ram": {
154
- let e = Number(t);
155
- return !isNaN(e) && e >= 128 ? void 0 : n({ id: "g1IxCo" });
156
- }
157
- case "disk": {
158
- let e = Number(t);
159
- return !isNaN(e) && e >= 0 ? void 0 : n({ id: "AJRhSM" });
160
- }
161
- case "swap":
162
- if (t === "" || t == null) return;
163
- {
164
- let e = Number(t);
165
- return !isNaN(e) && e >= 0 ? void 0 : n({ id: "g3BSCe" });
166
- }
167
- case "rxtx_factor": {
168
- let e = Number(t);
169
- return !isNaN(e) && e >= 1 ? void 0 : n({ id: "PIbPRX" });
170
- }
171
- case "description": return t ? String(t).length < 65535 ? void 0 : n({ id: "uuKb0T" }) : void 0;
172
- case "OS-FLV-EXT-DATA:ephemeral": {
173
- let e = Number(t);
174
- return !isNaN(e) && e >= 0 ? void 0 : n({ id: "tLerHy" });
175
- }
176
- case "os-flavor-access:is_public": return t == null || typeof t == "boolean" || typeof t == "string" && (t === "true" || t === "false") ? void 0 : n({ id: "MmtQVF" });
177
- default: return;
178
- }
179
- }, q = (e) => {
180
- let t = {
181
- name: String(e.name),
182
- vcpus: Number(e.vcpus),
183
- ram: Number(e.ram),
184
- disk: Number(e.disk)
185
- }, n = (e) => e != null && e !== "" && String(e).trim() !== "", r = (e) => e != null && e !== "" && String(e).trim() !== "" && !isNaN(Number(e));
186
- return n(e.id) && (t.id = String(e.id).trim()), n(e.description) && (t.description = String(e.description).trim()), r(e.swap) && (t.swap = Number(e.swap)), r(e.rxtx_factor) && (t.rxtx_factor = Number(e.rxtx_factor)), r(e["OS-FLV-EXT-DATA:ephemeral"]) && (t["OS-FLV-EXT-DATA:ephemeral"] = Number(e["OS-FLV-EXT-DATA:ephemeral"])), e["os-flavor-access:is_public"] !== void 0 && (t["os-flavor-access:is_public"] = !!e["os-flavor-access:is_public"]), t;
187
- }, J = ({ client: e, isOpen: t, onClose: n, project: r, onSuccess: i }) => {
188
- let { i18n: s, _: c } = W(), { translateError: u } = x(), [d, f] = L({ "os-flavor-access:is_public": !0 }), [m, h] = L({}), [S, C] = L(!1), [w, T] = L(null), E = (e) => {
189
- let { name: t, value: n, type: r, checked: i } = e.target;
190
- f((e) => ({
191
- ...e,
192
- [t]: r === "checkbox" ? i : n
193
- })), w && T(null);
194
- }, D = (e, t) => {
195
- f((n) => ({
196
- ...n,
197
- [e]: t
198
- })), w && T(null);
199
- }, O = (e) => {
200
- let { name: t, value: n } = e.target, r = K(t, n, c);
201
- h((e) => ({
202
- ...e,
203
- [t]: r
204
- }));
205
- }, j = async (t) => {
206
- t.preventDefault(), T(null);
207
- let n = {};
208
- if ([
209
- "name",
210
- "vcpus",
211
- "ram",
212
- "disk"
213
- ].forEach((e) => {
214
- let t = K(e, d[e], c);
215
- t && (n[e] = t);
216
- }), [
217
- "id",
218
- "swap",
219
- "OS-FLV-EXT-DATA:ephemeral",
220
- "rxtx_factor",
221
- "description",
222
- "os-flavor-access:is_public"
223
- ].forEach((e) => {
224
- let t = d[e];
225
- if (t !== void 0 && t !== "" && t !== null) {
226
- let r = K(e, t, c);
227
- r && (n[e] = r);
228
- }
229
- }), Object.keys(n).length > 0) {
230
- h(n), T(s._({ id: "CBFSfX" }));
231
- return;
232
- }
233
- try {
234
- C(!0);
235
- let t = q(d);
236
- await e.compute.createFlavor.mutate({
237
- project_id: r,
238
- flavor: t
239
- }), i(t.name), M();
240
- } catch (e) {
241
- T(e?.message ? u(e.message) : s._({ id: "OxDN2m" }));
242
- } finally {
243
- C(!1);
244
- }
245
- }, M = () => {
246
- f({ "os-flavor-access:is_public": !0 }), h({}), T(null), n();
247
- };
248
- return /* @__PURE__ */ A(v, {
249
- onCancel: M,
250
- size: "large",
251
- title: s._({ id: "Rlp5zj" }),
252
- open: t,
253
- onConfirm: j,
254
- cancelButtonLabel: s._({ id: "dEgA5A" }),
255
- confirmButtonLabel: s._({ id: "wEfZld" }),
256
- children: [S && /* @__PURE__ */ k(_, {
257
- distribution: "center",
258
- alignment: "center",
259
- children: /* @__PURE__ */ k(a, { variant: "primary" })
260
- }), !S && /* @__PURE__ */ A(l, { children: [w && /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(y, {
261
- onDismiss: () => {
262
- T(null);
263
- },
264
- text: w,
265
- variant: "error"
266
- }) }), /* @__PURE__ */ A(g, { children: [
267
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
268
- id: "id",
269
- name: "id",
270
- label: s._({ id: "s2ubkU" }),
271
- value: d.id || "",
272
- onChange: E,
273
- onBlur: O,
274
- errortext: m.id
275
- }) }),
276
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
277
- id: "name",
278
- name: "name",
279
- label: s._({ id: "lWxDDh" }),
280
- value: d.name || "",
281
- onChange: E,
282
- onBlur: O,
283
- errortext: m.name,
284
- required: !0
285
- }) }),
286
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
287
- id: "description",
288
- name: "description",
289
- label: s._({ id: "Nu4oKW" }),
290
- value: d.description || "",
291
- onChange: E,
292
- onBlur: O,
293
- errortext: m.description
294
- }) }),
295
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
296
- id: "vcpus",
297
- name: "vcpus",
298
- label: s._({ id: "MZGbkp" }),
299
- value: String(d.vcpus || ""),
300
- onChange: (e) => D("vcpus", Number(e.target.value)),
301
- onBlur: O,
302
- errortext: m.vcpus,
303
- type: "number",
304
- required: !0
305
- }) }),
306
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
307
- id: "ram",
308
- name: "ram",
309
- label: s._({ id: "K+e/0e" }),
310
- value: String(d.ram || ""),
311
- onChange: (e) => D("ram", Number(e.target.value)),
312
- onBlur: O,
313
- errortext: m.ram,
314
- type: "number",
315
- required: !0
316
- }) }),
317
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
318
- id: "disk",
319
- name: "disk",
320
- label: s._({ id: "AxZkIr" }),
321
- value: String(d.disk || ""),
322
- onChange: (e) => D("disk", Number(e.target.value)),
323
- onBlur: O,
324
- errortext: m.disk,
325
- type: "number",
326
- required: !0
327
- }) }),
328
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
329
- id: "OS-FLV-EXT-DATA:ephemeral",
330
- name: "OS-FLV-EXT-DATA:ephemeral",
331
- label: s._({ id: "X2OnDx" }),
332
- value: String(d["OS-FLV-EXT-DATA:ephemeral"] || ""),
333
- onChange: (e) => D("OS-FLV-EXT-DATA:ephemeral", Number(e.target.value)),
334
- onBlur: O,
335
- errortext: m["OS-FLV-EXT-DATA:ephemeral"],
336
- type: "number"
337
- }) }),
338
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
339
- id: "swap",
340
- name: "swap",
341
- label: s._({ id: "p4nMut" }),
342
- value: String(d.swap || ""),
343
- onChange: (e) => D("swap", e.target.value ? Number(e.target.value) : void 0),
344
- onBlur: O,
345
- errortext: m.swap,
346
- type: "number"
347
- }) }),
348
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(o, {
349
- id: "rxtx_factor",
350
- name: "rxtx_factor",
351
- label: s._({ id: "u5HztT" }),
352
- defaultValue: 1,
353
- value: String(d.rxtx_factor || ""),
354
- onChange: (e) => D("rxtx_factor", Number(e.target.value)),
355
- onBlur: O,
356
- errortext: m.rxtx_factor,
357
- type: "number"
358
- }) }),
359
- /* @__PURE__ */ k(p, { children: /* @__PURE__ */ k(b, {
360
- name: "os-flavor-access:is_public",
361
- label: s._({ id: "vbajgL" }),
362
- helptext: s._({ id: "3nh/7E" }),
363
- checked: !!d["os-flavor-access:is_public"],
364
- onChange: E
365
- }) })
366
- ] })] })]
367
- });
368
- }, Y = 50, X = (e, t, n, r, i) => e.compute.getFlavorsByProjectId.query({
369
- project_id: t,
370
- sortBy: n,
371
- sortDirection: r,
372
- searchTerm: i
373
- }).then((e) => ({
374
- ...e,
375
- listError: void 0
376
- })).catch((e) => {
377
- if (e instanceof H && e.data?.code === "FORBIDDEN") return {
378
- flavors: [],
379
- privateFlavorError: void 0,
380
- listError: e.message
381
- };
382
- throw e;
383
- }), Z = (e, t) => e.compute.canUser.query({
384
- project_id: t,
385
- permission: [
386
- "flavors:create",
387
- "flavors:delete",
388
- "flavors:list_projects"
389
- ]
390
- }).then(([e, t, n]) => ({
391
- canCreate: e,
392
- canDelete: t,
393
- canManageAccess: n
394
- }));
395
- function Q({ flavorsPromise: t, permissionsPromise: n, client: r, project: i, onFlavorDeleted: a, onFlavorCreated: o, searchTerm: s, setSearchTerm: c, sortSettings: l, handleSortChange: d, createModalOpen: p, setCreateModalOpen: m, currentPage: h, onPageChange: g }) {
396
- let { i18n: v, _: b } = W(), { flavors: x, privateFlavorError: S, listError: C } = N(t), w = N(n), [T, E] = L(s), j = I(void 0);
397
- if (F(() => () => clearTimeout(j.current), []), C) return /* @__PURE__ */ k("p", { children: C });
398
- let M = Math.max(1, Math.ceil(x.length / Y)), P = Math.min(h, M), R = x.slice((P - 1) * Y, P * Y);
399
- return F(() => {
400
- h > M && g(1);
401
- }, [
402
- M,
403
- h,
404
- g
405
- ]), /* @__PURE__ */ A(O, { children: [
406
- /* @__PURE__ */ k(J, {
407
- client: r,
408
- isOpen: p,
409
- project: i,
410
- onClose: () => m(!1),
411
- onSuccess: o
412
- }),
413
- S && /* @__PURE__ */ k(y, {
414
- className: "mb-4",
415
- text: v._({ id: "3oc18/" }),
416
- variant: "warning"
417
- }),
418
- /* @__PURE__ */ A(_, {
419
- distribution: "end",
420
- alignment: "center",
421
- gap: "2",
422
- className: "pb-2",
423
- children: [/* @__PURE__ */ k(_, {
424
- gap: "0.5",
425
- children: /* @__PURE__ */ k(D, {
426
- options: l.options,
427
- sortBy: l.sortBy,
428
- sortDirection: l.sortDirection ?? "asc",
429
- onSortByChange: (e) => d({
430
- ...l,
431
- sortBy: e,
432
- sortDirection: l.sortDirection
433
- }),
434
- onSortDirectionChange: (e) => d({
435
- ...l,
436
- sortDirection: e
437
- })
438
- })
439
- }), w.canCreate && /* @__PURE__ */ k(u, {
440
- variant: "primary",
441
- label: v._({ id: "Rlp5zj" }),
442
- onClick: () => m(!0)
443
- })]
444
- }),
445
- /* @__PURE__ */ k(e, { children: /* @__PURE__ */ k(_, {
446
- distribution: "end",
447
- alignment: "center",
448
- children: /* @__PURE__ */ k(f, {
449
- placeholder: v._({ id: "U0sPCo" }),
450
- "data-testid": "searchbar",
451
- value: T,
452
- onInput: (e) => {
453
- let t = e.currentTarget.value;
454
- E(t), clearTimeout(j.current), j.current = window.setTimeout(() => c(t), 500);
455
- },
456
- onSearch: (e) => {
457
- clearTimeout(j.current), c(typeof e == "string" ? e : "");
458
- },
459
- onClear: () => {
460
- clearTimeout(j.current), E(""), c("");
461
- }
462
- })
463
- }) }),
464
- /* @__PURE__ */ k(G, {
465
- flavors: R,
466
- isLoading: !1,
467
- client: r,
468
- project: i,
469
- onFlavorDeleted: a,
470
- canDeleteFlavor: w.canDelete,
471
- canMangageAccess: w.canManageAccess,
472
- currentPage: P,
473
- totalPages: M,
474
- onPageChange: g
475
- })
476
- ] });
477
- }
478
- var $ = ({ client: e, project: t }) => {
479
- let { i18n: n, _: r } = W(), i = z(), o = V({ strict: !1 }), [s, c] = L({
480
- options: [
481
- {
482
- label: n._({ id: "6YtxFj" }),
483
- value: "name"
484
- },
485
- {
486
- label: n._({ id: "MZGbkp" }),
487
- value: "vcpus"
488
- },
489
- {
490
- label: n._({ id: "RGhYAo" }),
491
- value: "ram"
492
- },
493
- {
494
- label: n._({ id: "cJDQIO" }),
495
- value: "disk"
496
- },
497
- {
498
- label: n._({ id: "vH2C/2" }),
499
- value: "swap"
500
- }
501
- ],
502
- sortBy: o.sortBy || "name",
503
- sortDirection: o.sortDirection || "asc"
504
- }), [l, u] = L(o.search || ""), d = o.page ?? 1, [f, p] = L(), [m, h] = L(!1), [g, v] = L(() => X(e, t, s.sortBy, s.sortDirection, l)), [b] = L(() => Z(e, t)), x = () => {
505
- M(() => {
506
- v(X(e, t, s.sortBy, s.sortDirection, l));
507
- });
508
- }, S = (e) => {
509
- p({
510
- message: n._({
511
- id: "20Kpaw",
512
- values: { flavorName: e }
513
- }),
514
- timestamp: Date.now()
515
- }), setTimeout(() => p(void 0), 5e3), x();
516
- }, C = (e) => {
517
- p({
518
- message: n._({
519
- id: "eChIh7",
520
- values: { flavorName: e }
521
- }),
522
- timestamp: Date.now()
523
- }), setTimeout(() => p(void 0), 5e3), x();
524
- }, w = (n) => {
525
- let r = {
526
- options: n.options,
527
- sortBy: n.sortBy?.toString() || "name",
528
- sortDirection: n.sortDirection || "asc"
529
- };
530
- c(r), i({
531
- search: (e) => ({
532
- ...e,
533
- sortBy: r.sortBy,
534
- sortDirection: r.sortDirection,
535
- page: void 0
536
- }),
537
- replace: !0
538
- }), M(() => {
539
- v(X(e, t, r.sortBy, r.sortDirection, l));
540
- });
541
- }, T = (n) => {
542
- let r = typeof n == "string" ? n : "";
543
- u(r), i({
544
- search: (e) => ({
545
- ...e,
546
- search: r || void 0,
547
- page: void 0
548
- }),
549
- replace: !0
550
- }), M(() => {
551
- v(X(e, t, s.sortBy, s.sortDirection, r));
552
- });
553
- }, E = P((e) => {
554
- i({ search: (t) => ({
555
- ...t,
556
- page: e === 1 ? void 0 : e
557
- }) });
558
- }, [i]);
559
- return /* @__PURE__ */ A("div", {
560
- className: "relative",
561
- children: [f && /* @__PURE__ */ k(y, {
562
- className: "absolute -top-14 right-0 left-0 z-50",
563
- text: f.message,
564
- variant: "info",
565
- onDismiss: () => p(void 0),
566
- dismissible: !0
567
- }), /* @__PURE__ */ k(j, {
568
- fallback: /* @__PURE__ */ A(_, {
569
- className: "fixed inset-0",
570
- distribution: "center",
571
- alignment: "center",
572
- direction: "vertical",
573
- children: [/* @__PURE__ */ k(a, {
574
- variant: "primary",
575
- size: "large",
576
- className: "mb-2"
577
- }), /* @__PURE__ */ k(U, { id: "EqSPkP" })]
578
- }),
579
- children: /* @__PURE__ */ k(Q, {
580
- flavorsPromise: g,
581
- permissionsPromise: b,
582
- client: e,
583
- project: t,
584
- onFlavorDeleted: S,
585
- onFlavorCreated: C,
586
- searchTerm: l,
587
- setSearchTerm: T,
588
- sortSettings: s,
589
- handleSortChange: w,
590
- createModalOpen: m,
591
- setCreateModalOpen: h,
592
- currentPage: d,
593
- onPageChange: E
594
- })
595
- })]
596
- });
597
- };
598
- //#endregion
599
- //#region src/client/routes/_auth/projects/$projectId/compute/flavors/index.tsx?tsr-split=component
600
- function ee() {
601
- let { i18n: e, _: t } = W(), { projectId: n } = S.useParams(), { trpcClient: r } = S.useRouteContext();
602
- return /* @__PURE__ */ A(O, { children: [/* @__PURE__ */ k(E, {
603
- title: e._({ id: "neiJm0" }),
604
- projectId: n
605
- }), /* @__PURE__ */ k($, {
606
- project: n,
607
- client: r
608
- })] });
609
- }
610
- //#endregion
611
- export { ee as component };
612
-
613
- //# sourceMappingURL=flavors-qvgPSI7J.mjs.map