@evolver-fi/evolver-basics-admin-components 1.0.0 → 8.2.2-alpha.3

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 (198) hide show
  1. package/dist/EnumSelectFilter-DDWIjz5i.js +35 -0
  2. package/dist/EnumSelectFilter-DDWIjz5i.js.map +1 -0
  3. package/dist/FilterLink-OxQDWR5G.js +29 -0
  4. package/dist/FilterLink-OxQDWR5G.js.map +1 -0
  5. package/dist/Table-IciQttr3.js +79 -0
  6. package/dist/Table-IciQttr3.js.map +1 -0
  7. package/dist/TableMetadataDisplay-BM61EulC.js +49 -0
  8. package/dist/TableMetadataDisplay-BM61EulC.js.map +1 -0
  9. package/dist/TextFilter-CLOKjiSd.js +54 -0
  10. package/dist/TextFilter-CLOKjiSd.js.map +1 -0
  11. package/dist/api-CMiZYkfc.js +32 -0
  12. package/dist/api-CMiZYkfc.js.map +1 -0
  13. package/dist/breadcrumbs/index.js +2 -5
  14. package/dist/breadcrumbs-BAwnKRxL.js +32 -0
  15. package/dist/breadcrumbs-BAwnKRxL.js.map +1 -0
  16. package/dist/breadcrumbs.css +1 -0
  17. package/dist/client/index.js +330 -369
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/configuration-values/index.js +2 -13
  20. package/dist/configuration-values-CjOfmPRq.js +3464 -0
  21. package/dist/configuration-values-CjOfmPRq.js.map +1 -0
  22. package/dist/control-values/index.js +2 -10
  23. package/dist/control-values-CzQOB4WJ.js +144 -0
  24. package/dist/control-values-CzQOB4WJ.js.map +1 -0
  25. package/dist/exhaustiveValues-BYWkg9M1.js +6 -0
  26. package/dist/exhaustiveValues-BYWkg9M1.js.map +1 -0
  27. package/dist/filter/index.js +4 -10
  28. package/dist/formData-BO275hRZ.js +43 -0
  29. package/dist/formData-BO275hRZ.js.map +1 -0
  30. package/dist/jwt-tokens/index.js +2 -9
  31. package/dist/jwt-tokens-DnKsHei4.js +71 -0
  32. package/dist/jwt-tokens-DnKsHei4.js.map +1 -0
  33. package/dist/main/index.js +17 -87
  34. package/dist/message-log/index.js +2 -12
  35. package/dist/message-log-BdrJtbsP.js +337 -0
  36. package/dist/message-log-BdrJtbsP.js.map +1 -0
  37. package/dist/message-sending/index.js +2 -10
  38. package/dist/message-sending-dvTw2fFm.js +181 -0
  39. package/dist/message-sending-dvTw2fFm.js.map +1 -0
  40. package/dist/message-targets/index.js +2 -15
  41. package/dist/message-targets-8EppIJde.js +406 -0
  42. package/dist/message-targets-8EppIJde.js.map +1 -0
  43. package/dist/pagination-C4QUYRMf.js +20 -0
  44. package/dist/pagination-C4QUYRMf.js.map +1 -0
  45. package/dist/scheduled-tasks/index.js +2 -16
  46. package/dist/scheduled-tasks-BtBnBrE7.js +647 -0
  47. package/dist/scheduled-tasks-BtBnBrE7.js.map +1 -0
  48. package/dist/schemas-D-8_LuND.js +2986 -0
  49. package/dist/schemas-D-8_LuND.js.map +1 -0
  50. package/dist/table/index.js +2 -6
  51. package/dist/triggerables/index.js +3 -11
  52. package/dist/triggerables-DgrIeQMi.js +51 -0
  53. package/dist/triggerables-DgrIeQMi.js.map +1 -0
  54. package/dist/types/breadcrumbs.d.ts +1 -0
  55. package/dist/types/client/index.d.ts +5 -0
  56. package/dist/types/client.d.ts +1 -0
  57. package/dist/types/common/exhaustiveValues.d.ts +5 -0
  58. package/dist/types/common/formData.d.ts +20 -0
  59. package/dist/types/common/format.d.ts +1 -0
  60. package/dist/types/common/pagination.d.ts +8 -0
  61. package/dist/types/common/types.d.ts +27 -0
  62. package/dist/types/common/validation.d.ts +5 -0
  63. package/dist/types/components/breadcrumbs/BreadCrumbs.d.ts +10 -0
  64. package/dist/types/components/breadcrumbs/index.d.ts +1 -0
  65. package/dist/types/components/filter/EnumSelectFilter.d.ts +7 -0
  66. package/dist/types/components/filter/FilterHelperTexts.d.ts +4 -0
  67. package/dist/types/components/filter/FilterLink.d.ts +2 -0
  68. package/dist/types/components/filter/TextFilter.d.ts +2 -0
  69. package/dist/types/components/filter/createEnumSelectFilter.d.ts +5 -0
  70. package/dist/types/components/filter/index.d.ts +5 -0
  71. package/dist/types/components/filter/types.d.ts +20 -0
  72. package/dist/types/components/metadata/TableMetadataDisplay.d.ts +2 -0
  73. package/dist/types/components/metadata/utils.d.ts +1 -0
  74. package/dist/types/components/table/Pagination.d.ts +7 -0
  75. package/dist/types/components/table/Table.d.ts +3 -0
  76. package/dist/types/components/table/index.d.ts +3 -0
  77. package/dist/types/components/table/types.d.ts +48 -0
  78. package/dist/types/configuration-values.d.ts +1 -0
  79. package/dist/types/control-values.d.ts +1 -0
  80. package/dist/types/filter.d.ts +1 -0
  81. package/dist/types/index.d.ts +11 -0
  82. package/dist/types/jwt-tokens.d.ts +1 -0
  83. package/dist/types/main.d.ts +1 -0
  84. package/dist/types/message-log.d.ts +1 -0
  85. package/dist/types/message-sending.d.ts +1 -0
  86. package/dist/types/message-targets.d.ts +1 -0
  87. package/dist/types/routes/configuration-values/ConfigurationValueFormRoute.d.ts +2 -0
  88. package/dist/types/routes/configuration-values/ConfigurationValuesRoute.d.ts +2 -0
  89. package/dist/types/routes/configuration-values/action.d.ts +8 -0
  90. package/dist/types/routes/configuration-values/api.d.ts +53 -0
  91. package/dist/types/routes/configuration-values/configurationValueColumns.d.ts +4 -0
  92. package/dist/types/routes/configuration-values/index.d.ts +5 -0
  93. package/dist/types/routes/configuration-values/loader.d.ts +52 -0
  94. package/dist/types/routes/control-values/ControlValuesRoute.d.ts +2 -0
  95. package/dist/types/routes/control-values/SingleControlValueRoute.d.ts +2 -0
  96. package/dist/types/routes/control-values/api.d.ts +43 -0
  97. package/dist/types/routes/control-values/controlValueColumns.d.ts +4 -0
  98. package/dist/types/routes/control-values/index.d.ts +4 -0
  99. package/dist/types/routes/control-values/loader.d.ts +43 -0
  100. package/dist/types/routes/jwt-tokens/JwtTokensRoute.d.ts +6 -0
  101. package/dist/types/routes/jwt-tokens/api.d.ts +41 -0
  102. package/dist/types/routes/jwt-tokens/index.d.ts +3 -0
  103. package/dist/types/routes/jwt-tokens/loader.d.ts +35 -0
  104. package/dist/types/routes/message-log/LogBodyLink.d.ts +6 -0
  105. package/dist/types/routes/message-log/MessageLogRoute.d.ts +2 -0
  106. package/dist/types/routes/message-log/SingleLogMessageRoute.d.ts +6 -0
  107. package/dist/types/routes/message-log/api.d.ts +88 -0
  108. package/dist/types/routes/message-log/index.d.ts +4 -0
  109. package/dist/types/routes/message-log/loader.d.ts +53 -0
  110. package/dist/types/routes/message-log/messageLogColumns.d.ts +3 -0
  111. package/dist/types/routes/message-log/types.d.ts +37 -0
  112. package/dist/types/routes/message-sending/MessageSendingRoute.d.ts +2 -0
  113. package/dist/types/routes/message-sending/SingleMessageRoute.d.ts +2 -0
  114. package/dist/types/routes/message-sending/api.d.ts +92 -0
  115. package/dist/types/routes/message-sending/index.d.ts +4 -0
  116. package/dist/types/routes/message-sending/loader.d.ts +34 -0
  117. package/dist/types/routes/message-sending/messageSendingColumns.d.ts +3 -0
  118. package/dist/types/routes/message-sending/types.d.ts +43 -0
  119. package/dist/types/routes/message-targets/MessageTargetFormRoute.d.ts +2 -0
  120. package/dist/types/routes/message-targets/MessageTargetsRoute.d.ts +2 -0
  121. package/dist/types/routes/message-targets/action.d.ts +8 -0
  122. package/dist/types/routes/message-targets/api.d.ts +12 -0
  123. package/dist/types/routes/message-targets/index.d.ts +5 -0
  124. package/dist/types/routes/message-targets/loader.d.ts +15 -0
  125. package/dist/types/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +2 -0
  126. package/dist/types/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +2 -0
  127. package/dist/types/routes/scheduled-tasks/action.d.ts +21 -0
  128. package/dist/types/routes/scheduled-tasks/api.d.ts +75 -0
  129. package/dist/types/routes/scheduled-tasks/index.d.ts +5 -0
  130. package/dist/types/routes/scheduled-tasks/loader.d.ts +57 -0
  131. package/dist/types/routes/scheduled-tasks/parseScheduledTask.d.ts +15 -0
  132. package/dist/types/routes/triggerables/TriggerablesRoute.d.ts +2 -0
  133. package/dist/types/routes/triggerables/action.d.ts +6 -0
  134. package/dist/types/routes/triggerables/api.d.ts +33 -0
  135. package/dist/types/routes/triggerables/index.d.ts +4 -0
  136. package/dist/types/routes/triggerables/loader.d.ts +3 -0
  137. package/dist/types/scheduled-tasks.d.ts +1 -0
  138. package/dist/types/table.d.ts +1 -0
  139. package/dist/types/triggerables.d.ts +1 -0
  140. package/dist/types/types/openapiTypes.d.ts +3321 -0
  141. package/package.json +12 -5
  142. package/dist/ArrowBack-Bifnzxvs.js +0 -6430
  143. package/dist/ArrowBack-Bifnzxvs.js.map +0 -1
  144. package/dist/BreadCrumbs-DMuPCevY.js +0 -19
  145. package/dist/BreadCrumbs-DMuPCevY.js.map +0 -1
  146. package/dist/BreadCrumbs.css +0 -1
  147. package/dist/EnumSelectFilter-BdGla5Yf.js +0 -36
  148. package/dist/EnumSelectFilter-BdGla5Yf.js.map +0 -1
  149. package/dist/ExpandMore-DUn2zrFA.js +0 -1644
  150. package/dist/ExpandMore-DUn2zrFA.js.map +0 -1
  151. package/dist/FilterLink-DIeFjfZX.js +0 -49
  152. package/dist/FilterLink-DIeFjfZX.js.map +0 -1
  153. package/dist/JwtTokensRoute-C74zNV7A.js +0 -2374
  154. package/dist/JwtTokensRoute-C74zNV7A.js.map +0 -1
  155. package/dist/ScheduledTasksRoute-BAetDHqN.js +0 -611
  156. package/dist/ScheduledTasksRoute-BAetDHqN.js.map +0 -1
  157. package/dist/SingleLogMessageRoute-Dl2NFfqG.js +0 -419
  158. package/dist/SingleLogMessageRoute-Dl2NFfqG.js.map +0 -1
  159. package/dist/SingleMessageRoute-fC94BR1C.js +0 -306
  160. package/dist/SingleMessageRoute-fC94BR1C.js.map +0 -1
  161. package/dist/Table-DWiRP1za.js +0 -120
  162. package/dist/Table-DWiRP1za.js.map +0 -1
  163. package/dist/TextFilter-BHWY2B7i.js +0 -67
  164. package/dist/TextFilter-BHWY2B7i.js.map +0 -1
  165. package/dist/TriggerablesRoute-DiEEX1cR.js +0 -3552
  166. package/dist/TriggerablesRoute-DiEEX1cR.js.map +0 -1
  167. package/dist/api-BD_4zyJw.js +0 -38
  168. package/dist/api-BD_4zyJw.js.map +0 -1
  169. package/dist/breadcrumbs/index.js.map +0 -1
  170. package/dist/configuration-values/index.js.map +0 -1
  171. package/dist/control-values/index.js.map +0 -1
  172. package/dist/createSvgIcon-dA_Vj2W0.js +0 -3914
  173. package/dist/createSvgIcon-dA_Vj2W0.js.map +0 -1
  174. package/dist/exhaustiveValues-Dx50G3yz.js +0 -5
  175. package/dist/exhaustiveValues-Dx50G3yz.js.map +0 -1
  176. package/dist/filter/index.js.map +0 -1
  177. package/dist/formData-BH8saYep.js +0 -65
  178. package/dist/formData-BH8saYep.js.map +0 -1
  179. package/dist/jsx-runtime-D858t2LC.js +0 -617
  180. package/dist/jsx-runtime-D858t2LC.js.map +0 -1
  181. package/dist/jwt-tokens/index.js.map +0 -1
  182. package/dist/loader-CrveWlGb.js +0 -375
  183. package/dist/loader-CrveWlGb.js.map +0 -1
  184. package/dist/loader-D-oC32OJ.js +0 -3612
  185. package/dist/loader-D-oC32OJ.js.map +0 -1
  186. package/dist/loader-rVy8Z9xH.js +0 -130
  187. package/dist/loader-rVy8Z9xH.js.map +0 -1
  188. package/dist/main/index.js.map +0 -1
  189. package/dist/message-log/index.js.map +0 -1
  190. package/dist/message-sending/index.js.map +0 -1
  191. package/dist/message-targets/index.js.map +0 -1
  192. package/dist/pagination-Dy4ansKN.js +0 -21
  193. package/dist/pagination-Dy4ansKN.js.map +0 -1
  194. package/dist/scheduled-tasks/index.js.map +0 -1
  195. package/dist/schemas-CBHIJ_eF.js +0 -3059
  196. package/dist/schemas-CBHIJ_eF.js.map +0 -1
  197. package/dist/table/index.js.map +0 -1
  198. package/dist/triggerables/index.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import { n as e, t } from "./Table-IciQttr3.js";
