@evolver-fi/evolver-basics-admin-components 0.0.21 → 8.2.2-alpha.2
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.
- package/dist/EnumSelectFilter-DDWIjz5i.js +35 -0
- package/dist/EnumSelectFilter-DDWIjz5i.js.map +1 -0
- package/dist/FilterLink-OxQDWR5G.js +29 -0
- package/dist/FilterLink-OxQDWR5G.js.map +1 -0
- package/dist/Table-IciQttr3.js +79 -0
- package/dist/Table-IciQttr3.js.map +1 -0
- package/dist/TableMetadataDisplay-BM61EulC.js +49 -0
- package/dist/TableMetadataDisplay-BM61EulC.js.map +1 -0
- package/dist/TextFilter-CLOKjiSd.js +54 -0
- package/dist/TextFilter-CLOKjiSd.js.map +1 -0
- package/dist/api-CMiZYkfc.js +32 -0
- package/dist/api-CMiZYkfc.js.map +1 -0
- package/dist/breadcrumbs/index.js +2 -5
- package/dist/breadcrumbs-BAwnKRxL.js +32 -0
- package/dist/breadcrumbs-BAwnKRxL.js.map +1 -0
- package/dist/breadcrumbs.css +1 -0
- package/dist/client/index.js +341 -0
- package/dist/client/index.js.map +1 -0
- package/dist/configuration-values/index.js +2 -0
- package/dist/configuration-values-CjOfmPRq.js +3464 -0
- package/dist/configuration-values-CjOfmPRq.js.map +1 -0
- package/dist/control-values/index.js +2 -0
- package/dist/control-values-CzQOB4WJ.js +144 -0
- package/dist/control-values-CzQOB4WJ.js.map +1 -0
- package/dist/exhaustiveValues-BYWkg9M1.js +6 -0
- package/dist/exhaustiveValues-BYWkg9M1.js.map +1 -0
- package/dist/filter/index.js +4 -11
- package/dist/formData-BO275hRZ.js +43 -0
- package/dist/formData-BO275hRZ.js.map +1 -0
- package/dist/jwt-tokens/index.js +2 -7
- package/dist/jwt-tokens-DnKsHei4.js +71 -0
- package/dist/jwt-tokens-DnKsHei4.js.map +1 -0
- package/dist/main/index.js +17 -51
- package/dist/message-log/index.js +2 -10
- package/dist/message-log-BdrJtbsP.js +337 -0
- package/dist/message-log-BdrJtbsP.js.map +1 -0
- package/dist/message-sending/index.js +2 -10
- package/dist/message-sending-dvTw2fFm.js +181 -0
- package/dist/message-sending-dvTw2fFm.js.map +1 -0
- package/dist/message-targets/index.js +2 -0
- package/dist/message-targets-8EppIJde.js +406 -0
- package/dist/message-targets-8EppIJde.js.map +1 -0
- package/dist/pagination-C4QUYRMf.js +20 -0
- package/dist/pagination-C4QUYRMf.js.map +1 -0
- package/dist/scheduled-tasks/index.js +2 -14
- package/dist/scheduled-tasks-BtBnBrE7.js +647 -0
- package/dist/scheduled-tasks-BtBnBrE7.js.map +1 -0
- package/dist/schemas-D-8_LuND.js +2986 -0
- package/dist/schemas-D-8_LuND.js.map +1 -0
- package/dist/table/index.js +2 -6
- package/dist/triggerables/index.js +3 -9
- package/dist/triggerables-DgrIeQMi.js +51 -0
- package/dist/triggerables-DgrIeQMi.js.map +1 -0
- package/dist/types/breadcrumbs.d.ts +1 -1
- package/dist/types/client/index.d.ts +5 -0
- package/dist/types/client.d.ts +2 -0
- package/dist/types/common/exhaustiveValues.d.ts +5 -0
- package/dist/types/common/formData.d.ts +20 -0
- package/dist/types/common/pagination.d.ts +8 -0
- package/dist/types/{admin-components/src/components → components}/breadcrumbs/BreadCrumbs.d.ts +1 -1
- package/dist/types/{admin-components/src/components → components}/filter/EnumSelectFilter.d.ts +0 -4
- package/dist/types/{admin-components/src/components → components}/filter/FilterHelperTexts.d.ts +1 -1
- package/dist/types/{admin-components/src/components → components}/filter/FilterLink.d.ts +1 -1
- package/dist/types/{admin-components/src/components → components}/filter/TextFilter.d.ts +1 -1
- package/dist/types/components/filter/createEnumSelectFilter.d.ts +5 -0
- package/dist/types/components/metadata/TableMetadataDisplay.d.ts +2 -0
- package/dist/types/{admin-components/src/components → components}/table/Pagination.d.ts +1 -1
- package/dist/types/{admin-components/src/components → components}/table/Table.d.ts +1 -1
- package/dist/types/configuration-values.d.ts +2 -0
- package/dist/types/control-values.d.ts +2 -0
- package/dist/types/filter.d.ts +1 -1
- package/dist/types/{admin-components/src/index.d.ts → index.d.ts} +3 -0
- package/dist/types/jwt-tokens.d.ts +1 -1
- package/dist/types/main.d.ts +1 -1
- package/dist/types/message-log.d.ts +1 -1
- package/dist/types/message-sending.d.ts +1 -1
- package/dist/types/message-targets.d.ts +2 -0
- package/dist/types/routes/configuration-values/ConfigurationValueFormRoute.d.ts +2 -0
- package/dist/types/routes/configuration-values/ConfigurationValuesRoute.d.ts +2 -0
- package/dist/types/routes/configuration-values/action.d.ts +8 -0
- package/dist/types/routes/configuration-values/api.d.ts +53 -0
- package/dist/types/routes/configuration-values/configurationValueColumns.d.ts +4 -0
- package/dist/types/routes/configuration-values/index.d.ts +5 -0
- package/dist/types/routes/configuration-values/loader.d.ts +52 -0
- package/dist/types/routes/control-values/ControlValuesRoute.d.ts +2 -0
- package/dist/types/routes/control-values/SingleControlValueRoute.d.ts +2 -0
- package/dist/types/routes/control-values/api.d.ts +43 -0
- package/dist/types/routes/control-values/controlValueColumns.d.ts +4 -0
- package/dist/types/routes/control-values/index.d.ts +4 -0
- package/dist/types/routes/control-values/loader.d.ts +43 -0
- package/dist/types/routes/jwt-tokens/JwtTokensRoute.d.ts +6 -0
- package/dist/types/routes/jwt-tokens/api.d.ts +41 -0
- package/dist/types/routes/jwt-tokens/index.d.ts +3 -0
- package/dist/types/routes/jwt-tokens/loader.d.ts +35 -0
- package/dist/types/routes/message-log/LogBodyLink.d.ts +6 -0
- package/dist/types/routes/message-log/MessageLogRoute.d.ts +2 -0
- package/dist/types/routes/message-log/SingleLogMessageRoute.d.ts +6 -0
- package/dist/types/routes/message-log/api.d.ts +88 -0
- package/dist/types/routes/message-log/index.d.ts +4 -0
- package/dist/types/routes/message-log/loader.d.ts +53 -0
- package/dist/types/routes/message-sending/MessageSendingRoute.d.ts +2 -0
- package/dist/types/routes/message-sending/SingleMessageRoute.d.ts +2 -0
- package/dist/types/routes/message-sending/api.d.ts +92 -0
- package/dist/types/routes/message-sending/index.d.ts +4 -0
- package/dist/types/routes/message-sending/loader.d.ts +34 -0
- package/dist/types/{admin-components/src/routes → routes}/message-sending/types.d.ts +4 -2
- package/dist/types/routes/message-targets/MessageTargetFormRoute.d.ts +2 -0
- package/dist/types/routes/message-targets/MessageTargetsRoute.d.ts +2 -0
- package/dist/types/routes/message-targets/action.d.ts +8 -0
- package/dist/types/routes/message-targets/api.d.ts +12 -0
- package/dist/types/routes/message-targets/index.d.ts +5 -0
- package/dist/types/routes/message-targets/loader.d.ts +15 -0
- package/dist/types/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +2 -0
- package/dist/types/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +2 -0
- package/dist/types/routes/scheduled-tasks/action.d.ts +21 -0
- package/dist/types/routes/scheduled-tasks/api.d.ts +75 -0
- package/dist/types/routes/scheduled-tasks/index.d.ts +5 -0
- package/dist/types/routes/scheduled-tasks/loader.d.ts +57 -0
- package/dist/types/routes/scheduled-tasks/parseScheduledTask.d.ts +15 -0
- package/dist/types/routes/triggerables/TriggerablesRoute.d.ts +2 -0
- package/dist/types/routes/triggerables/action.d.ts +6 -0
- package/dist/types/routes/triggerables/api.d.ts +33 -0
- package/dist/types/routes/triggerables/index.d.ts +4 -0
- package/dist/types/routes/triggerables/loader.d.ts +3 -0
- package/dist/types/scheduled-tasks.d.ts +1 -1
- package/dist/types/table.d.ts +1 -1
- package/dist/types/triggerables.d.ts +1 -1
- package/dist/types/types/openapiTypes.d.ts +3321 -0
- package/package.json +60 -29
- package/dist/BreadCrumbs-BzG2oi8Z.js +0 -19
- package/dist/BreadCrumbs-BzG2oi8Z.js.map +0 -1
- package/dist/BreadCrumbs.css +0 -1
- package/dist/ConfirmButton-jayUa8_J.js +0 -16
- package/dist/ConfirmButton-jayUa8_J.js.map +0 -1
- package/dist/EnumSelectFilter-DiJhYa2m.js +0 -40
- package/dist/EnumSelectFilter-DiJhYa2m.js.map +0 -1
- package/dist/ExpandMore-D6gf2UVG.js +0 -14
- package/dist/ExpandMore-D6gf2UVG.js.map +0 -1
- package/dist/FilterLink-CHw7-m82.js +0 -43
- package/dist/FilterLink-CHw7-m82.js.map +0 -1
- package/dist/JwtTokensRoute-B3SgLM0q.js +0 -2335
- package/dist/JwtTokensRoute-B3SgLM0q.js.map +0 -1
- package/dist/ScheduledTasksRoute-CNhOAAKd.js +0 -1152
- package/dist/ScheduledTasksRoute-CNhOAAKd.js.map +0 -1
- package/dist/SingleLogMessageRoute-BT4ghiqv.js +0 -305
- package/dist/SingleLogMessageRoute-BT4ghiqv.js.map +0 -1
- package/dist/SingleMessageRoute-DaaWvgfS.js +0 -293
- package/dist/SingleMessageRoute-DaaWvgfS.js.map +0 -1
- package/dist/Table-DgRqEB1x.js +0 -154
- package/dist/Table-DgRqEB1x.js.map +0 -1
- package/dist/TableMetadataDisplay-C7RP2ZrM.js +0 -122
- package/dist/TableMetadataDisplay-C7RP2ZrM.js.map +0 -1
- package/dist/TextFilter-BKUfkFQe.js +0 -70
- package/dist/TextFilter-BKUfkFQe.js.map +0 -1
- package/dist/TriggerablesRoute-opCAjNCv.js +0 -3556
- package/dist/TriggerablesRoute-opCAjNCv.js.map +0 -1
- package/dist/breadcrumbs/index.js.map +0 -1
- package/dist/createSvgIcon-Cf1cru4R.js +0 -3945
- package/dist/createSvgIcon-Cf1cru4R.js.map +0 -1
- package/dist/evolverClient-B_TZXnpV.js +0 -1602
- package/dist/evolverClient-B_TZXnpV.js.map +0 -1
- package/dist/filter/index.js.map +0 -1
- package/dist/jsx-runtime-B6kdoens.js +0 -635
- package/dist/jsx-runtime-B6kdoens.js.map +0 -1
- package/dist/jwt-tokens/index.js.map +0 -1
- package/dist/main/index.js.map +0 -1
- package/dist/message-log/index.js.map +0 -1
- package/dist/message-sending/index.js.map +0 -1
- package/dist/parser-Bj3mcA83.js +0 -6096
- package/dist/parser-Bj3mcA83.js.map +0 -1
- package/dist/scheduled-tasks/index.js.map +0 -1
- package/dist/table/index.js.map +0 -1
- package/dist/triggerables/index.js.map +0 -1
- package/dist/types/admin-components/src/components/metadata/TableMetadataDisplay.d.ts +0 -2
- package/dist/types/admin-components/src/routes/jwt-tokens/JwtTokensRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/jwt-tokens/index.d.ts +0 -2
- package/dist/types/admin-components/src/routes/jwt-tokens/loader.d.ts +0 -11
- package/dist/types/admin-components/src/routes/message-log/MessageLogRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/message-log/SingleLogMessageRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/message-log/index.d.ts +0 -3
- package/dist/types/admin-components/src/routes/message-log/loader.d.ts +0 -7
- package/dist/types/admin-components/src/routes/message-sending/MessageSendingRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/message-sending/SingleMessageRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/message-sending/index.d.ts +0 -3
- package/dist/types/admin-components/src/routes/message-sending/loader.d.ts +0 -6
- package/dist/types/admin-components/src/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/scheduled-tasks/action.d.ts +0 -20
- package/dist/types/admin-components/src/routes/scheduled-tasks/index.d.ts +0 -4
- package/dist/types/admin-components/src/routes/scheduled-tasks/loader.d.ts +0 -9
- package/dist/types/admin-components/src/routes/triggerables/TriggerablesRoute.d.ts +0 -2
- package/dist/types/admin-components/src/routes/triggerables/action.d.ts +0 -10
- package/dist/types/admin-components/src/routes/triggerables/index.d.ts +0 -3
- package/dist/types/admin-components/src/routes/triggerables/loader.d.ts +0 -9
- package/dist/types/admin-ui/src/front-page/FrontPage.d.ts +0 -2
- package/dist/validation-DStiilqx.js +0 -22
- package/dist/validation-DStiilqx.js.map +0 -1
- /package/dist/types/{admin-components/src/common → common}/format.d.ts +0 -0
- /package/dist/types/{admin-components/src/common → common}/types.d.ts +0 -0
- /package/dist/types/{admin-components/src/common → common}/validation.d.ts +0 -0
- /package/dist/types/{admin-components/src/components → components}/breadcrumbs/index.d.ts +0 -0
- /package/dist/types/{admin-components/src/components → components}/filter/index.d.ts +0 -0
- /package/dist/types/{admin-components/src/components → components}/filter/types.d.ts +0 -0
- /package/dist/types/{admin-components/src/components → components}/metadata/utils.d.ts +0 -0
- /package/dist/types/{admin-components/src/components → components}/table/index.d.ts +0 -0
- /package/dist/types/{admin-components/src/components → components}/table/types.d.ts +0 -0
- /package/dist/types/{admin-components/src/routes → routes}/message-log/messageLogColumns.d.ts +0 -0
- /package/dist/types/{admin-components/src/routes → routes}/message-log/types.d.ts +0 -0
- /package/dist/types/{admin-components/src/routes → routes}/message-sending/messageSendingColumns.d.ts +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { n as e } from "./TextFilter-CLOKjiSd.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
import { FormControl as r, MenuItem as i, Select as a } from "@mui/material";
|
|
4
|
+
import { useMemo as o, useState as s } from "react";
|
|
5
|
+
//#region src/components/filter/EnumSelectFilter.tsx
|
|
6
|
+
var c = ({ name: c, value: l, defaultValue: u, onChange: d, helperText: f, validator: p, enumValues: m }) => {
|
|
7
|
+
let h = o(() => [{
|
|
8
|
+
label: "Any",
|
|
9
|
+
value: ""
|
|
10
|
+
}, ...m], [m]), [g, _] = s(p?.(l ?? u ?? ""));
|
|
11
|
+
return /* @__PURE__ */ n(r, {
|
|
12
|
+
fullWidth: !0,
|
|
13
|
+
error: !!g,
|
|
14
|
+
children: [/* @__PURE__ */ t(a, {
|
|
15
|
+
size: "small",
|
|
16
|
+
name: c,
|
|
17
|
+
defaultValue: u,
|
|
18
|
+
value: l,
|
|
19
|
+
onChange: (e) => {
|
|
20
|
+
_(p?.(e.target.value)), d?.(e.target.value);
|
|
21
|
+
},
|
|
22
|
+
children: h.map(({ value: e, label: n }) => /* @__PURE__ */ t(i, {
|
|
23
|
+
value: e,
|
|
24
|
+
children: n
|
|
25
|
+
}, n))
|
|
26
|
+
}, u), /* @__PURE__ */ t(e, {
|
|
27
|
+
helperText: f,
|
|
28
|
+
error: g
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { c as t };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=EnumSelectFilter-DDWIjz5i.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumSelectFilter-DDWIjz5i.js","names":[],"sources":["../src/components/filter/EnumSelectFilter.tsx"],"sourcesContent":["import { FormControl, MenuItem, Select } from \"@mui/material\";\nimport { useMemo, useState } from \"react\";\nimport { FilterHelperTexts } from \"./FilterHelperTexts\";\nimport type { GenericFilterProps } from \"./types\";\n\nexport const EnumSelectFilter = ({\n name,\n value,\n defaultValue,\n onChange,\n helperText,\n validator,\n enumValues,\n}: GenericFilterProps<string> & {\n enumValues: { label: string; value: string }[];\n}): JSX.Element => {\n const selectValues = useMemo(() => [{ label: \"Any\", value: \"\" }, ...enumValues], [enumValues]);\n\n const [error, setError] = useState(validator?.(value ?? defaultValue ?? \"\"));\n\n return (\n <FormControl fullWidth error={!!error}>\n <Select\n size=\"small\"\n name={name}\n key={defaultValue}\n defaultValue={defaultValue}\n value={value}\n onChange={(ev) => {\n setError(validator?.(ev.target.value));\n onChange?.(ev.target.value);\n }}\n >\n {selectValues.map(({ value, label }) => (\n <MenuItem key={label} value={value}>\n {label}\n </MenuItem>\n ))}\n </Select>\n <FilterHelperTexts helperText={helperText} error={error} />\n </FormControl>\n );\n};\n"],"mappings":";;;;;AAKA,IAAa,KAAoB,EAC/B,SACA,UACA,iBACA,aACA,eACA,cACA,oBAGiB;CACjB,IAAM,IAAe,QAAc,CAAC;EAAE,OAAO;EAAO,OAAO;CAAG,GAAG,GAAG,CAAU,GAAG,CAAC,CAAU,CAAC,GAEvF,CAAC,GAAO,KAAY,EAAS,IAAY,KAAS,KAAgB,EAAE,CAAC;CAE3E,OACE,kBAAC,GAAD;EAAa,WAAA;EAAU,OAAO,CAAC,CAAC;YAAhC,CACE,kBAAC,GAAD;GACE,MAAK;GACC;GAEQ;GACP;GACP,WAAW,MAAO;IAEhB,AADA,EAAS,IAAY,EAAG,OAAO,KAAK,CAAC,GACrC,IAAW,EAAG,OAAO,KAAK;GAC5B;aAEC,EAAa,KAAK,EAAE,UAAO,eAC1B,kBAAC,GAAD;IAA6B;cAC1B;GACO,GAFK,CAEL,CACX;EACK,GAbD,CAaC,GACR,kBAAC,GAAD;GAA+B;GAAmB;EAAQ,CAAA,CAC/C;;AAEjB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Link as e, useSearchParams as t } from "react-router";
|
|
2
|
+
import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
3
|
+
import { IconButton as a } from "@mui/material";
|
|
4
|
+
import o from "@mui/icons-material/Search";
|
|
5
|
+
//#region src/components/filter/FilterLink.tsx
|
|
6
|
+
var s = ({ value: s, rowKey: c, searchKey: l }) => {
|
|
7
|
+
let [u] = t();
|
|
8
|
+
return s == null || s === "" ? /* @__PURE__ */ r(n, { children: s }) : /* @__PURE__ */ i(n, { children: [
|
|
9
|
+
s,
|
|
10
|
+
" ",
|
|
11
|
+
/* @__PURE__ */ r(a, {
|
|
12
|
+
component: e,
|
|
13
|
+
to: { search: `?${new URLSearchParams({
|
|
14
|
+
...Object.fromEntries(u),
|
|
15
|
+
[l ?? c]: String(s)
|
|
16
|
+
}).toString()}` },
|
|
17
|
+
onClick: (e) => e.stopPropagation(),
|
|
18
|
+
sx: {
|
|
19
|
+
p: 0,
|
|
20
|
+
ml: 1
|
|
21
|
+
},
|
|
22
|
+
children: /* @__PURE__ */ r(o, {})
|
|
23
|
+
})
|
|
24
|
+
] });
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { s as t };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=FilterLink-OxQDWR5G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterLink-OxQDWR5G.js","names":[],"sources":["../src/components/filter/FilterLink.tsx"],"sourcesContent":["import Search from \"@mui/icons-material/Search\";\nimport { IconButton } from \"@mui/material\";\nimport { Link, useSearchParams } from \"react-router\";\nimport type { GenericCellProps } from \"../table/types\";\n\nexport const FilterLink = ({\n value,\n rowKey,\n searchKey,\n}: GenericCellProps<string | number | undefined | null>) => {\n const [searchParams] = useSearchParams();\n\n if (value === null || value === undefined || value === \"\") {\n return <>{value}</>;\n }\n\n const newSearchParams = new URLSearchParams({\n ...Object.fromEntries(searchParams),\n [searchKey ?? rowKey]: String(value),\n });\n\n return (\n <>\n {value}{\" \"}\n <IconButton\n component={Link}\n to={{ search: `?${newSearchParams.toString()}` }}\n onClick={(e) => e.stopPropagation()}\n sx={{ p: 0, ml: 1 }}\n >\n <Search />\n </IconButton>\n </>\n );\n};\n"],"mappings":";;;;;AAKA,IAAa,KAAc,EACzB,UACA,WACA,mBAC0D;CAC1D,IAAM,CAAC,KAAgB,EAAgB;CAWvC,OATI,KAAU,QAA+B,MAAU,KAC9C,kBAAA,GAAA,EAAA,UAAG,EAAQ,CAAA,IASlB,kBAAA,GAAA,EAAA,UAAA;EACG;EAAO;EACR,kBAAC,GAAD;GACE,WAAW;GACX,IAAI,EAAE,QAAQ,IAAI,IAVI,gBAAgB;IAC1C,GAAG,OAAO,YAAY,CAAY;KACjC,KAAa,IAAS,OAAO,CAAK;GACrC,CAOwB,EAAgB,SAAS,IAAI;GAC/C,UAAU,MAAM,EAAE,gBAAgB;GAClC,IAAI;IAAE,GAAG;IAAG,IAAI;GAAE;aAElB,kBAAC,GAAD,CAAS,CAAA;EACC,CAAA;CACZ,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import { Table as n, TableBody as r, TableCell as i, TableHead as a, TablePagination as o, TableRow as s } from "@mui/material";
|
|
3
|
+
import { memo as c, useMemo as l } from "react";
|
|
4
|
+
//#region src/components/table/Pagination.tsx
|
|
5
|
+
var u = ({ page: t, rowsPerPage: n, total: r, onPageChange: i }) => /* @__PURE__ */ e(o, {
|
|
6
|
+
component: "div",
|
|
7
|
+
count: r,
|
|
8
|
+
page: t,
|
|
9
|
+
rowsPerPage: n,
|
|
10
|
+
onPageChange: (e, t) => i(t),
|
|
11
|
+
rowsPerPageOptions: [],
|
|
12
|
+
showFirstButton: !0,
|
|
13
|
+
showLastButton: !0
|
|
14
|
+
}), d = c(({ columns: n, filter: r, defaultFilter: o, onFilterChange: c }) => {
|
|
15
|
+
let u = l(() => n.some((e) => !!e.FilterComponent), [n]);
|
|
16
|
+
return /* @__PURE__ */ t(a, {
|
|
17
|
+
sx: {
|
|
18
|
+
position: "sticky",
|
|
19
|
+
top: 0,
|
|
20
|
+
zIndex: 3,
|
|
21
|
+
bgcolor: "background.paper",
|
|
22
|
+
borderBottom: "1px solid",
|
|
23
|
+
borderColor: "divider"
|
|
24
|
+
},
|
|
25
|
+
children: [/* @__PURE__ */ e(s, { children: n.map(({ key: t, title: n, minWidth: r }) => /* @__PURE__ */ e(i, {
|
|
26
|
+
sx: {
|
|
27
|
+
bgcolor: "primary.main",
|
|
28
|
+
color: "common.white",
|
|
29
|
+
minWidth: r
|
|
30
|
+
},
|
|
31
|
+
children: n
|
|
32
|
+
}, String(t))) }), u && /* @__PURE__ */ e(s, { children: n.map(({ key: t, searchKey: n, FilterComponent: a, filterHelperText: s, filterValidator: l }) => /* @__PURE__ */ e(i, {
|
|
33
|
+
sx: { verticalAlign: "top" },
|
|
34
|
+
children: a && /* @__PURE__ */ e(a, {
|
|
35
|
+
name: n ?? String(t),
|
|
36
|
+
value: r?.[t],
|
|
37
|
+
defaultValue: o?.[t],
|
|
38
|
+
filter: r ?? o,
|
|
39
|
+
helperText: s,
|
|
40
|
+
validator: l,
|
|
41
|
+
onChange: c ? (e, n) => c({
|
|
42
|
+
...r ?? o,
|
|
43
|
+
...n ?? {},
|
|
44
|
+
[t]: e
|
|
45
|
+
}) : void 0
|
|
46
|
+
}, o ? `${String(t)}-${o[t]}` : void 0)
|
|
47
|
+
}, `filter-${String(t)}`)) })]
|
|
48
|
+
});
|
|
49
|
+
}), f = c(({ rows: t, getRowId: n, onRowClick: a, columns: o }) => /* @__PURE__ */ e(r, {
|
|
50
|
+
sx: { " & .MuiTableRow-root:nth-of-type(odd)": { bgcolor: "grey.100" } },
|
|
51
|
+
children: t.map((t) => /* @__PURE__ */ e(s, {
|
|
52
|
+
hover: !0,
|
|
53
|
+
onClick: a ? () => a(t) : void 0,
|
|
54
|
+
sx: { cursor: a ? "pointer" : "default" },
|
|
55
|
+
children: o.map(({ CellComponent: n, key: r, searchKey: a }) => /* @__PURE__ */ e(i, { children: n ? /* @__PURE__ */ e(n, {
|
|
56
|
+
rowKey: r,
|
|
57
|
+
searchKey: a,
|
|
58
|
+
row: t,
|
|
59
|
+
value: t[r]
|
|
60
|
+
}) : String(t[r] ?? "") }, String(r)))
|
|
61
|
+
}, String(n(t))))
|
|
62
|
+
})), p = ({ columns: r, rows: i, filter: a, defaultFilter: o, onFilterChange: s, getRowId: c, onRowClick: l }) => /* @__PURE__ */ t(n, {
|
|
63
|
+
size: "small",
|
|
64
|
+
children: [/* @__PURE__ */ e(d, {
|
|
65
|
+
columns: r,
|
|
66
|
+
filter: a,
|
|
67
|
+
defaultFilter: o,
|
|
68
|
+
onFilterChange: s
|
|
69
|
+
}), /* @__PURE__ */ e(f, {
|
|
70
|
+
rows: i,
|
|
71
|
+
getRowId: c,
|
|
72
|
+
onRowClick: l,
|
|
73
|
+
columns: r
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
//#endregion
|
|
77
|
+
export { u as n, p as t };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=Table-IciQttr3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table-IciQttr3.js","names":[],"sources":["../src/components/table/Pagination.tsx","../src/components/table/Table.tsx"],"sourcesContent":["import { TablePagination } from \"@mui/material\";\n\nexport const Pagination = ({\n page,\n rowsPerPage,\n total,\n onPageChange,\n}: {\n /** zero-indexed page number */\n page: number;\n rowsPerPage: number;\n total: number;\n onPageChange: (page: number) => void;\n}) => {\n return (\n <TablePagination\n component=\"div\"\n count={total}\n page={page}\n rowsPerPage={rowsPerPage}\n onPageChange={(_, newPage) => onPageChange(newPage)}\n rowsPerPageOptions={[]}\n showFirstButton\n showLastButton\n />\n );\n};\n","import { Table as MuiTable, TableBody, TableCell, TableHead, TableRow } from \"@mui/material\";\nimport { memo, useMemo } from \"react\";\nimport type { Filter } from \"../filter/types\";\nimport type { TableProps } from \"./types\";\n\nconst Head_ = <T, F extends Filter<T>>({\n columns,\n filter,\n defaultFilter,\n onFilterChange,\n}: Pick<TableProps<T, F>, \"columns\" | \"filter\" | \"onFilterChange\" | \"defaultFilter\">) => {\n const hasFilters = useMemo(() => columns.some((col) => !!col.FilterComponent), [columns]);\n\n return (\n <TableHead\n sx={{\n position: \"sticky\",\n top: 0,\n zIndex: 3,\n bgcolor: \"background.paper\",\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <TableRow>\n {columns.map(({ key, title, minWidth }) => (\n <TableCell\n sx={{\n bgcolor: \"primary.main\",\n color: \"common.white\",\n minWidth,\n }}\n key={String(key)}\n >\n {title}\n </TableCell>\n ))}\n </TableRow>\n {hasFilters && (\n <TableRow>\n {columns.map(({ key, searchKey, FilterComponent, filterHelperText, filterValidator }) => (\n <TableCell key={`filter-${String(key)}`} sx={{ verticalAlign: \"top\" }}>\n {FilterComponent && (\n <FilterComponent\n key={defaultFilter ? `${String(key)}-${defaultFilter[key]}` : undefined}\n name={searchKey ?? String(key)}\n value={filter?.[key]}\n defaultValue={defaultFilter?.[key]}\n filter={(filter ?? defaultFilter)!}\n helperText={filterHelperText}\n validator={filterValidator}\n onChange={\n onFilterChange\n ? (value, newFilter) =>\n onFilterChange({\n ...(filter ?? defaultFilter),\n ...(newFilter ?? ({} as F)),\n [key]: value,\n })\n : undefined\n }\n />\n )}\n </TableCell>\n ))}\n </TableRow>\n )}\n </TableHead>\n );\n};\n\n// memo does not handle generic types properly\nconst Head = memo(Head_) as unknown as typeof Head_;\n\nconst Body_ = <T, F extends Filter<T>>({\n rows,\n getRowId,\n onRowClick,\n columns,\n}: Pick<TableProps<T, F>, \"rows\" | \"getRowId\" | \"onRowClick\" | \"columns\">) => (\n <TableBody\n sx={{\n \" & .MuiTableRow-root:nth-of-type(odd)\": {\n bgcolor: \"grey.100\",\n },\n }}\n >\n {rows.map((row) => (\n <TableRow\n key={String(getRowId(row))}\n hover\n onClick={onRowClick ? () => onRowClick(row) : undefined}\n sx={{ cursor: onRowClick ? \"pointer\" : \"default\" }}\n >\n {columns.map(({ CellComponent, key, searchKey }) => (\n <TableCell key={String(key)}>\n {CellComponent ? (\n <CellComponent rowKey={key} searchKey={searchKey} row={row} value={row[key]} />\n ) : (\n String(row[key] ?? \"\")\n )}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n);\n\n// memo does not handle generic types properly\nconst Body = memo(Body_) as unknown as typeof Body_;\n\nexport const Table = <T, F extends Filter<T>>({\n columns,\n rows,\n filter,\n defaultFilter,\n onFilterChange,\n getRowId,\n onRowClick,\n}: TableProps<T, F>) => {\n return (\n <MuiTable size=\"small\">\n <Head\n columns={columns}\n filter={filter}\n defaultFilter={defaultFilter}\n onFilterChange={onFilterChange}\n />\n <Body rows={rows} getRowId={getRowId} onRowClick={onRowClick} columns={columns} />\n </MuiTable>\n );\n};\n"],"mappings":";;;;AAEA,IAAa,KAAc,EACzB,SACA,gBACA,UACA,sBASE,kBAAC,GAAD;CACE,WAAU;CACV,OAAO;CACD;CACO;CACb,eAAe,GAAG,MAAY,EAAa,CAAO;CAClD,oBAAoB,CAAC;CACrB,iBAAA;CACA,gBAAA;AACD,CAAA,GCgDC,IAAO,GAnE0B,EACrC,YACA,WACA,kBACA,wBACuF;CACvF,IAAM,IAAa,QAAc,EAAQ,MAAM,MAAQ,CAAC,CAAC,EAAI,eAAe,GAAG,CAAC,CAAO,CAAC;CAExF,OACE,kBAAC,GAAD;EACE,IAAI;GACF,UAAU;GACV,KAAK;GACL,QAAQ;GACR,SAAS;GACT,cAAc;GACd,aAAa;EACf;YARF,CAUE,kBAAC,GAAD,EAAA,UACG,EAAQ,KAAK,EAAE,QAAK,UAAO,kBAC1B,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,OAAO;IACP;GACF;aAGC;EACQ,GAHJ,OAAO,CAAG,CAGN,CACZ,EACO,CAAA,GACT,KACC,kBAAC,GAAD,EAAA,UACG,EAAQ,KAAK,EAAE,QAAK,cAAW,oBAAiB,qBAAkB,yBACjE,kBAAC,GAAD;GAAyC,IAAI,EAAE,eAAe,MAAM;aACjE,KACC,kBAAC,GAAD;IAEE,MAAM,KAAa,OAAO,CAAG;IAC7B,OAAO,IAAS;IAChB,cAAc,IAAgB;IAC9B,QAAS,KAAU;IACnB,YAAY;IACZ,WAAW;IACX,UACE,KACK,GAAO,MACN,EAAe;KACb,GAAI,KAAU;KACd,GAAI,KAAc,CAAC;MAClB,IAAM;IACT,CAAC,IACH,KAAA;GAEP,GAjBM,IAAgB,GAAG,OAAO,CAAG,EAAE,GAAG,EAAc,OAAS,KAAA,CAiB/D;EAEM,GAtBK,UAAU,OAAO,CAAG,GAsBzB,CACZ,EACO,CAAA,CAEH;;AAEf,CAGuB,GAqCjB,IAAO,GAnC0B,EACrC,SACA,aACA,eACA,iBAEA,kBAAC,GAAD;CACE,IAAI,EACF,yCAAyC,EACvC,SAAS,WACX,EACF;WAEC,EAAK,KAAK,MACT,kBAAC,GAAD;EAEE,OAAA;EACA,SAAS,UAAmB,EAAW,CAAG,IAAI,KAAA;EAC9C,IAAI,EAAE,QAAQ,IAAa,YAAY,UAAU;YAEhD,EAAQ,KAAK,EAAE,kBAAe,QAAK,mBAClC,kBAAC,GAAD,EAAA,UACG,IACC,kBAAC,GAAD;GAAe,QAAQ;GAAgB;GAAgB;GAAK,OAAO,EAAI;EAAO,CAAA,IAE9E,OAAO,EAAI,MAAQ,EAAE,EAEd,GANK,OAAO,CAAG,CAMf,CACZ;CACO,GAdH,OAAO,EAAS,CAAG,CAAC,CAcjB,CACX;AACQ,CAAA,CAIU,GAEV,KAAiC,EAC5C,YACA,SACA,WACA,kBACA,mBACA,aACA,oBAGE,kBAAC,GAAD;CAAU,MAAK;WAAf,CACE,kBAAC,GAAD;EACW;EACD;EACO;EACC;CACjB,CAAA,GACD,kBAAC,GAAD;EAAY;EAAgB;EAAsB;EAAqB;CAAU,CAAA,CACzE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Fragment as e, jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { Box as r, IconButton as i, Stack as a } from "@mui/material";
|
|
3
|
+
import { useState as o } from "react";
|
|
4
|
+
import s from "@mui/icons-material/ExpandLess";
|
|
5
|
+
import c from "@mui/icons-material/ExpandMore";
|
|
6
|
+
//#region src/components/metadata/utils.ts
|
|
7
|
+
var l = (e) => {
|
|
8
|
+
if (!e || typeof e != "object" || !("metadata" in e)) return e;
|
|
9
|
+
let t = Array.isArray(e.metadata) && e.metadata.some((e) => "key" in e && e.key) ? Object.fromEntries(e.metadata.map(({ key: e, value: t }) => [e, t])) : e.metadata;
|
|
10
|
+
return {
|
|
11
|
+
...e,
|
|
12
|
+
metadata: t
|
|
13
|
+
};
|
|
14
|
+
}, u = (e) => e.slice(0, e.indexOf(".")).replace("T", " "), d = (e) => /^\d*$/.test(e) ? void 0 : "Value must be numeric!", f = (e) => /^[0-9]*\s*-{0,1}\s*[0-9]*$/.test(e) ? void 0 : "Value must be numeric or a range!", p = (e) => /^(\d{4}-\d{2}-\d{2}((\s|T)\d{2}:\d{2}:\d{2})?){0,1}\s*-{0,1}\s*(\d{4}-\d{2}-\d{2}((\s|T)\d{2}:\d{2}:\d{2})?){0,1}$/.test(e) ? void 0 : "Value must be a date(time) or range!", m = ({ value: l }) => {
|
|
15
|
+
let [u, d] = o(!1), f = (e) => {
|
|
16
|
+
e.preventDefault(), e.stopPropagation(), d((e) => !e);
|
|
17
|
+
}, p = Object.keys(l).length;
|
|
18
|
+
return /* @__PURE__ */ n(a, { children: [/* @__PURE__ */ n(a, {
|
|
19
|
+
direction: "row",
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
spacing: 1,
|
|
22
|
+
children: [/* @__PURE__ */ t(i, {
|
|
23
|
+
onClick: f,
|
|
24
|
+
sx: {
|
|
25
|
+
maxWidth: "max-content",
|
|
26
|
+
p: 0,
|
|
27
|
+
mr: 1
|
|
28
|
+
},
|
|
29
|
+
children: t(u ? s : c, {})
|
|
30
|
+
}), /* @__PURE__ */ n(r, { children: [
|
|
31
|
+
"(",
|
|
32
|
+
p,
|
|
33
|
+
")"
|
|
34
|
+
] })]
|
|
35
|
+
}), /* @__PURE__ */ t(a, {
|
|
36
|
+
whiteSpace: "pre-line",
|
|
37
|
+
mt: +!!u,
|
|
38
|
+
height: u ? "auto" : 0,
|
|
39
|
+
overflow: "hidden",
|
|
40
|
+
children: Object.entries(l).map(([i, a]) => /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ n(r, { children: [i, ":"] }), /* @__PURE__ */ t(r, {
|
|
41
|
+
ml: 1,
|
|
42
|
+
children: a
|
|
43
|
+
})] }, i))
|
|
44
|
+
})] });
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { u as a, d as i, p as n, l as o, f as r, m as t };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=TableMetadataDisplay-BM61EulC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableMetadataDisplay-BM61EulC.js","names":[],"sources":["../src/components/metadata/utils.ts","../src/common/format.ts","../src/common/validation.ts","../src/components/metadata/TableMetadataDisplay.tsx"],"sourcesContent":["export const mapMetadata = (message: unknown): unknown => {\n if (!message || typeof message !== \"object\" || !(\"metadata\" in message)) return message;\n\n const metadata =\n Array.isArray(message.metadata) && message.metadata.some((m) => \"key\" in m && m.key)\n ? Object.fromEntries(message.metadata.map(({ key, value }) => [key, value]))\n : message.metadata;\n\n return { ...message, metadata };\n};\n","export const formatDateTime = (value: string): string =>\n value.slice(0, value.indexOf(\".\")).replace(\"T\", \" \");\n","import type { ValidationError } from \"./types\";\n\nexport const numberValidator = (value: string): ValidationError =>\n !/^\\d*$/.test(value) ? \"Value must be numeric!\" : undefined;\n\nexport const booleanValidator = (value: string): ValidationError =>\n !/^(true|false)$/.test(value) ? \"Value must be true or false!\" : undefined;\n\nexport const numberRangeValidator = (value: string): ValidationError =>\n !/^[0-9]*\\s*-{0,1}\\s*[0-9]*$/.test(value) ? \"Value must be numeric or a range!\" : undefined;\n\nexport const datetimeRangeValidator = (value: string): ValidationError =>\n !/^(\\d{4}-\\d{2}-\\d{2}((\\s|T)\\d{2}:\\d{2}:\\d{2})?){0,1}\\s*-{0,1}\\s*(\\d{4}-\\d{2}-\\d{2}((\\s|T)\\d{2}:\\d{2}:\\d{2})?){0,1}$/.test(\n value,\n )\n ? \"Value must be a date(time) or range!\"\n : undefined;\n","import ExpandLess from \"@mui/icons-material/ExpandLess\";\nimport ExpandMore from \"@mui/icons-material/ExpandMore\";\nimport { Box, IconButton, Stack } from \"@mui/material\";\nimport { useState } from \"react\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport type { GenericCellProps } from \"../table/types\";\n\nexport const TableMetadataDisplay = ({ value }: GenericCellProps<Record<string, string>>) => {\n const [open, setOpen] = useState(false);\n const handleClick = (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setOpen((prev) => !prev);\n };\n\n const amount = Object.keys(value).length;\n\n return (\n <Stack>\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <IconButton onClick={handleClick} sx={{ maxWidth: \"max-content\", p: 0, mr: 1 }}>\n {open ? <ExpandLess /> : <ExpandMore />}\n </IconButton>\n <Box>({amount})</Box>\n </Stack>\n <Stack whiteSpace=\"pre-line\" mt={open ? 1 : 0} height={open ? \"auto\" : 0} overflow=\"hidden\">\n {Object.entries(value).map(([k, v]) => (\n <Fragment key={k}>\n <Box>{k}:</Box>\n <Box ml={1}>{v}</Box>\n </Fragment>\n ))}\n </Stack>\n </Stack>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAa,KAAe,MAA8B;CACxD,IAAI,CAAC,KAAW,OAAO,KAAY,YAAY,EAAE,cAAc,IAAU,OAAO;CAEhF,IAAM,IACJ,MAAM,QAAQ,EAAQ,QAAQ,KAAK,EAAQ,SAAS,MAAM,MAAM,SAAS,KAAK,EAAE,GAAG,IAC/E,OAAO,YAAY,EAAQ,SAAS,KAAK,EAAE,QAAK,eAAY,CAAC,GAAK,CAAK,CAAC,CAAC,IACzE,EAAQ;CAEd,OAAO;EAAE,GAAG;EAAS;CAAS;AAChC,GCTa,KAAkB,MAC7B,EAAM,MAAM,GAAG,EAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,KAAK,GAAG,GCCxC,KAAmB,MAC7B,QAAQ,KAAK,CAAK,IAA+B,KAAA,IAA3B,0BAKZ,KAAwB,MAClC,6BAA6B,KAAK,CAAK,IAA0C,KAAA,IAAtC,qCAEjC,KAA0B,MACpC,qHAAqH,KACpH,CACF,IAEI,KAAA,IADA,wCCRO,KAAwB,EAAE,eAAsD;CAC3F,IAAM,CAAC,GAAM,KAAW,EAAS,EAAK,GAChC,KAAe,MAA4B;EAG/C,AAFA,EAAM,eAAe,GACrB,EAAM,gBAAgB,GACtB,GAAS,MAAS,CAAC,CAAI;CACzB,GAEM,IAAS,OAAO,KAAK,CAAK,EAAE;CAElC,OACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EAAO,WAAU;EAAM,YAAW;EAAS,SAAS;YAApD,CACE,kBAAC,GAAD;GAAY,SAAS;GAAa,IAAI;IAAE,UAAU;IAAe,GAAG;IAAG,IAAI;GAAE;aACnE,EAAP,IAAQ,IAAiB,GAAlB,CAAa,CAAiB;EAC5B,CAAA,GACZ,kBAAC,GAAD,EAAA,UAAA;GAAK;GAAE;GAAO;EAAM,EAAA,CAAA,CACf;KACP,kBAAC,GAAD;EAAO,YAAW;EAAW,IAAI;EAAc,QAAQ,IAAO,SAAS;EAAG,UAAS;YAChF,OAAO,QAAQ,CAAK,EAAE,KAAK,CAAC,GAAG,OAC9B,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAA,CAAM,GAAE,GAAM,EAAA,CAAA,GACd,kBAAC,GAAD;GAAK,IAAI;aAAI;EAAO,CAAA,CACZ,EAAA,GAHK,CAGL,CACX;CACI,CAAA,CACF,EAAA,CAAA;AAEX"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Fragment as e, jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { FormControl as r, FormHelperText as i, IconButton as a, InputAdornment as o, OutlinedInput as s } from "@mui/material";
|
|
3
|
+
import { useRef as c, useState as l } from "react";
|
|
4
|
+
import u from "@mui/icons-material/Backspace";
|
|
5
|
+
//#region src/components/filter/FilterHelperTexts.tsx
|
|
6
|
+
var d = ({ helperText: r, error: a }) => /* @__PURE__ */ n(e, { children: [r && /* @__PURE__ */ t(i, {
|
|
7
|
+
sx: {
|
|
8
|
+
whiteSpace: "normal",
|
|
9
|
+
overflowWrap: "anywhere"
|
|
10
|
+
},
|
|
11
|
+
children: r
|
|
12
|
+
}), a && /* @__PURE__ */ t(i, {
|
|
13
|
+
sx: {
|
|
14
|
+
whiteSpace: "normal",
|
|
15
|
+
overflowWrap: "anywhere"
|
|
16
|
+
},
|
|
17
|
+
children: a
|
|
18
|
+
})] }), f = ({ name: e, value: i, defaultValue: f, onChange: p, helperText: m, validator: h }) => {
|
|
19
|
+
let g = c(null), [_, v] = l(i ?? f ?? ""), y = h?.(_);
|
|
20
|
+
return /* @__PURE__ */ n(r, {
|
|
21
|
+
size: "small",
|
|
22
|
+
error: !!y,
|
|
23
|
+
variant: "outlined",
|
|
24
|
+
fullWidth: !0,
|
|
25
|
+
children: [/* @__PURE__ */ t(s, {
|
|
26
|
+
name: e,
|
|
27
|
+
inputRef: g,
|
|
28
|
+
value: i,
|
|
29
|
+
defaultValue: f,
|
|
30
|
+
onChange: (e) => {
|
|
31
|
+
v(e.target.value), p?.(e.target.value);
|
|
32
|
+
},
|
|
33
|
+
endAdornment: /* @__PURE__ */ t(o, {
|
|
34
|
+
position: "end",
|
|
35
|
+
sx: { visibility: _ ? "visible" : "hidden" },
|
|
36
|
+
children: /* @__PURE__ */ t(a, {
|
|
37
|
+
size: "small",
|
|
38
|
+
type: "submit",
|
|
39
|
+
onClick: () => {
|
|
40
|
+
p?.(""), v(""), g.current && (g.current.value = "", g.current.dispatchEvent(new Event("input", { bubbles: !0 })));
|
|
41
|
+
},
|
|
42
|
+
children: /* @__PURE__ */ t(u, {})
|
|
43
|
+
})
|
|
44
|
+
})
|
|
45
|
+
}), /* @__PURE__ */ t(d, {
|
|
46
|
+
helperText: m,
|
|
47
|
+
error: y
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { d as n, f as t };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=TextFilter-CLOKjiSd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextFilter-CLOKjiSd.js","names":[],"sources":["../src/components/filter/FilterHelperTexts.tsx","../src/components/filter/TextFilter.tsx"],"sourcesContent":["import { FormHelperText } from \"@mui/material\";\n\nexport const FilterHelperTexts = ({\n helperText,\n error,\n}: {\n helperText?: React.ReactNode;\n error?: string;\n}) => (\n <>\n {helperText && (\n <FormHelperText sx={{ whiteSpace: \"normal\", overflowWrap: \"anywhere\" }}>\n {helperText}\n </FormHelperText>\n )}\n {error && (\n <FormHelperText sx={{ whiteSpace: \"normal\", overflowWrap: \"anywhere\" }}>\n {error}\n </FormHelperText>\n )}\n </>\n);\n","import Backspace from \"@mui/icons-material/Backspace\";\nimport { FormControl, IconButton, InputAdornment, OutlinedInput } from \"@mui/material\";\nimport { useRef, useState } from \"react\";\nimport { FilterHelperTexts } from \"./FilterHelperTexts\";\nimport type { GenericFilterProps } from \"./types\";\n\nexport const TextFilter = ({\n name,\n value,\n defaultValue,\n onChange,\n helperText,\n validator,\n}: GenericFilterProps<string>) => {\n const ref = useRef<HTMLInputElement>(null);\n\n const [localValue, setLocalValue] = useState(value ?? defaultValue ?? \"\");\n const error = validator?.(localValue);\n\n return (\n <FormControl size=\"small\" error={!!error} variant=\"outlined\" fullWidth>\n <OutlinedInput\n name={name}\n inputRef={ref}\n value={value}\n defaultValue={defaultValue}\n onChange={(e) => {\n setLocalValue(e.target.value);\n onChange?.(e.target.value);\n }}\n endAdornment={\n <InputAdornment position=\"end\" sx={{ visibility: localValue ? \"visible\" : \"hidden\" }}>\n <IconButton\n size=\"small\"\n type=\"submit\"\n onClick={() => {\n onChange?.(\"\");\n setLocalValue(\"\");\n if (ref.current) {\n ref.current.value = \"\";\n ref.current.dispatchEvent(new Event(\"input\", { bubbles: true }));\n }\n }}\n >\n <Backspace />\n </IconButton>\n </InputAdornment>\n }\n />\n <FilterHelperTexts helperText={helperText} error={error} />\n </FormControl>\n );\n};\n"],"mappings":";;;;;AAEA,IAAa,KAAqB,EAChC,eACA,eAKA,kBAAA,GAAA,EAAA,UAAA,CACG,KACC,kBAAC,GAAD;CAAgB,IAAI;EAAE,YAAY;EAAU,cAAc;CAAW;WAClE;AACa,CAAA,GAEjB,KACC,kBAAC,GAAD;CAAgB,IAAI;EAAE,YAAY;EAAU,cAAc;CAAW;WAClE;AACa,CAAA,CAElB,EAAA,CAAA,GCdS,KAAc,EACzB,SACA,UACA,iBACA,aACA,eACA,mBACgC;CAChC,IAAM,IAAM,EAAyB,IAAI,GAEnC,CAAC,GAAY,KAAiB,EAAS,KAAS,KAAgB,EAAE,GAClE,IAAQ,IAAY,CAAU;CAEpC,OACE,kBAAC,GAAD;EAAa,MAAK;EAAQ,OAAO,CAAC,CAAC;EAAO,SAAQ;EAAW,WAAA;YAA7D,CACE,kBAAC,GAAD;GACQ;GACN,UAAU;GACH;GACO;GACd,WAAW,MAAM;IAEf,AADA,EAAc,EAAE,OAAO,KAAK,GAC5B,IAAW,EAAE,OAAO,KAAK;GAC3B;GACA,cACE,kBAAC,GAAD;IAAgB,UAAS;IAAM,IAAI,EAAE,YAAY,IAAa,YAAY,SAAS;cACjF,kBAAC,GAAD;KACE,MAAK;KACL,MAAK;KACL,eAAe;MAGb,AAFA,IAAW,EAAE,GACb,EAAc,EAAE,GACZ,EAAI,YACN,EAAI,QAAQ,QAAQ,IACpB,EAAI,QAAQ,cAAc,IAAI,MAAM,SAAS,EAAE,SAAS,GAAK,CAAC,CAAC;KAEnE;eAEA,kBAAC,GAAD,CAAY,CAAA;IACF,CAAA;GACE,CAAA;EAEnB,CAAA,GACD,kBAAC,GAAD;GAA+B;GAAmB;EAAQ,CAAA,CAC/C;;AAEjB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/routes/triggerables/api.ts
|
|
2
|
+
var e = ({ parameters: e }) => {
|
|
3
|
+
let t = new URLSearchParams();
|
|
4
|
+
return Object.entries(e).forEach(([e, n]) => {
|
|
5
|
+
t.set(e, n);
|
|
6
|
+
}), t.toString();
|
|
7
|
+
}, t = async (e) => {
|
|
8
|
+
let { data: t, error: n, response: r } = await e.GET("/trigger");
|
|
9
|
+
if (n || !t) throw Error(`Failed to fetch triggerables: ${r.status}`);
|
|
10
|
+
return t;
|
|
11
|
+
}, n = async (e) => {
|
|
12
|
+
let { data: t, error: n } = await e.GET("/task/list/active");
|
|
13
|
+
if (n || !t) throw Error("Failed to fetch active task statuses");
|
|
14
|
+
return t;
|
|
15
|
+
}, r = async (t, n, r) => {
|
|
16
|
+
let { data: i, error: a, response: o } = await r.POST("/trigger/{name}/async", {
|
|
17
|
+
params: {
|
|
18
|
+
path: { name: t },
|
|
19
|
+
query: { parameters: n }
|
|
20
|
+
},
|
|
21
|
+
querySerializer: e
|
|
22
|
+
});
|
|
23
|
+
if (a || i === void 0) throw Error(`Failed to trigger triggerable: ${o.status}`);
|
|
24
|
+
return {
|
|
25
|
+
status: o.status,
|
|
26
|
+
data: i.toString()
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { t as n, r, n as t };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=api-CMiZYkfc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-CMiZYkfc.js","names":[],"sources":["../src/routes/triggerables/api.ts"],"sourcesContent":["import type { ApiClient } from \"../../client\";\nimport type { paths } from \"../../types/openapiTypes\";\n\ntype TriggerRequestParameters = paths[\"/trigger/{name}/async\"][\"post\"][\"parameters\"];\ntype TriggerParams = TriggerRequestParameters[\"query\"][\"parameters\"];\n\nconst serializeTriggerParameters = ({ parameters }: TriggerRequestParameters[\"query\"]): string => {\n const params = new URLSearchParams();\n\n Object.entries(parameters).forEach(([key, value]) => {\n params.set(key, value);\n });\n\n return params.toString();\n};\n\nexport const fetchTriggerables = async (client: ApiClient) => {\n const { data, error, response } = await client.GET(\"/trigger\");\n\n if (error || !data) {\n throw new Error(`Failed to fetch triggerables: ${response.status}`);\n }\n\n return data;\n};\n\nexport const fetchActiveTaskStatuses = async (client: ApiClient) => {\n const { data, error } = await client.GET(\"/task/list/active\");\n\n if (error || !data) {\n throw new Error(\"Failed to fetch active task statuses\");\n }\n\n return data;\n};\n\nexport const triggerTriggerable = async (\n triggerName: string,\n params: TriggerParams,\n client: ApiClient,\n) => {\n const { data, error, response } = await client.POST(\"/trigger/{name}/async\", {\n params: {\n path: { name: triggerName },\n query: {\n parameters: params,\n },\n },\n querySerializer: serializeTriggerParameters,\n });\n\n if (error || data === undefined) {\n throw new Error(`Failed to trigger triggerable: ${response.status}`);\n }\n\n return {\n status: response.status,\n data: data.toString(),\n };\n};\n"],"mappings":";AAMA,IAAM,KAA8B,EAAE,oBAA4D;CAChG,IAAM,IAAS,IAAI,gBAAgB;CAMnC,OAJA,OAAO,QAAQ,CAAU,EAAE,SAAS,CAAC,GAAK,OAAW;EACnD,EAAO,IAAI,GAAK,CAAK;CACvB,CAAC,GAEM,EAAO,SAAS;AACzB,GAEa,IAAoB,OAAO,MAAsB;CAC5D,IAAM,EAAE,SAAM,UAAO,gBAAa,MAAM,EAAO,IAAI,UAAU;CAE7D,IAAI,KAAS,CAAC,GACZ,MAAU,MAAM,iCAAiC,EAAS,QAAQ;CAGpE,OAAO;AACT,GAEa,IAA0B,OAAO,MAAsB;CAClE,IAAM,EAAE,SAAM,aAAU,MAAM,EAAO,IAAI,mBAAmB;CAE5D,IAAI,KAAS,CAAC,GACZ,MAAU,MAAM,sCAAsC;CAGxD,OAAO;AACT,GAEa,IAAqB,OAChC,GACA,GACA,MACG;CACH,IAAM,EAAE,SAAM,UAAO,gBAAa,MAAM,EAAO,KAAK,yBAAyB;EAC3E,QAAQ;GACN,MAAM,EAAE,MAAM,EAAY;GAC1B,OAAO,EACL,YAAY,EACd;EACF;EACA,iBAAiB;CACnB,CAAC;CAED,IAAI,KAAS,MAAS,KAAA,GACpB,MAAU,MAAM,kCAAkC,EAAS,QAAQ;CAGrE,OAAO;EACL,QAAQ,EAAS;EACjB,MAAM,EAAK,SAAS;CACtB;AACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NavLink as e, useLocation as t } from "react-router";
|
|
2
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/breadcrumbs/breadcrumbs.module.css
|
|
4
|
+
var i = {
|
|
5
|
+
"bread-crumbs": "_bread-crumbs_1f4j4_1",
|
|
6
|
+
"bread-crumb": "_bread-crumb_1f4j4_1"
|
|
7
|
+
}, a = () => {
|
|
8
|
+
let a = t().pathname.split("/").filter(Boolean);
|
|
9
|
+
return /* @__PURE__ */ r("nav", {
|
|
10
|
+
className: i["bread-crumbs"],
|
|
11
|
+
children: [/* @__PURE__ */ n("span", {
|
|
12
|
+
className: i["bread-crumb"],
|
|
13
|
+
children: /* @__PURE__ */ n(e, {
|
|
14
|
+
to: "/",
|
|
15
|
+
children: "Home"
|
|
16
|
+
})
|
|
17
|
+
}), a.map((t, r) => {
|
|
18
|
+
let o = `/${a.slice(0, r + 1).join("/")}`;
|
|
19
|
+
return r === a.length - 1 ? /* @__PURE__ */ n("span", { children: t }, o) : /* @__PURE__ */ n("span", {
|
|
20
|
+
className: i["bread-crumb"],
|
|
21
|
+
children: /* @__PURE__ */ n(e, {
|
|
22
|
+
to: o,
|
|
23
|
+
children: t
|
|
24
|
+
})
|
|
25
|
+
}, o);
|
|
26
|
+
})]
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { a as t };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=breadcrumbs-BAwnKRxL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbs-BAwnKRxL.js","names":[],"sources":["../src/components/breadcrumbs/breadcrumbs.module.css","../src/components/breadcrumbs/BreadCrumbs.tsx"],"sourcesContent":[".bread-crumbs {\n display: flex;\n flex-direction: row;\n gap: 1em;\n font-size: 20px;\n font-family: \"Roboto\", sans-serif;\n font-weight: 600;\n padding: 0.5em;\n}\n\n.bread-crumb > a:visited {\n color: #0000ee;\n}\n\n.bread-crumb > a:hover {\n color: #7777ff;\n}\n\n.bread-crumb::after {\n content: \"/\";\n position: relative;\n right: -0.5em;\n}\n","import { NavLink, useLocation } from \"react-router\";\n\nimport styles from \"./breadcrumbs.module.css\";\n\n/**\n * Breadcrumbs component to show the current path and active route segments\n * Provides links to the parent routes\n *\n * NOTE: `import \"@evolver-fi/evolver-basics-admin-components/breadcrumbs.css\"` to enable the default styles\n *\n * @returns\n */\nconst BreadCrumbs = () => {\n const location = useLocation();\n const pathNames = location.pathname.split(\"/\").filter(Boolean);\n\n return (\n <nav className={styles[\"bread-crumbs\"]}>\n <span className={styles[\"bread-crumb\"]}>\n <NavLink to=\"/\">Home</NavLink>\n </span>\n {pathNames.map((path, index) => {\n const routeTo = `/${pathNames.slice(0, index + 1).join(\"/\")}`;\n const isLast = index === pathNames.length - 1;\n return isLast ? (\n <span key={routeTo}>{path}</span>\n ) : (\n <span key={routeTo} className={styles[\"bread-crumb\"]}>\n <NavLink to={routeTo}>{path}</NavLink>\n </span>\n );\n })}\n </nav>\n );\n};\n\nexport default BreadCrumbs;\n"],"mappings":";;;;;;GCYM,UAAoB;CAExB,IAAM,IADW,EACC,EAAS,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO;CAE7D,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,QAAD;GAAM,WAAW,EAAO;aACtB,kBAAC,GAAD;IAAS,IAAG;cAAI;GAAa,CAAA;EACzB,CAAA,GACL,EAAU,KAAK,GAAM,MAAU;GAC9B,IAAM,IAAU,IAAI,EAAU,MAAM,GAAG,IAAQ,CAAC,EAAE,KAAK,GAAG;GAE1D,OADe,MAAU,EAAU,SAAS,IAE1C,kBAAC,QAAD,EAAA,UAAqB,EAAW,GAArB,CAAqB,IAEhC,kBAAC,QAAD;IAAoB,WAAW,EAAO;cACpC,kBAAC,GAAD;KAAS,IAAI;eAAU;IAAc,CAAA;GACjC,GAFK,CAEL;EAEV,CAAC,CACE;;AAET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._bread-crumbs_1f4j4_1{flex-direction:row;gap:1em;padding:.5em;font-family:Roboto,sans-serif;font-size:20px;font-weight:600;display:flex}._bread-crumb_1f4j4_1>a:visited{color:#00e}._bread-crumb_1f4j4_1>a:hover{color:#77f}._bread-crumb_1f4j4_1:after{content:"/";position:relative;right:-.5em}
|