2
+ import { n, t as r } from "./pagination-C4QUYRMf.js";
3
+ import { useLoaderData as i, useNavigate as a, useSearchParams as o } from "react-router";
4
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
5
+ import { Box as u, Button as d, Paper as f, Table as p, TableBody as m, TableCell as h, TableContainer as g, TableRow as _, Typography as v } from "@mui/material";
6
+ //#region src/routes/control-values/controlValueColumns.tsx
7
+ var y = [
8
+ {
9
+ key: "id",
10
+ title: "ID",
11
+ minWidth: 100
12
+ },
13
+ {
14
+ key: "key",
15
+ title: "Key",
16
+ minWidth: 240
17
+ },
18
+ {
19
+ key: "value",
20
+ title: "Value",
21
+ minWidth: 360
22
+ }
23
+ ], b = () => {
24
+ let r = a(), [u, d] = o(), f = i();
25
+ return /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(g, {
26
+ sx: { height: "calc(100vh - 130px)" },
27
+ children: /* @__PURE__ */ c(t, {
28
+ columns: y,
29
+ rows: f.content,
30
+ getRowId: (e) => String(e.id),
31
+ onRowClick: (e) => {
32
+ e.id !== void 0 && r(`./${e.id}`, { relative: "path" });
33
+ },
34
+ defaultFilter: {}
35
+ })
36
+ }), /* @__PURE__ */ c(e, {
37
+ page: f.number ?? 0,
38
+ rowsPerPage: f.size ?? 100,
39
+ total: f.totalElements ?? 0,
40
+ onPageChange: (e) => {
41
+ d(n(u, e));
42
+ }
43
+ })] });
44
+ }, x = () => {
45
+ let e = i(), t = a();
46
+ return /* @__PURE__ */ l(u, {
47
+ component: "section",
48
+ sx: {
49
+ p: 2,
50
+ maxWidth: 900
51
+ },
52
+ children: [
53
+ /* @__PURE__ */ c(d, {
54
+ variant: "outlined",
55
+ onClick: () => t(-1),
56
+ children: "Back"
57
+ }),
58
+ /* @__PURE__ */ c(v, {
59
+ variant: "h4",
60
+ component: "h1",
61
+ sx: {
62
+ mt: 2,
63
+ mb: 2
64
+ },
65
+ children: "Control value"
66
+ }),
67
+ /* @__PURE__ */ c(g, {
68
+ component: f,
69
+ children: /* @__PURE__ */ c(p, {
70
+ size: "small",
71
+ children: /* @__PURE__ */ l(m, { children: [
72
+ /* @__PURE__ */ l(_, { children: [/* @__PURE__ */ c(h, {
73
+ component: "th",
74
+ scope: "row",
75
+ sx: { width: 180 },
76
+ children: "ID"
77
+ }), /* @__PURE__ */ c(h, { children: e.id ?? "" })] }),
78
+ /* @__PURE__ */ l(_, { children: [/* @__PURE__ */ c(h, {
79
+ component: "th",
80
+ scope: "row",
81
+ children: "Key"
82
+ }), /* @__PURE__ */ c(h, { children: e.key ?? "" })] }),
83
+ /* @__PURE__ */ l(_, { children: [/* @__PURE__ */ c(h, {
84
+ component: "th",
85
+ scope: "row",
86
+ children: "Value"
87
+ }), /* @__PURE__ */ c(h, { children: /* @__PURE__ */ c(u, {
88
+ component: "pre",
89
+ sx: {
90
+ m: 0,
91
+ whiteSpace: "pre-wrap",
92
+ wordBreak: "break-word"
93
+ },
94
+ children: e.value ?? ""
95
+ }) })] })
96
+ ] })
97
+ })
98
+ })
99
+ ]
100
+ });
101
+ }, S = async (e, t) => {
102
+ let n = await t.GET("/controlValue", { params: { query: {
103
+ page: e.page,
104
+ size: e.size,
105
+ sort: e.sort
106
+ } } });
107
+ if ("error" in n) throw Error(`Failed to fetch control values: ${n.response.status}`);
108
+ return {
109
+ ...n.data,
110
+ content: n.data.content ?? []
111
+ };
112
+ }, C = async (e, t) => {
113
+ let n = await t.GET("/controlValue/{id}", { params: { path: { id: e } } });
114
+ if ("error" in n) throw Error(`Failed to fetch control value: ${n.response.status}`);
115
+ return n.data;
116
+ }, w = (e) => {
117
+ let t = r(e), n = e.getAll("sort");
118
+ return n.length && (t.sort = n), t;
119
+ }, T = (e) => async ({ request: t }) => {
120
+ try {
121
+ return await S(w(new URL(t.url).searchParams), e);
122
+ } catch (e) {
123
+ throw console.error(e), Error("Failed to fetch control values");
124
+ }
125
+ }, E = (e) => async ({ params: t }) => {
126
+ try {
127
+ if (!t.id) throw new Response("", {
128
+ status: 404,
129
+ statusText: "Not found"
130
+ });
131
+ let n = parseInt(t.id, 10);
132
+ if (isNaN(n)) throw new Response("", {
133
+ status: 404,
134
+ statusText: "Not found"
135
+ });
136
+ return await C(n, e);
137
+ } catch (e) {
138
+ throw console.error(e), e;
139
+ }
140
+ };
141
+ //#endregion
142
+ export { x as a, S as i, E as n, b as o, C as r, T as t };
143
+
144
+ //# sourceMappingURL=control-values-CzQOB4WJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-values-CzQOB4WJ.js","names":[],"sources":["../src/routes/control-values/controlValueColumns.tsx","../src/routes/control-values/ControlValuesRoute.tsx","../src/routes/control-values/SingleControlValueRoute.tsx","../src/routes/control-values/api.ts","../src/routes/control-values/loader.ts"],"sourcesContent":["import type { ColumnDefinitions } from \"../../components/table/types\";\nimport type { ControlValue } from \"./api\";\n\nexport type ControlValueFilter = Partial<Record<keyof ControlValue, string>>;\n\nexport const controlValueColumns: ColumnDefinitions<ControlValue, ControlValueFilter> = [\n {\n key: \"id\",\n title: \"ID\",\n minWidth: 100,\n },\n {\n key: \"key\",\n title: \"Key\",\n minWidth: 240,\n },\n {\n key: \"value\",\n title: \"Value\",\n minWidth: 360,\n },\n];\n","import { TableContainer } from \"@mui/material\";\nimport { useLoaderData, useNavigate, useSearchParams } from \"react-router\";\nimport { getSearchParamsWithPage } from \"../../common/pagination\";\nimport { Pagination } from \"../../components/table/Pagination\";\nimport { Table } from \"../../components/table/Table\";\nimport { controlValueColumns } from \"./controlValueColumns\";\nimport type { ControlValuesLoader } from \"./loader\";\n\nconst ControlValuesRoute = () => {\n const navigate = useNavigate();\n const [searchParams, setSearchParams] = useSearchParams();\n const controlValuesPage = useLoaderData<ControlValuesLoader>();\n\n return (\n <>\n <TableContainer sx={{ height: \"calc(100vh - 130px)\" }}>\n <Table\n columns={controlValueColumns}\n rows={controlValuesPage.content}\n getRowId={(row) => String(row.id)}\n onRowClick={(row) => {\n if (row.id !== undefined) {\n navigate(`./${row.id}`, { relative: \"path\" });\n }\n }}\n defaultFilter={{}}\n />\n </TableContainer>\n <Pagination\n page={controlValuesPage.number ?? 0}\n rowsPerPage={controlValuesPage.size ?? 100}\n total={controlValuesPage.totalElements ?? 0}\n onPageChange={(page) => {\n setSearchParams(getSearchParamsWithPage(searchParams, page));\n }}\n />\n </>\n );\n};\n\nexport default ControlValuesRoute;\n","import {\n Box,\n Button,\n Paper,\n Table as MuiTable,\n TableBody,\n TableCell,\n TableContainer,\n TableRow,\n Typography,\n} from \"@mui/material\";\nimport { useLoaderData, useNavigate } from \"react-router\";\nimport type { SingleControlValueLoader } from \"./loader\";\n\nconst SingleControlValueRoute = () => {\n const controlValue = useLoaderData<SingleControlValueLoader>();\n const navigate = useNavigate();\n\n return (\n <Box component=\"section\" sx={{ p: 2, maxWidth: 900 }}>\n <Button variant=\"outlined\" onClick={() => navigate(-1)}>\n Back\n </Button>\n <Typography variant=\"h4\" component=\"h1\" sx={{ mt: 2, mb: 2 }}>\n Control value\n </Typography>\n <TableContainer component={Paper}>\n <MuiTable size=\"small\">\n <TableBody>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\" sx={{ width: 180 }}>\n ID\n </TableCell>\n <TableCell>{controlValue.id ?? \"\"}</TableCell>\n </TableRow>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\">\n Key\n </TableCell>\n <TableCell>{controlValue.key ?? \"\"}</TableCell>\n </TableRow>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\">\n Value\n </TableCell>\n <TableCell>\n <Box component=\"pre\" sx={{ m: 0, whiteSpace: \"pre-wrap\", wordBreak: \"break-word\" }}>\n {controlValue.value ?? \"\"}\n </Box>\n </TableCell>\n </TableRow>\n </TableBody>\n </MuiTable>\n </TableContainer>\n </Box>\n );\n};\n\nexport default SingleControlValueRoute;\n","import type { ApiClient } from \"../../client\";\nimport type { components, paths } from \"../../types/openapiTypes\";\n\ntype ControlValueListQuery = paths[\"/controlValue\"][\"get\"][\"parameters\"][\"query\"];\n\nexport type ControlValue = components[\"schemas\"][\"ControlValue\"];\nexport type ControlValuePageFilter = Pick<ControlValueListQuery, \"page\" | \"size\" | \"sort\">;\n\nexport const fetchControlValues = async (filter: ControlValuePageFilter, client: ApiClient) => {\n const result = await client.GET(\"/controlValue\", {\n params: {\n query: {\n page: filter.page,\n size: filter.size,\n sort: filter.sort,\n },\n },\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to fetch control values: ${result.response.status}`);\n }\n\n return {\n ...result.data,\n content: result.data.content ?? [],\n };\n};\n\nexport const fetchControlValueById = async (id: number, client: ApiClient) => {\n const result = await client.GET(\"/controlValue/{id}\", {\n params: {\n path: { id },\n },\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to fetch control value: ${result.response.status}`);\n }\n\n return result.data;\n};\n","import type { LoaderFunctionArgs } from \"react-router\";\nimport type { ApiClient } from \"../../client\";\nimport { getPagingValuesFromSearchParams } from \"../../common/pagination\";\nimport type { ControlValuePageFilter } from \"./api\";\nimport { fetchControlValueById, fetchControlValues } from \"./api\";\n\nexport const getControlValuePageFilterFromSearchParams = (\n searchParams: URLSearchParams,\n): ControlValuePageFilter => {\n const filter: ControlValuePageFilter = getPagingValuesFromSearchParams(searchParams);\n\n const sort = searchParams.getAll(\"sort\");\n if (sort.length) {\n filter.sort = sort;\n }\n\n return filter;\n};\n\nexport const getControlValuesLoader =\n (client: ApiClient) =>\n async ({ request }: LoaderFunctionArgs) => {\n try {\n const requestUrl = new URL(request.url);\n const filter = getControlValuePageFilterFromSearchParams(requestUrl.searchParams);\n\n return await fetchControlValues(filter, client);\n } catch (error) {\n console.error(error);\n throw new Error(\"Failed to fetch control values\");\n }\n };\n\nexport type ControlValuesLoader = ReturnType<typeof getControlValuesLoader>;\n\nexport const getSingleControlValueLoader =\n (client: ApiClient) =>\n async ({ params }: LoaderFunctionArgs) => {\n try {\n if (!params.id) {\n throw new Response(\"\", {\n status: 404,\n statusText: \"Not found\",\n });\n }\n\n const id = parseInt(params.id, 10);\n\n if (isNaN(id)) {\n throw new Response(\"\", {\n status: 404,\n statusText: \"Not found\",\n });\n }\n\n return await fetchControlValueById(id, client);\n } catch (error) {\n console.error(error);\n throw error;\n }\n };\n\nexport type SingleControlValueLoader = ReturnType<typeof getSingleControlValueLoader>;\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ //#region src/common/exhaustiveValues.ts
2
+ var e = () => (e) => e;
3
+ //#endregion
4
+ export { e as t };
5
+
6
+ //# sourceMappingURL=exhaustiveValues-BYWkg9M1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exhaustiveValues-BYWkg9M1.js","names":[],"sources":["../src/common/exhaustiveValues.ts"],"sourcesContent":["type MissingValues<T extends string, Values extends readonly T[]> =\n Exclude<T, Values[number]> extends never\n ? unknown\n : { readonly missingValues: Exclude<T, Values[number]> };\n\nexport const exhaustiveStringValues =\n <T extends string>() =>\n <const Values extends readonly [T, ...T[]]>(values: Values & MissingValues<T, Values>): Values =>\n values;\n"],"mappings":";AAKA,IAAa,WAEiC,MAC1C"}
@@ -1,10 +1,4 @@
1
- import { E as t } from "../EnumSelectFilter-BdGla5Yf.js";
2
- import { F as o, T as F } from "../TextFilter-BHWY2B7i.js";
3
- import { F as s } from "../FilterLink-DIeFjfZX.js";
4
- export {
5
- t as EnumSelectFilter,
6
- o as FilterHelperTexts,
7
- s as FilterLink,
8
- F as TextFilter
9
- };
10
- //# sourceMappingURL=index.js.map
1
+ import { n as e, t } from "../TextFilter-CLOKjiSd.js";
2
+ import { t as n } from "../EnumSelectFilter-DDWIjz5i.js";
3
+ import { t as r } from "../FilterLink-OxQDWR5G.js";
4
+ export { n as EnumSelectFilter, e as FilterHelperTexts, r as FilterLink, t as TextFilter };
@@ -0,0 +1,43 @@
1
+ import { a as e, n as t, o as n } from "./schemas-D-8_LuND.js";
2
+ //#region src/common/formData.ts
3
+ var r = (e) => ({
4
+ ok: !0,
5
+ value: e
6
+ }), i = (e) => ({
7
+ ok: !1,
8
+ message: e
9
+ }), a = (t) => e().trim().min(1, { message: `${t} is required` }), o = e().optional().default(""), s = (t) => e().trim().regex(/^-?\d+$/, { message: `${t} must be an integer` }).transform((e) => Number.parseInt(e, 10)), c = (t) => e().trim().refine((e) => e === "" || /^-?\d+$/.test(e), { message: `${t} must be an integer` }).transform((e) => e === "" ? void 0 : Number.parseInt(e, 10)), l = (e, n) => t((e) => typeof e == "string" && n.some((t) => t === e), { message: `${e} must be one of the listed options` }), u = (t) => e().transform((e, r) => {
10
+ if (!e.trim()) return {};
11
+ try {
12
+ let i = JSON.parse(e);
13
+ return !i || typeof i != "object" || Array.isArray(i) ? (r.addIssue({
14
+ code: "custom",
15
+ message: `${t} must be a JSON object`
16
+ }), n) : Object.fromEntries(Object.entries(i).map(([e, t]) => [e, String(t)]));
17
+ } catch {
18
+ return r.addIssue({
19
+ code: "custom",
20
+ message: `${t} must be valid JSON`
21
+ }), n;
22
+ }
23
+ }), d = (e, t) => {
24
+ let n = e.get(t);
25
+ return typeof n == "string" ? n : "";
26
+ }, f = (e) => Object.fromEntries(Array.from(e.entries()).flatMap(([e, t]) => typeof t == "string" ? [[e, t]] : [])), p = (e, t, n) => {
27
+ let a = t.safeParse(f(e));
28
+ return a.success ? r(a.data) : i(a.error.issues[0]?.message ?? n);
29
+ }, m = (e, t) => d(e, t).trim(), h = (e, t, n) => {
30
+ let a = m(e, t);
31
+ if (!a) return r(void 0);
32
+ let o = s(n).safeParse(a);
33
+ return o.success ? r(o.data) : i(`${n} must be an integer`);
34
+ }, g = (e, t, n) => {
35
+ let a = m(e, t);
36
+ if (!a) return i(`${n} is required`);
37
+ let o = s(n).safeParse(a);
38
+ return o.success ? r(o.data) : i(`${n} must be an integer`);
39
+ };
40
+ //#endregion
41
+ export { s as a, p as c, d as i, a as l, h as n, c as o, g as r, o as s, l as t, u };
42
+
43
+ //# sourceMappingURL=formData-BO275hRZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formData-BO275hRZ.js","names":[],"sources":["../src/common/formData.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport type FormDataParseResult<T> =\n | {\n ok: true;\n value: T;\n }\n | {\n ok: false;\n message: string;\n };\n\nexport const formDataParseSuccess = <T>(value: T): FormDataParseResult<T> => ({\n ok: true,\n value,\n});\n\nexport const formDataParseError = <T>(message: string): FormDataParseResult<T> => ({\n ok: false,\n message,\n});\n\nexport const requiredStringFormSchema = (label: string) =>\n z\n .string()\n .trim()\n .min(1, { message: `${label} is required` });\n\nexport const optionalStringFormSchema = z.string().optional().default(\"\");\n\nexport const integerFormSchema = (label: string) =>\n z\n .string()\n .trim()\n .regex(/^-?\\d+$/, { message: `${label} must be an integer` })\n .transform((value) => Number.parseInt(value, 10));\n\nexport const optionalIntegerFormSchema = (label: string) =>\n z\n .string()\n .trim()\n .refine((value) => value === \"\" || /^-?\\d+$/.test(value), {\n message: `${label} must be an integer`,\n })\n .transform((value) => (value === \"\" ? undefined : Number.parseInt(value, 10)));\n\nexport const enumFormSchema = <T extends string>(\n label: string,\n values: readonly T[],\n): z.ZodType<T> =>\n z.custom<T>(\n (candidate): candidate is T =>\n typeof candidate === \"string\" && values.some((enumValue) => enumValue === candidate),\n { message: `${label} must be one of the listed options` },\n );\n\nexport const stringRecordJsonFormSchema = (label: string) =>\n z.string().transform((value, context): Record<string, string> => {\n if (!value.trim()) {\n return {};\n }\n\n try {\n const parsed: unknown = JSON.parse(value);\n\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n context.addIssue({\n code: \"custom\",\n message: `${label} must be a JSON object`,\n });\n return z.NEVER;\n }\n\n return Object.fromEntries(\n Object.entries(parsed).map(([key, propertyValue]) => [key, String(propertyValue)]),\n );\n } catch {\n context.addIssue({\n code: \"custom\",\n message: `${label} must be valid JSON`,\n });\n return z.NEVER;\n }\n });\n\nexport const getStringFormValue = (formData: FormData, name: string): string => {\n const value = formData.get(name);\n return typeof value === \"string\" ? value : \"\";\n};\n\nconst getFormDataStringRecord = (formData: FormData): Record<string, string> =>\n Object.fromEntries(\n Array.from(formData.entries()).flatMap(([key, value]) =>\n typeof value === \"string\" ? [[key, value]] : [],\n ),\n );\n\nexport const parseFormDataWithSchema = <T>(\n formData: FormData,\n schema: z.ZodType<T>,\n defaultMessage: string,\n): FormDataParseResult<T> => {\n const result = schema.safeParse(getFormDataStringRecord(formData));\n\n return result.success\n ? formDataParseSuccess(result.data)\n : formDataParseError(result.error.issues[0]?.message ?? defaultMessage);\n};\n\nconst getTrimmedStringFormValue = (formData: FormData, name: string): string =>\n getStringFormValue(formData, name).trim();\n\nexport const getOptionalIntFormValue = (\n formData: FormData,\n name: string,\n label: string,\n): FormDataParseResult<number | undefined> => {\n const value = getTrimmedStringFormValue(formData, name);\n\n if (!value) {\n return formDataParseSuccess(undefined);\n }\n\n const result = integerFormSchema(label).safeParse(value);\n\n if (!result.success) {\n return formDataParseError(`${label} must be an integer`);\n }\n\n return formDataParseSuccess(result.data);\n};\n\nexport const getRequiredIntFormValue = (\n formData: FormData,\n name: string,\n label: string,\n): FormDataParseResult<number> => {\n const value = getTrimmedStringFormValue(formData, name);\n\n if (!value) {\n return formDataParseError(`${label} is required`);\n }\n\n const result = integerFormSchema(label).safeParse(value);\n\n if (!result.success) {\n return formDataParseError(`${label} must be an integer`);\n }\n\n return formDataParseSuccess(result.data);\n};\n"],"mappings":";;AAYA,IAAa,KAA2B,OAAsC;CAC5E,IAAI;CACJ;AACF,IAEa,KAAyB,OAA6C;CACjF,IAAI;CACJ;AACF,IAEa,KAA4B,MACvC,EACU,EACP,KAAK,EACL,IAAI,GAAG,EAAE,SAAS,GAAG,EAAM,cAAc,CAAC,GAElC,IAA2B,EAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAE3D,KAAqB,MAChC,EACU,EACP,KAAK,EACL,MAAM,WAAW,EAAE,SAAS,GAAG,EAAM,qBAAqB,CAAC,EAC3D,WAAW,MAAU,OAAO,SAAS,GAAO,EAAE,CAAC,GAEvC,KAA6B,MACxC,EACU,EACP,KAAK,EACL,QAAQ,MAAU,MAAU,MAAM,UAAU,KAAK,CAAK,GAAG,EACxD,SAAS,GAAG,EAAM,qBACpB,CAAC,EACA,WAAW,MAAW,MAAU,KAAK,KAAA,IAAY,OAAO,SAAS,GAAO,EAAE,CAAE,GAEpE,KACX,GACA,MAEA,GACG,MACC,OAAO,KAAc,YAAY,EAAO,MAAM,MAAc,MAAc,CAAS,GACrF,EAAE,SAAS,GAAG,EAAM,oCAAoC,CAC1D,GAEW,KAA8B,MACzC,EAAS,EAAE,WAAW,GAAO,MAAoC;CAC/D,IAAI,CAAC,EAAM,KAAK,GACd,OAAO,CAAC;CAGV,IAAI;EACF,IAAM,IAAkB,KAAK,MAAM,CAAK;EAUxC,OARI,CAAC,KAAU,OAAO,KAAW,YAAY,MAAM,QAAQ,CAAM,KAC/D,EAAQ,SAAS;GACf,MAAM;GACN,SAAS,GAAG,EAAM;EACpB,CAAC,GACM,KAGF,OAAO,YACZ,OAAO,QAAQ,CAAM,EAAE,KAAK,CAAC,GAAK,OAAmB,CAAC,GAAK,OAAO,CAAa,CAAC,CAAC,CACnF;CACF,QAAQ;EAKN,OAJA,EAAQ,SAAS;GACf,MAAM;GACN,SAAS,GAAG,EAAM;EACpB,CAAC,GACM;CACT;AACF,CAAC,GAEU,KAAsB,GAAoB,MAAyB;CAC9E,IAAM,IAAQ,EAAS,IAAI,CAAI;CAC/B,OAAO,OAAO,KAAU,WAAW,IAAQ;AAC7C,GAEM,KAA2B,MAC/B,OAAO,YACL,MAAM,KAAK,EAAS,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAK,OAC5C,OAAO,KAAU,WAAW,CAAC,CAAC,GAAK,CAAK,CAAC,IAAI,CAAC,CAChD,CACF,GAEW,KACX,GACA,GACA,MAC2B;CAC3B,IAAM,IAAS,EAAO,UAAU,EAAwB,CAAQ,CAAC;CAEjE,OAAO,EAAO,UACV,EAAqB,EAAO,IAAI,IAChC,EAAmB,EAAO,MAAM,OAAO,IAAI,WAAW,CAAc;AAC1E,GAEM,KAA6B,GAAoB,MACrD,EAAmB,GAAU,CAAI,EAAE,KAAK,GAE7B,KACX,GACA,GACA,MAC4C;CAC5C,IAAM,IAAQ,EAA0B,GAAU,CAAI;CAEtD,IAAI,CAAC,GACH,OAAO,EAAqB,KAAA,CAAS;CAGvC,IAAM,IAAS,EAAkB,CAAK,EAAE,UAAU,CAAK;CAMvD,OAJK,EAAO,UAIL,EAAqB,EAAO,IAAI,IAH9B,EAAmB,GAAG,EAAM,oBAAoB;AAI3D,GAEa,KACX,GACA,GACA,MACgC;CAChC,IAAM,IAAQ,EAA0B,GAAU,CAAI;CAEtD,IAAI,CAAC,GACH,OAAO,EAAmB,GAAG,EAAM,aAAa;CAGlD,IAAM,IAAS,EAAkB,CAAK,EAAE,UAAU,CAAK;CAMvD,OAJK,EAAO,UAIL,EAAqB,EAAO,IAAI,IAH9B,EAAmB,GAAG,EAAM,oBAAoB;AAI3D"}
@@ -1,9 +1,2 @@
1
- import { J as t, d as o, f as a, g as J, s as k } from "../JwtTokensRoute-C74zNV7A.js";
2
- export {
3
- t as JwtTokensRoute,
4
- o as deleteJwtToken,
5
- a as fetchJwtTokens,
6
- J as getJwtTokensLoader,
7
- k as saveJwtToken
8
- };
9
- //# sourceMappingURL=index.js.map
1
+ import { a as e, i as t, n, r, t as i } from "../jwt-tokens-DnKsHei4.js";
2
+ export { i as JwtTokensRoute, r as deleteJwtToken, t as fetchJwtTokens, n as getJwtTokensLoader, e as saveJwtToken };
@@ -0,0 +1,71 @@
1
+ import { n as e, t } from "./pagination-C4QUYRMf.js";
2
+ import { useLoaderData as n, useNavigation as r, useRevalidator as i, useSearchParams as a } from "react-router";
3
+ import { jsx as o } from "react/jsx-runtime";
4
+ import { useState as s } from "react";
5
+ import { JwtComponent as c } from "@evolver-fi/evolver-basics/jwt";
6
+ //#region src/routes/jwt-tokens/api.ts
7
+ var l = async (e, t) => {
8
+ let n = await t.GET("/jwt", { params: { query: {
9
+ page: e.page,
10
+ size: e.size
11
+ } } });
12
+ if ("error" in n) throw Error(`Failed to fetch JWT tokens: ${n.response.status}`);
13
+ return {
14
+ ...n.data,
15
+ content: n.data.content ?? []
16
+ };
17
+ }, u = async (e, t) => {
18
+ let { error: n, response: r } = await t.POST("/jwt", { body: e });
19
+ if (n) throw Error(`Failed to save JWT token: ${r.status}`);
20
+ }, d = async (e, t) => {
21
+ let { error: n, response: r } = await t.POST("/jwt/{id}/delete", { params: { path: { id: e } } });
22
+ if (n) throw Error(`Failed to delete JWT token: ${r.status}`);
23
+ }, f = (e) => async ({ request: n }) => {
24
+ try {
25
+ return await l(t(new URL(n.url).searchParams), e);
26
+ } catch (e) {
27
+ throw console.error(e), Error("Failed to fetch");
28
+ }
29
+ }, p = ({ client: t }) => {
30
+ let [l, f] = s(void 0), [p, m] = s("uninitialized"), [h, g] = s("uninitialized"), [_, v] = a(), y = r(), b = i(), x = n();
31
+ if (!x) return "Loading...";
32
+ let { content: S, number: C, totalPages: w } = x, T = async (e) => {
33
+ try {
34
+ m("loading"), await d(e, t), m("success");
35
+ } catch {
36
+ m("error");
37
+ }
38
+ b.revalidate();
39
+ }, E = async (e) => {
40
+ try {
41
+ g("loading"), await u(e, t), g("success");
42
+ } catch {
43
+ g("error");
44
+ }
45
+ b.revalidate();
46
+ }, D = (t) => {
47
+ v(e(_, t));
48
+ }, O = (e, t) => {
49
+ f(e ? t : void 0), m("uninitialized"), g("uninitialized");
50
+ }, k = {
51
+ onTokenDelete: T,
52
+ onTokenSave: E,
53
+ deleteStatus: p,
54
+ saveStatus: h
55
+ };
56
+ return /* @__PURE__ */ o(c, {
57
+ tokens: S ?? [],
58
+ isLoading: y.state !== "idle",
59
+ isError: !1,
60
+ openTokenId: l,
61
+ tokenOperations: k,
62
+ page: C,
63
+ totalNumberOfPages: w,
64
+ onPageChange: D,
65
+ onExpandedChange: O
66
+ });
67
+ };
68
+ //#endregion
69
+ export { u as a, l as i, f as n, d as r, p as t };
70
+
71
+ //# sourceMappingURL=jwt-tokens-DnKsHei4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-tokens-DnKsHei4.js","names":[],"sources":["../src/routes/jwt-tokens/api.ts","../src/routes/jwt-tokens/loader.ts","../src/routes/jwt-tokens/JwtTokensRoute.tsx"],"sourcesContent":["import type { ApiClient } from \"../../client\";\nimport type { paths } from \"../../types/openapiTypes\";\n\ntype JwtListQuery = NonNullable<paths[\"/jwt\"][\"get\"]>[\"parameters\"][\"query\"];\ntype JwtTokenRequest = NonNullable<\n paths[\"/jwt\"][\"post\"]\n>[\"requestBody\"][\"content\"][\"application/json\"];\n\nexport type JwtTokensPageFilter = Pick<JwtListQuery, \"page\" | \"size\">;\n\nexport const fetchJwtTokens = async (filter: JwtTokensPageFilter, client: ApiClient) => {\n const result = await client.GET(\"/jwt\", {\n params: {\n query: {\n page: filter.page,\n size: filter.size,\n },\n },\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to fetch JWT tokens: ${result.response.status}`);\n }\n\n return {\n ...result.data,\n content: result.data.content ?? [],\n };\n};\n\nexport const saveJwtToken = async (token: JwtTokenRequest, client: ApiClient): Promise<void> => {\n const { error, response } = await client.POST(\"/jwt\", {\n body: token,\n });\n\n if (error) {\n throw new Error(`Failed to save JWT token: ${response.status}`);\n }\n};\n\nexport const deleteJwtToken = async (tokenId: number, client: ApiClient): Promise<void> => {\n const { error, response } = await client.POST(\"/jwt/{id}/delete\", {\n params: {\n path: { id: tokenId },\n },\n });\n\n if (error) {\n throw new Error(`Failed to delete JWT token: ${response.status}`);\n }\n};\n","import type { LoaderFunctionArgs } from \"react-router\";\nimport { fetchJwtTokens } from \"./api\";\nimport type { ApiClient } from \"../../client\";\nimport { getPagingValuesFromSearchParams } from \"../../common/pagination\";\n\nexport const getJwtTokensLoader =\n (client: ApiClient) =>\n async ({ request }: LoaderFunctionArgs) => {\n try {\n const requestUrl = new URL(request.url);\n const filter = getPagingValuesFromSearchParams(requestUrl.searchParams);\n\n return await fetchJwtTokens(filter, client);\n } catch (error) {\n console.error(error);\n throw new Error(\"Failed to fetch\");\n }\n };\n","import type {\n JwtToken,\n JwtTokenResponse,\n TokenOperations,\n TokenOperationState,\n} from \"@evolver-fi/evolver-basics/jwt\";\nimport { JwtComponent } from \"@evolver-fi/evolver-basics/jwt\";\nimport { useState } from \"react\";\nimport { deleteJwtToken, saveJwtToken } from \"./api\";\nimport type { ApiClient } from \"../../client\";\nimport { useLoaderData, useNavigation, useRevalidator, useSearchParams } from \"react-router\";\nimport { getSearchParamsWithPage } from \"../../common/pagination\";\n\ntype JwtTokensRouteProps = {\n client: ApiClient;\n};\n\nconst JwtTokensRoute = ({ client }: JwtTokensRouteProps) => {\n const [openTokenId, setOpenTokenId] = useState<number | \"new\" | undefined>(undefined);\n const [deleteStatus, setDeleteStatus] = useState<TokenOperationState>(\"uninitialized\");\n const [saveStatus, setSaveStatus] = useState<TokenOperationState>(\"uninitialized\");\n\n const [searchParams, setSearchParams] = useSearchParams();\n const navigation = useNavigation();\n const revalidator = useRevalidator();\n const jwtData = useLoaderData() as JwtTokenResponse; // TODO: cast to <typeof [loader]> later\n\n if (!jwtData) return \"Loading...\";\n\n const { content, number, totalPages } = jwtData;\n\n const handleTokenDelete = async (tokenId: number) => {\n try {\n setDeleteStatus(\"loading\");\n await deleteJwtToken(tokenId, client);\n setDeleteStatus(\"success\");\n } catch {\n setDeleteStatus(\"error\");\n }\n\n revalidator.revalidate();\n };\n\n const handleTokenSave = async (token: JwtToken) => {\n try {\n setSaveStatus(\"loading\");\n await saveJwtToken(token, client);\n setSaveStatus(\"success\");\n } catch {\n setSaveStatus(\"error\");\n }\n revalidator.revalidate();\n };\n\n const handlePageChange = (value: number) => {\n setSearchParams(getSearchParamsWithPage(searchParams, value));\n };\n\n const handleTokenExpandedChange = (isExpanded: boolean, tokenId: number | \"new\" | undefined) => {\n if (isExpanded) {\n setOpenTokenId(tokenId);\n } else {\n setOpenTokenId(undefined);\n }\n\n setDeleteStatus(\"uninitialized\");\n setSaveStatus(\"uninitialized\");\n };\n\n // TODO: right now the status states are shared between all tokens. Differentiate between them or reset when changing token\n const tokenOperations: TokenOperations = {\n onTokenDelete: handleTokenDelete,\n onTokenSave: handleTokenSave,\n deleteStatus: deleteStatus,\n saveStatus: saveStatus,\n };\n\n return (\n <JwtComponent\n tokens={content ?? []}\n isLoading={navigation.state !== \"idle\"}\n isError={false}\n openTokenId={openTokenId}\n tokenOperations={tokenOperations}\n page={number}\n totalNumberOfPages={totalPages}\n onPageChange={handlePageChange}\n onExpandedChange={handleTokenExpandedChange}\n />\n );\n};\n\nexport default JwtTokensRoute;\n"],"mappings":";;;;;;AAUA,IAAa,IAAiB,OAAO,GAA6B,MAAsB;CACtF,IAAM,IAAS,MAAM,EAAO,IAAI,QAAQ,EACtC,QAAQ,EACN,OAAO;EACL,MAAM,EAAO;EACb,MAAM,EAAO;CACf,EACF,EACF,CAAC;CAED,IAAI,WAAW,GACb,MAAU,MAAM,+BAA+B,EAAO,SAAS,QAAQ;CAGzE,OAAO;EACL,GAAG,EAAO;EACV,SAAS,EAAO,KAAK,WAAW,CAAC;CACnC;AACF,GAEa,IAAe,OAAO,GAAwB,MAAqC;CAC9F,IAAM,EAAE,UAAO,gBAAa,MAAM,EAAO,KAAK,QAAQ,EACpD,MAAM,EACR,CAAC;CAED,IAAI,GACF,MAAU,MAAM,6BAA6B,EAAS,QAAQ;AAElE,GAEa,IAAiB,OAAO,GAAiB,MAAqC;CACzF,IAAM,EAAE,UAAO,gBAAa,MAAM,EAAO,KAAK,oBAAoB,EAChE,QAAQ,EACN,MAAM,EAAE,IAAI,EAAQ,EACtB,EACF,CAAC;CAED,IAAI,GACF,MAAU,MAAM,+BAA+B,EAAS,QAAQ;AAEpE,GC7Ca,KACV,MACD,OAAO,EAAE,iBAAkC;CACzC,IAAI;EAIF,OAAO,MAAM,EAFE,EAAgC,IADxB,IAAI,EAAQ,GACY,EAAW,YAE9B,GAAQ,CAAM;CAC5C,SAAS,GAAO;EAEd,MADA,QAAQ,MAAM,CAAK,GACT,MAAM,iBAAiB;CACnC;AACF,GCAI,KAAkB,EAAE,gBAAkC;CAC1D,IAAM,CAAC,GAAa,KAAkB,EAAqC,KAAA,CAAS,GAC9E,CAAC,GAAc,KAAmB,EAA8B,eAAe,GAC/E,CAAC,GAAY,KAAiB,EAA8B,eAAe,GAE3E,CAAC,GAAc,KAAmB,EAAgB,GAClD,IAAa,EAAc,GAC3B,IAAc,EAAe,GAC7B,IAAU,EAAc;CAE9B,IAAI,CAAC,GAAS,OAAO;CAErB,IAAM,EAAE,YAAS,WAAQ,kBAAe,GAElC,IAAoB,OAAO,MAAoB;EACnD,IAAI;GAGF,AAFA,EAAgB,SAAS,GACzB,MAAM,EAAe,GAAS,CAAM,GACpC,EAAgB,SAAS;EAC3B,QAAQ;GACN,EAAgB,OAAO;EACzB;EAEA,EAAY,WAAW;CACzB,GAEM,IAAkB,OAAO,MAAoB;EACjD,IAAI;GAGF,AAFA,EAAc,SAAS,GACvB,MAAM,EAAa,GAAO,CAAM,GAChC,EAAc,SAAS;EACzB,QAAQ;GACN,EAAc,OAAO;EACvB;EACA,EAAY,WAAW;CACzB,GAEM,KAAoB,MAAkB;EAC1C,EAAgB,EAAwB,GAAc,CAAK,CAAC;CAC9D,GAEM,KAA6B,GAAqB,MAAwC;EAQ9F,AANE,EADE,IACa,IAEA,KAAA,CAAS,GAG1B,EAAgB,eAAe,GAC/B,EAAc,eAAe;CAC/B,GAGM,IAAmC;EACvC,eAAe;EACf,aAAa;EACC;EACF;CACd;CAEA,OACE,kBAAC,GAAD;EACE,QAAQ,KAAW,CAAC;EACpB,WAAW,EAAW,UAAU;EAChC,SAAS;EACI;EACI;EACjB,MAAM;EACN,oBAAoB;EACpB,cAAc;EACd,kBAAkB;CACnB,CAAA;AAEL"}
@@ -1,87 +1,17 @@
1
- import { B as s } from "../BreadCrumbs-DMuPCevY.js";
2
- import { E as o } from "../EnumSelectFilter-BdGla5Yf.js";
3
- import { F as r, T as d } from "../TextFilter-BHWY2B7i.js";
4
- import { F as u } from "../FilterLink-DIeFjfZX.js";
5
- import { P as n, T as f } from "../Table-DWiRP1za.js";
6
- import { C as c, a as h, d as M, f as S, b as L, g as m, c as k, e as C, s as p } from "../loader-D-oC32OJ.js";
7
- import { C as V, S as R, f as b, a as F, g as B, b as y } from "../loader-rVy8Z9xH.js";
8
- import { J as w, d as A, f as J, g as v, s as E } from "../JwtTokensRoute-C74zNV7A.js";
9
- import { M as H, S as U, d as j, f as q, a as z, g as D, b as G, c as K } from "../SingleLogMessageRoute-Dl2NFfqG.js";
10
- import { M as O, a as Q, c as W, d as X, f as Y, b as Z, g as _, e as $, h as ee, i as ae, u as se } from "../loader-CrveWlGb.js";
11
- import { M as oe, S as ge, f as re, a as de, g as le, b as ue } from "../SingleMessageRoute-fC94BR1C.js";
12
- import { S as ne, a as fe, d as Te, f as ce, b as he, g as Me, c as Se, e as Le, h as me, r as ke, s as Ce, u as pe } from "../ScheduledTasksRoute-BAetDHqN.js";
13
- import { T as Ve, g as Re, a as be } from "../TriggerablesRoute-DiEEX1cR.js";
14
- import { f as Be, a as ye, t as Ie } from "../api-BD_4zyJw.js";
15
- export {
16
- s as BreadCrumbs,
17
- c as ConfigurationValueFormRoute,
18
- h as ConfigurationValuesRoute,
19
- V as ControlValuesRoute,
20
- o as EnumSelectFilter,
21
- r as FilterHelperTexts,
22
- u as FilterLink,
23
- w as JwtTokensRoute,
24
- H as MessageLogListRoute,
25
- oe as MessageSendingRoute,
26
- O as MessageTargetFormRoute,
27
- Q as MessageTargetsRoute,
28
- n as Pagination,
29
- ne as ScheduledTaskFormRoute,
30
- fe as ScheduledTasksRoute,
31
- R as SingleControlValueRoute,
32
- U as SingleMessageLogRoute,
33
- ge as SingleMessageRoute,
34
- f as Table,
35
- d as TextFilter,
36
- Ve as TriggerablesRoute,
37
- W as createMessageTarget,
38
- M as deleteConfigurationValue,
39
- A as deleteJwtToken,
40
- X as deleteMessageTarget,
41
- Te as deleteScheduledTask,
42
- j as downloadLogBody,
43
- Be as fetchActiveTaskStatuses,
44
- S as fetchConfigurationValueById,
45
- L as fetchConfigurationValues,
46
- b as fetchControlValueById,
47
- F as fetchControlValues,
48
- J as fetchJwtTokens,
49
- re as fetchMessageById,
50
- q as fetchMessageLogById,
51
- z as fetchMessageLogs,
52
- Y as fetchMessageTargetById,
53
- Z as fetchMessageTargets,
54
- de as fetchMessages,
55
- ce as fetchScheduledTaskById,
56
- he as fetchScheduledTasks,
57
- ye as fetchTriggerables,
58
- m as getConfigurationValueAction,
59
- k as getConfigurationValueFormLoader,
60
- C as getConfigurationValuesLoader,
61
- B as getControlValuesLoader,
62
- _ as getInitialMessageTarget,
63
- v as getJwtTokensLoader,
64
- D as getLogBodyUrl,
65
- le as getMessageListLoader,
66
- G as getMessageLogLoader,
67
- $ as getMessageTargetAction,
68
- ee as getMessageTargetFormLoader,
69
- ae as getMessageTargetsLoader,
70
- Me as getScheduledTaskFormAction,
71
- Se as getScheduledTasksAction,
72
- Le as getScheduledTasksLoader,
73
- y as getSingleControlValueLoader,
74
- K as getSingleLogMessageLoader,
75
- ue as getSingleMessageLoader,
76
- me as getSingleTaskLoader,
77
- Re as getTriggerablesAction,
78
- be as getTriggerablesLoader,
79
- ke as runScheduledTask,
80
- p as saveConfigurationValue,
81
- E as saveJwtToken,
82
- Ce as saveScheduledTask,
83
- Ie as triggerTriggerable,
84
- se as updateMessageTarget,
85
- pe as updateScheduledTaskState
86
- };
87
- //# sourceMappingURL=index.js.map
1
+ import { t as e } from "../breadcrumbs-BAwnKRxL.js";
2
+ import { n as t, t as n } from "../TextFilter-CLOKjiSd.js";
3
+ import { t as r } from "../EnumSelectFilter-DDWIjz5i.js";
4
+ import { t as i } from "../FilterLink-OxQDWR5G.js";
5
+ import "../filter/index.js";
6
+ import { n as a, t as o } from "../Table-IciQttr3.js";
7
+ import "../table/index.js";
8
+ import { a as s, c, i as l, l as u, n as d, o as f, r as p, s as m, t as h } from "../configuration-values-CjOfmPRq.js";
9
+ import { a as g, i as _, n as v, o as y, r as b, t as x } from "../control-values-CzQOB4WJ.js";
10
+ import { a as S, i as C, n as w, r as T, t as E } from "../jwt-tokens-DnKsHei4.js";
11
+ import { a as D, c as O, i as k, n as A, o as j, r as M, s as N, t as P } from "../message-log-BdrJtbsP.js";
12
+ import { a as F, c as I, d as L, i as R, l as z, n as B, o as V, r as H, s as U, t as W, u as G } from "../message-targets-8EppIJde.js";
13
+ import { a as K, i as q, n as J, o as Y, r as X, t as Z } from "../message-sending-dvTw2fFm.js";
14
+ import { a as Q, c as $, d as ee, f as te, i as ne, l as re, n as ie, o as ae, r as oe, s as se, t as ce, u as le } from "../scheduled-tasks-BtBnBrE7.js";
15
+ import { n as ue, r as de, t as fe } from "../api-CMiZYkfc.js";
16
+ import { n as pe, r as me, t as he } from "../triggerables-DgrIeQMi.js";
17
+ export { e as BreadCrumbs, u as ConfigurationValueFormRoute, c as ConfigurationValuesRoute, y as ControlValuesRoute, r as EnumSelectFilter, t as FilterHelperTexts, i as FilterLink, E as JwtTokensRoute, A as MessageLogListRoute, J as MessageSendingRoute, V as MessageTargetFormRoute, F as MessageTargetsRoute, a as Pagination, ie as ScheduledTaskFormRoute, ce as ScheduledTasksRoute, g as SingleControlValueRoute, P as SingleMessageLogRoute, Z as SingleMessageRoute, o as Table, n as TextFilter, he as TriggerablesRoute, U as createMessageTarget, l as deleteConfigurationValue, T as deleteJwtToken, I as deleteMessageTarget, se as deleteScheduledTask, D as downloadLogBody, fe as fetchActiveTaskStatuses, s as fetchConfigurationValueById, f as fetchConfigurationValues, b as fetchControlValueById, _ as fetchControlValues, C as fetchJwtTokens, K as fetchMessageById, j as fetchMessageLogById, N as fetchMessageLogs, z as fetchMessageTargetById, G as fetchMessageTargets, Y as fetchMessages, $ as fetchScheduledTaskById, re as fetchScheduledTasks, ue as fetchTriggerables, p as getConfigurationValueAction, h as getConfigurationValueFormLoader, d as getConfigurationValuesLoader, x as getControlValuesLoader, W as getInitialMessageTarget, w as getJwtTokensLoader, O as getLogBodyUrl, X as getMessageListLoader, M as getMessageLogLoader, R as getMessageTargetAction, B as getMessageTargetFormLoader, H as getMessageTargetsLoader, Q as getScheduledTaskFormAction, ae as getScheduledTasksAction, oe as getScheduledTasksLoader, v as getSingleControlValueLoader, k as getSingleLogMessageLoader, q as getSingleMessageLoader, ne as getSingleTaskLoader, me as getTriggerablesAction, pe as getTriggerablesLoader, le as runScheduledTask, m as saveConfigurationValue, S as saveJwtToken, ee as saveScheduledTask, de as triggerTriggerable, L as updateMessageTarget, te as updateScheduledTaskState };
@@ -1,12 +1,2 @@
1
- import { M as g, S as a, d as o, f as L, a as t, g as d, b as M, c as r } from "../SingleLogMessageRoute-Dl2NFfqG.js";
2
- export {
3
- g as MessageLogListRoute,
4
- a as SingleMessageLogRoute,
5
- o as downloadLogBody,
6
- L as fetchMessageLogById,
7
- t as fetchMessageLogs,
8
- d as getLogBodyUrl,
9
- M as getMessageLogLoader,
10
- r as getSingleLogMessageLoader
11
- };
12
- //# sourceMappingURL=index.js.map
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../message-log-BdrJtbsP.js";
2
+ export { r as MessageLogListRoute, s as SingleMessageLogRoute, e as downloadLogBody, i as fetchMessageLogById, o as fetchMessageLogs, t as getLogBodyUrl, a as getMessageLogLoader, n as getSingleLogMessageLoader };