@haneinfo/frontend-instances 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -26
- package/agent-guide.md +12 -0
- package/dist/attachments-client.d.ts +7 -2
- package/dist/attachments-client.d.ts.map +1 -1
- package/dist/attachments-client.js +47 -11
- package/dist/attachments-client.js.map +1 -1
- package/dist/client.d.ts +12 -75
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +12 -463
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +167 -5
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +5 -98
- package/dist/contracts.js.map +1 -1
- package/dist/dashboard.d.ts +43 -0
- package/dist/dashboard.d.ts.map +1 -0
- package/dist/dashboard.js +72 -0
- package/dist/dashboard.js.map +1 -0
- package/dist/detail-client.d.ts +59 -0
- package/dist/detail-client.d.ts.map +1 -0
- package/dist/detail-client.js +253 -0
- package/dist/detail-client.js.map +1 -0
- package/dist/documents-client.d.ts +2 -1
- package/dist/documents-client.d.ts.map +1 -1
- package/dist/documents-client.js +13 -9
- package/dist/documents-client.js.map +1 -1
- package/dist/draft-client.d.ts +27 -3
- package/dist/draft-client.d.ts.map +1 -1
- package/dist/draft-client.js +107 -54
- package/dist/draft-client.js.map +1 -1
- package/dist/draft-session.d.ts +1 -0
- package/dist/draft-session.d.ts.map +1 -1
- package/dist/draft-session.js +2 -1
- package/dist/draft-session.js.map +1 -1
- package/dist/field-errors.d.ts +4 -0
- package/dist/field-errors.d.ts.map +1 -0
- package/dist/field-errors.js +25 -0
- package/dist/field-errors.js.map +1 -0
- package/dist/filter-editor.d.ts +18 -0
- package/dist/filter-editor.d.ts.map +1 -0
- package/dist/filter-editor.js +145 -0
- package/dist/filter-editor.js.map +1 -0
- package/dist/format.d.ts +152 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +402 -0
- package/dist/format.js.map +1 -0
- package/dist/import-client.d.ts +31 -0
- package/dist/import-client.d.ts.map +1 -0
- package/dist/import-client.js +179 -0
- package/dist/import-client.js.map +1 -0
- package/dist/instance-management-client.d.ts +23 -6
- package/dist/instance-management-client.d.ts.map +1 -1
- package/dist/instance-management-client.js +96 -70
- package/dist/instance-management-client.js.map +1 -1
- package/dist/labels.d.ts +10 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +42 -0
- package/dist/labels.js.map +1 -0
- package/dist/list-client.d.ts +39 -0
- package/dist/list-client.d.ts.map +1 -0
- package/dist/list-client.js +403 -0
- package/dist/list-client.js.map +1 -0
- package/dist/list-query.d.ts +41 -0
- package/dist/list-query.d.ts.map +1 -0
- package/dist/list-query.js +171 -0
- package/dist/list-query.js.map +1 -0
- package/dist/management-client.d.ts +6 -2
- package/dist/management-client.d.ts.map +1 -1
- package/dist/management-client.js +113 -84
- package/dist/management-client.js.map +1 -1
- package/dist/messages.d.ts +4 -4
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +23 -5
- package/dist/messages.js.map +1 -1
- package/dist/process-client.d.ts +27 -0
- package/dist/process-client.d.ts.map +1 -0
- package/dist/process-client.js +129 -0
- package/dist/process-client.js.map +1 -0
- package/dist/process-messages.d.ts +73 -0
- package/dist/process-messages.d.ts.map +1 -0
- package/dist/process-messages.js +154 -0
- package/dist/process-messages.js.map +1 -0
- package/dist/server.d.ts +34 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +302 -50
- package/dist/server.js.map +1 -1
- package/dist/tasks-client.d.ts +38 -0
- package/dist/tasks-client.d.ts.map +1 -0
- package/dist/tasks-client.js +127 -0
- package/dist/tasks-client.js.map +1 -0
- package/dist/timeline.d.ts +24 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +189 -0
- package/dist/timeline.js.map +1 -0
- package/dist/ui-messages.d.ts +284 -0
- package/dist/ui-messages.d.ts.map +1 -0
- package/dist/ui-messages.js +372 -0
- package/dist/ui-messages.js.map +1 -0
- package/dist/ui.d.ts +101 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +169 -0
- package/dist/ui.js.map +1 -0
- package/package.json +4 -2
package/dist/client.js
CHANGED
|
@@ -1,468 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { DocumentsPanel } from './documents-client.js';
|
|
5
|
-
import { DraftEditor } from './draft-client.js';
|
|
6
|
-
import { LifecyclePanel, queryWithTagsFallback, TagPicker, TagsPanel, } from './instance-management-client.js';
|
|
2
|
+
/** Client entry: page components, panels and display building blocks. */
|
|
3
|
+
export { call, ErrorMessage, useTask } from './action-client.js';
|
|
7
4
|
export { AttachmentsPanel } from './attachments-client.js';
|
|
5
|
+
export { ContentCard, DetailClient, } from './detail-client.js';
|
|
8
6
|
export { DocumentsPanel } from './documents-client.js';
|
|
9
7
|
export { DraftEditor } from './draft-client.js';
|
|
10
|
-
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
|
|
19
|
-
export { InstanceAccessPanel } from './management-client.js';
|
|
20
|
-
const box = 'rounded-md border bg-card p-4';
|
|
21
|
-
const selectClass = 'min-w-0 rounded-md border bg-background px-3 py-2 text-foreground';
|
|
22
|
-
const inaccessible = (error) => error &&
|
|
23
|
-
['unauthorized', 'forbidden', 'notFound', 'FORBIDDEN', 'INSTANCE_NOT_FOUND'].includes(error.key);
|
|
24
|
-
function labelOf(field, labels) {
|
|
25
|
-
const system = {
|
|
26
|
-
$state: 'state',
|
|
27
|
-
$number: 'number',
|
|
28
|
-
$submitterId: 'submitter',
|
|
29
|
-
$createdAt: 'createdAt',
|
|
30
|
-
};
|
|
31
|
-
return system[field.id] ? labels[system[field.id]] : field.label;
|
|
32
|
-
}
|
|
33
|
-
function newRule(fields) {
|
|
34
|
-
return {
|
|
35
|
-
kind: 'PREDICATE',
|
|
36
|
-
operator: 'EQ',
|
|
37
|
-
left: { kind: 'FIELD', fieldId: fields[0]?.id ?? '' },
|
|
38
|
-
right: { kind: 'LITERAL', value: '' },
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
export function FilterEditor({ condition, fields, labels, onChange, depth = 0, }) {
|
|
42
|
-
const t = labels;
|
|
43
|
-
if (condition.kind === 'GROUP')
|
|
44
|
-
return (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-3 rounded-md border p-3", children: [_jsx("legend", { className: "px-1 text-sm", children: t.filters }), _jsxs("select", { "aria-label": t.operator, className: selectClass, value: condition.operator, onChange: (e) => onChange({ ...condition, operator: e.target.value }), children: [_jsx("option", { value: "AND", children: t.AND }), _jsx("option", { value: "OR", children: t.OR })] }), condition.expressions.map((child, index) => (
|
|
45
|
-
// biome-ignore lint/suspicious/noArrayIndexKey: These controlled positional rows have no local input state.
|
|
46
|
-
_jsxs("div", { className: "flex min-w-0 flex-col gap-2", children: [_jsx(FilterEditor, { condition: child, fields: fields, labels: t, depth: depth + 1, onChange: (value) => onChange({
|
|
47
|
-
...condition,
|
|
48
|
-
expressions: condition.expressions.map((entry, i) => i === index ? value : entry),
|
|
49
|
-
}) }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => onChange({
|
|
50
|
-
...condition,
|
|
51
|
-
expressions: condition.expressions.filter((_, i) => i !== index),
|
|
52
|
-
}), children: t.remove })] }, `${depth}-${index}`))), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Button, { type: "button", variant: "outline", disabled: !fields.length, onClick: () => onChange({ ...condition, expressions: [...condition.expressions, newRule(fields)] }), children: t.addRule }), depth < 4 && (_jsx(Button, { type: "button", variant: "outline", onClick: () => onChange({
|
|
53
|
-
...condition,
|
|
54
|
-
expressions: [
|
|
55
|
-
...condition.expressions,
|
|
56
|
-
{ kind: 'GROUP', operator: 'OR', expressions: [newRule(fields)] },
|
|
57
|
-
],
|
|
58
|
-
}), children: t.addGroup }))] })] }));
|
|
59
|
-
if (!editablePredicate(condition))
|
|
60
|
-
return _jsx("pre", { className: "whitespace-pre-wrap break-words", children: textValue(condition) });
|
|
61
|
-
const field = fields.find((f) => f.id === condition.left.fieldId);
|
|
62
|
-
const right = condition.right;
|
|
63
|
-
const value = Array.isArray(right)
|
|
64
|
-
? right.map((r) => String(r.value ?? '')).join('\n')
|
|
65
|
-
: String(right?.value ?? '');
|
|
66
|
-
let inputType = field?.type === 'number' ? 'number' : field?.type === 'date' ? 'date' : 'text';
|
|
67
|
-
if (field?.type === 'datetime')
|
|
68
|
-
inputType = 'datetime-local';
|
|
69
|
-
const shown = inputType === 'datetime-local' && value.endsWith('Z') ? value.slice(0, 23) : value;
|
|
70
|
-
return (_jsxs("div", { className: "grid min-w-0 gap-2 sm:grid-cols-3", children: [_jsx("select", { "aria-label": t.field, className: selectClass, value: field?.id ?? '', onChange: (e) => onChange({
|
|
71
|
-
...condition,
|
|
72
|
-
left: { kind: 'FIELD', fieldId: e.target.value },
|
|
73
|
-
right: { kind: 'LITERAL', value: '' },
|
|
74
|
-
}), children: fields.map((f) => (_jsx("option", { value: f.id, children: labelOf(f, t) }, f.id))) }), _jsx("select", { "aria-label": t.operator, className: selectClass, value: condition.operator, onChange: (e) => onChange({
|
|
75
|
-
...condition,
|
|
76
|
-
operator: e.target.value,
|
|
77
|
-
right: e.target.value === 'IN' ? [] : { kind: 'LITERAL', value: '' },
|
|
78
|
-
}), children: operators.map((op) => (_jsx("option", { value: op, children: t[op] }, op))) }), condition.operator !== 'NOT_EMPTY' &&
|
|
79
|
-
(condition.operator === 'IN' ? (_jsx("textarea", { className: selectClass, "aria-label": t.value, value: value, onChange: (e) => onChange({
|
|
80
|
-
...condition,
|
|
81
|
-
right: e.target.value.split('\n').map((v) => ({
|
|
82
|
-
kind: 'LITERAL',
|
|
83
|
-
value: field?.type === 'number' && v.trim() ? Number(v) : v,
|
|
84
|
-
})),
|
|
85
|
-
}) })) : (_jsx(Input, { type: inputType, step: "any", "aria-label": field?.type === 'datetime' ? `${t.value} (UTC)` : t.value, value: shown, onChange: (e) => onChange({
|
|
86
|
-
...condition,
|
|
87
|
-
right: {
|
|
88
|
-
kind: 'LITERAL',
|
|
89
|
-
value: field?.type === 'number' && e.target.value !== ''
|
|
90
|
-
? Number(e.target.value)
|
|
91
|
-
: e.target.value,
|
|
92
|
-
},
|
|
93
|
-
}) })))] }));
|
|
94
|
-
}
|
|
95
|
-
/** Normalizes datetime literals once, immediately before the API request. */
|
|
96
|
-
function editablePredicate(condition) {
|
|
97
|
-
const operands = Array.isArray(condition.right)
|
|
98
|
-
? condition.right
|
|
99
|
-
: condition.right
|
|
100
|
-
? [condition.right]
|
|
101
|
-
: [];
|
|
102
|
-
return condition.left?.kind === 'FIELD' && operands.every((right) => right.kind === 'LITERAL');
|
|
103
|
-
}
|
|
104
|
-
function prepareFilter(condition, fields) {
|
|
105
|
-
if (condition.kind === 'GROUP') {
|
|
106
|
-
const expressions = condition.expressions.flatMap((child) => {
|
|
107
|
-
const result = prepareFilter(child, fields);
|
|
108
|
-
return result ? [result] : [];
|
|
109
|
-
});
|
|
110
|
-
return expressions.length ? { ...condition, expressions } : undefined;
|
|
111
|
-
}
|
|
112
|
-
if (!editablePredicate(condition))
|
|
113
|
-
return condition;
|
|
114
|
-
const field = fields.find((f) => f.id === condition.left.fieldId);
|
|
115
|
-
if (!field?.filterable)
|
|
116
|
-
throw new Error('invalidInput');
|
|
117
|
-
if (condition.operator === 'NOT_EMPTY')
|
|
118
|
-
return { kind: 'PREDICATE', operator: condition.operator, left: condition.left };
|
|
119
|
-
const normalize = (literal) => ({
|
|
120
|
-
kind: 'LITERAL',
|
|
121
|
-
value: fieldValue(String(literal.value ?? ''), field),
|
|
122
|
-
});
|
|
123
|
-
if (!condition.right)
|
|
124
|
-
throw new Error('invalidInput');
|
|
125
|
-
return {
|
|
126
|
-
...condition,
|
|
127
|
-
right: Array.isArray(condition.right)
|
|
128
|
-
? condition.right.map(normalize)
|
|
129
|
-
: normalize(condition.right),
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
export { prepareFilter };
|
|
133
|
-
function Anchor({ href, children, className, }) {
|
|
134
|
-
return (_jsx("a", { href: href, className: className, children: children }));
|
|
135
|
-
}
|
|
136
|
-
export function ListClient({ fields, initial, initialQuery, initialTagsAvailable = true, views: initialViews, machineCode, basePath, labels: t, action, }) {
|
|
137
|
-
const task = useTask();
|
|
138
|
-
const limitId = useId();
|
|
139
|
-
const rangeId = useId();
|
|
140
|
-
const [query, setQuery] = useState(initialQuery);
|
|
141
|
-
const [result, setResult] = useState(initial);
|
|
142
|
-
const [filter, setFilter] = useState(initialQuery.filter ?? { kind: 'GROUP', operator: 'AND', expressions: [] });
|
|
143
|
-
const [sort, setSort] = useState(initialQuery.sort ?? []);
|
|
144
|
-
const [columns, setColumns] = useState(initialQuery.columns ?? fields.map((f) => f.id));
|
|
145
|
-
const [limit, setLimit] = useState(initialQuery.limit ?? 50);
|
|
146
|
-
const [tags, setTags] = useState(initialQuery.tags ?? []), [tagMatch, setTagMatch] = useState(initialQuery.tagMatch ?? 'ALL');
|
|
147
|
-
const [archived, setArchived] = useState(initialQuery.archived ?? 'EXCLUDE'), [tagsAvailable, setTagsAvailable] = useState(initialTagsAvailable);
|
|
148
|
-
const [views, setViews] = useState(initialViews);
|
|
149
|
-
const [name, setName] = useState('');
|
|
150
|
-
const [job, setJob] = useState();
|
|
151
|
-
const [format, setFormat] = useState('csv');
|
|
152
|
-
const dateFields = fields.filter((f) => f.filterable && ['date', 'datetime'].includes(f.type));
|
|
153
|
-
const [rangeField, setRangeField] = useState(dateFields[0]?.id ?? '');
|
|
154
|
-
const [from, setFrom] = useState(''), [to, setTo] = useState('');
|
|
155
|
-
if (inaccessible(task.error))
|
|
156
|
-
return _jsx(ErrorMessage, { error: task.error, labels: t });
|
|
157
|
-
const draft = () => ({
|
|
158
|
-
filter: prepareFilter(filter, fields),
|
|
159
|
-
sort,
|
|
160
|
-
columns,
|
|
161
|
-
limit,
|
|
162
|
-
offset: 0,
|
|
163
|
-
archived,
|
|
164
|
-
...(tagsAvailable && tags.length ? { tags, tagMatch } : {}),
|
|
165
|
-
});
|
|
166
|
-
const apply = async (next) => {
|
|
167
|
-
const applied = await queryWithTagsFallback(action, machineCode, next);
|
|
168
|
-
if (!applied.available) {
|
|
169
|
-
setTagsAvailable(false);
|
|
170
|
-
setTags([]);
|
|
171
|
-
}
|
|
172
|
-
setResult(applied.result);
|
|
173
|
-
setQuery(applied.query);
|
|
174
|
-
};
|
|
175
|
-
return (_jsxs("div", { className: "flex min-w-0 flex-col gap-4", "aria-busy": task.pending, children: [_jsx(ErrorMessage, { error: task.error, labels: t }), task.pending && _jsx("p", { role: "status", children: t.loading }), _jsx("form", { className: `${box} flex flex-col gap-4`, onSubmit: (e) => {
|
|
176
|
-
e.preventDefault();
|
|
177
|
-
void task.run(() => apply(draft()));
|
|
178
|
-
}, children: _jsxs("fieldset", { disabled: task.pending, className: "flex min-w-0 flex-col gap-4", children: [_jsxs("label", { className: "flex flex-col gap-1", children: [t.archiveFilter, _jsx("select", { className: selectClass, value: archived, onChange: (event) => setArchived(event.target.value), children: ['EXCLUDE', 'INCLUDE', 'ONLY'].map((value) => (_jsx("option", { value: value, children: t[value] }, value))) })] }), tagsAvailable && (_jsxs("div", { className: "flex min-w-0 flex-col gap-2", children: [_jsx(TagPicker, { label: t.tagFilter, labels: t, action: action, disabled: task.pending || tags.length >= 10, onPick: (added) => setTags([...new Set([...tags, ...added])].slice(0, 10)) }), _jsx("div", { className: "flex flex-wrap gap-2", children: tags.map((tag) => (_jsxs(Button, { type: "button", variant: "outline", onClick: () => setTags(tags.filter((value) => value !== tag)), children: [tag, " \u00D7"] }, tag))) }), _jsxs("select", { "aria-label": t.tagFilter, className: selectClass, value: tagMatch, onChange: (event) => setTagMatch(event.target.value), children: [_jsx("option", { value: "ALL", children: t.tagAll }), _jsx("option", { value: "ANY", children: t.tagAny })] })] })), _jsx(FilterEditor, { condition: filter, fields: fields.filter((f) => f.filterable), labels: t, onChange: setFilter }), !!dateFields.length && (_jsxs("fieldset", { className: "grid gap-2 rounded-md border p-3 sm:grid-cols-4", children: [_jsx("legend", { children: t.addRange }), _jsx("select", { "aria-label": `${t.addRange}: ${t.field}`, className: selectClass, value: rangeField, onChange: (e) => {
|
|
179
|
-
setRangeField(e.target.value);
|
|
180
|
-
setFrom('');
|
|
181
|
-
setTo('');
|
|
182
|
-
}, children: dateFields.map((f) => (_jsx("option", { value: f.id, children: labelOf(f, t) }, f.id))) }), _jsxs("label", { htmlFor: `${rangeId}-from`, className: "flex flex-col gap-1 text-sm", children: [_jsx("span", { children: t.rangeFrom }), _jsx(Input, { id: `${rangeId}-from`, "aria-label": t.rangeFrom, type: fields.find((f) => f.id === rangeField)?.type === 'datetime'
|
|
183
|
-
? 'datetime-local'
|
|
184
|
-
: 'date', value: from, onChange: (e) => setFrom(e.target.value) })] }), _jsxs("label", { htmlFor: `${rangeId}-to`, className: "flex flex-col gap-1 text-sm", children: [_jsx("span", { children: t.rangeTo }), _jsx(Input, { id: `${rangeId}-to`, "aria-label": t.rangeTo, type: fields.find((f) => f.id === rangeField)?.type === 'datetime'
|
|
185
|
-
? 'datetime-local'
|
|
186
|
-
: 'date', value: to, min: from, onChange: (e) => setTo(e.target.value) })] }), _jsx(Button, { variant: "outline", type: "button", disabled: !from || !to || from > to, onClick: () => {
|
|
187
|
-
const f = fields.find((f) => f.id === rangeField);
|
|
188
|
-
if (f) {
|
|
189
|
-
const range = dateRange(f, from, to);
|
|
190
|
-
setFilter((previous) => ({
|
|
191
|
-
kind: 'GROUP',
|
|
192
|
-
operator: 'AND',
|
|
193
|
-
expressions: [previous, range],
|
|
194
|
-
}));
|
|
195
|
-
}
|
|
196
|
-
}, children: t.addRange })] })), _jsxs("fieldset", { className: "flex flex-col gap-2", children: [_jsx("legend", { children: t.sort }), sort.map((entry, index) => (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx("select", { "aria-label": `${t.sort}: ${t.field}`, className: selectClass, value: entry.fieldId, onChange: (e) => setSort(sort.map((s, i) => (i === index ? { ...s, fieldId: e.target.value } : s))), children: fields
|
|
197
|
-
.filter((f) => f.sortable)
|
|
198
|
-
.map((f) => (_jsx("option", { value: f.id, disabled: f.id !== entry.fieldId && sort.some((s) => s.fieldId === f.id), children: labelOf(f, t) }, f.id))) }), _jsxs("select", { "aria-label": t.sort, className: selectClass, value: entry.direction, onChange: (e) => setSort(sort.map((s, i) => i === index ? { ...s, direction: e.target.value } : s)), children: [_jsx("option", { value: "asc", children: t.asc }), _jsx("option", { value: "desc", children: t.desc })] }), _jsx(Button, { type: "button", variant: "outline", onClick: () => setSort(sort.filter((_, i) => i !== index)), children: t.remove })] }, entry.fieldId))), _jsx(Button, { type: "button", variant: "outline", disabled: sort.length >= 8 || !fields.some((f) => f.sortable), onClick: () => {
|
|
199
|
-
const f = fields.find((f) => f.sortable && !sort.some((s) => s.fieldId === f.id));
|
|
200
|
-
if (f)
|
|
201
|
-
setSort([...sort, { fieldId: f.id, direction: 'asc' }]);
|
|
202
|
-
}, children: t.sort })] }), _jsxs("fieldset", { className: "flex flex-wrap gap-3", children: [_jsx("legend", { children: t.columns }), fields.map((f) => (_jsxs("label", { className: "flex items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: columns.includes(f.id), onChange: (e) => setColumns(e.target.checked ? [...columns, f.id] : columns.filter((c) => c !== f.id)) }), labelOf(f, t)] }, f.id)))] }), _jsxs("label", { htmlFor: limitId, className: "flex items-center gap-2", children: [t.limit, _jsx(Input, { id: limitId, className: "w-24", type: "number", min: 1, max: 500, value: limit, onChange: (e) => setLimit(Number(e.target.value)) })] }), _jsx(Button, { type: "submit", disabled: !columns.length, children: t.apply })] }) }), _jsxs("section", { className: `${box} flex flex-col gap-3`, "aria-label": t.savedViews, children: [_jsx("h2", { className: "font-semibold", children: t.savedViews }), _jsxs("form", { className: "flex flex-wrap gap-2", onSubmit: (e) => {
|
|
203
|
-
e.preventDefault();
|
|
204
|
-
void task.run(async () => {
|
|
205
|
-
const view = await call(action, {
|
|
206
|
-
kind: 'saveView',
|
|
207
|
-
machineCode,
|
|
208
|
-
name,
|
|
209
|
-
query: draft(),
|
|
210
|
-
});
|
|
211
|
-
setViews([...views, view]);
|
|
212
|
-
setName('');
|
|
213
|
-
});
|
|
214
|
-
}, children: [_jsx(Input, { "aria-label": t.viewName, maxLength: 200, required: true, value: name, onChange: (e) => setName(e.target.value) }), _jsx(Button, { disabled: task.pending || !name.trim(), type: "submit", children: t.saveView })] }), views.map((view) => (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "break-all", children: view.name }), _jsxs("span", { className: "text-sm text-muted-foreground", children: [t[view.visibility], " ", view.roles.join(', ')] }), _jsx(Button, { type: "button", variant: "outline", disabled: task.pending, onClick: () => {
|
|
215
|
-
void task.run(async () => {
|
|
216
|
-
await apply(view.query);
|
|
217
|
-
setFilter(view.query.filter ?? { kind: 'GROUP', operator: 'AND', expressions: [] });
|
|
218
|
-
setSort(view.query.sort ?? []);
|
|
219
|
-
setColumns(view.query.columns ?? fields.map((f) => f.id));
|
|
220
|
-
setLimit(view.query.limit ?? 50);
|
|
221
|
-
setTags(view.query.tags ?? []);
|
|
222
|
-
setTagMatch(view.query.tagMatch ?? 'ALL');
|
|
223
|
-
setArchived(view.query.archived ?? 'EXCLUDE');
|
|
224
|
-
});
|
|
225
|
-
}, children: t.apply }), view.canShare && (_jsx(ShareForm, { view: view, labels: t, disabled: task.pending, onShare: (visibility, roles) => {
|
|
226
|
-
void task.run(async () => {
|
|
227
|
-
await call(action, { kind: 'shareView', id: view.id, visibility, roles });
|
|
228
|
-
setViews(views.map((v) => (v.id === view.id ? { ...v, visibility, roles } : v)));
|
|
229
|
-
});
|
|
230
|
-
} }))] }, view.id)))] }), _jsxs("div", { className: "max-w-full overflow-x-auto rounded-md border", children: [_jsxs("table", { className: "w-full text-left text-sm", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { className: "p-3", children: t.open }), tagsAvailable && _jsx("th", { className: "p-3", children: t.tags }), result.columns.map((id) => (_jsx("th", { className: "p-3", children: labelOf(fields.find((f) => f.id === id) ?? { id, label: id }, t) }, id)))] }) }), _jsx("tbody", { children: result.items.map((item) => (_jsxs("tr", { className: "border-t", children: [_jsxs("td", { className: "p-3", children: [_jsx("a", { className: "underline", href: `${basePath}/${encodeURIComponent(item.id)}`, children: item.number ?? t.open }), item.archived && _jsx("span", { className: "ml-2 rounded border p-1", children: t.archived })] }), tagsAvailable && (_jsx("td", { className: "max-w-64 break-words p-3", children: item.tags?.join(', ') })), result.columns.map((id) => (_jsx("td", { className: "max-w-64 break-words p-3", children: textValue(id === '$submitterId'
|
|
231
|
-
? (item.submitterName ?? item.submitterId)
|
|
232
|
-
: item.values[id]) }, id)))] }, item.id))) })] }), !result.items.length && _jsx("p", { className: "p-4", children: t.empty })] }), _jsx(ListPagination, { page: Math.floor(result.offset / result.limit) + 1, totalPages: Math.max(1, Math.ceil(result.total / result.limit)), total: result.total, LinkComponent: Anchor, buildPageHref: (page) => listHref(basePath, { ...query, offset: (page - 1) * result.limit, limit: result.limit }), previousText: t.previous, nextText: t.next, infoText: `${t.total}: ${result.total}` }), _jsxs("form", { className: "flex flex-wrap items-center gap-2", onSubmit: (e) => {
|
|
233
|
-
e.preventDefault();
|
|
234
|
-
void task.run(async () => setJob(await call(action, { kind: 'export', machineCode, query, format })));
|
|
235
|
-
}, children: [_jsxs("select", { "aria-label": t.format, className: selectClass, value: format, onChange: (e) => setFormat(e.target.value), children: [_jsx("option", { value: "csv", children: t.csv }), _jsx("option", { value: "xlsx", children: t.xlsx })] }), _jsx(Button, { type: "submit", disabled: task.pending, children: t.export })] }), job && (_jsx(JobStatus, { initial: job, labels: t, action: action, downloadBase: `${basePath}/download` }, job.id))] }));
|
|
236
|
-
}
|
|
237
|
-
function ShareForm({ view, labels: t, disabled, onShare, }) {
|
|
238
|
-
const [visibility, setVisibility] = useState(view.visibility), [roles, setRoles] = useState(view.roles.join(', '));
|
|
239
|
-
return (_jsxs("form", { className: "flex flex-wrap gap-2", onSubmit: (e) => {
|
|
240
|
-
e.preventDefault();
|
|
241
|
-
onShare(visibility, roles
|
|
242
|
-
.split(',')
|
|
243
|
-
.map((r) => r.trim())
|
|
244
|
-
.filter(Boolean));
|
|
245
|
-
}, children: [_jsx("select", { "aria-label": t.share, className: selectClass, disabled: disabled, value: visibility, onChange: (e) => setVisibility(e.target.value), children: ['PRIVATE', 'ALL', 'ROLES'].map((value) => (_jsx("option", { value: value, children: t[value] }, value))) }), visibility === 'ROLES' && (_jsx(Input, { "aria-label": t.roles, required: true, value: roles, onChange: (e) => setRoles(e.target.value) })), _jsx(Button, { disabled: disabled, type: "submit", variant: "outline", children: t.share })] }));
|
|
246
|
-
}
|
|
247
|
-
function DataFields({ fields, data }) {
|
|
248
|
-
const flatten = (fields) => fields.flatMap((field) => (field.children ? flatten(field.children) : [field]));
|
|
249
|
-
const flattened = flatten(fields);
|
|
250
|
-
return (_jsx("dl", { className: "grid gap-3 sm:grid-cols-2", children: flattened
|
|
251
|
-
.filter((f) => (f.id ?? f.key) in data)
|
|
252
|
-
.map((field) => (_jsxs("div", { className: "min-w-0", children: [_jsx("dt", { className: "text-sm text-muted-foreground", children: field.label }), _jsx("dd", { className: "whitespace-pre-wrap break-words", children: textValue(data[field.id ?? field.key]) })] }, field.id ?? field.key))) }));
|
|
253
|
-
}
|
|
254
|
-
export function DetailClient({ id, data, fields, state, submitterId, submitterName, createdAt, initial, initialNumbers, initialAccess, attachmentBase, documentDownloadUrl, managementInstance, initialTags, isInitial, basePath = '', draftKeepaliveUrl, labels: t, action, }) {
|
|
255
|
-
const task = useTask();
|
|
256
|
-
const [timeline, setTimeline] = useState(initial), [body, setBody] = useState('');
|
|
257
|
-
const [q, setQ] = useState(''), [people, setPeople] = useState(), [selected, setSelected] = useState('');
|
|
258
|
-
if (inaccessible(task.error))
|
|
259
|
-
return _jsx(ErrorMessage, { error: task.error, labels: t });
|
|
260
|
-
const loadTimeline = async (append) => {
|
|
261
|
-
const next = await call(action, {
|
|
262
|
-
kind: 'timeline',
|
|
263
|
-
id,
|
|
264
|
-
offset: append ? timeline.offset + timeline.items.length : 0,
|
|
265
|
-
});
|
|
266
|
-
setTimeline(append
|
|
267
|
-
? {
|
|
268
|
-
...next,
|
|
269
|
-
offset: 0,
|
|
270
|
-
items: [...timeline.items, ...next.items].filter((e, i, all) => all.findIndex((other) => other.id === e.id) === i),
|
|
271
|
-
}
|
|
272
|
-
: next);
|
|
273
|
-
};
|
|
274
|
-
const numbers = timeline.items.filter((e) => e.kind === 'NUMBER');
|
|
275
|
-
return (_jsxs("div", { className: "flex min-w-0 flex-col gap-4", "aria-busy": task.pending, children: [_jsx(ErrorMessage, { error: task.error, labels: t }), task.pending && _jsx("p", { role: "status", children: t.loading }), managementInstance && (_jsx(LifecyclePanel, { id: id, initial: managementInstance, basePath: basePath, labels: t, action: action, onChanged: () => loadTimeline(false) })), initialTags && (_jsx(TagsPanel, { id: id, initial: initialTags, labels: t, action: action, onChanged: () => loadTimeline(false) })), managementInstance?.canEdit && isInitial && managementInstance.revision !== undefined && (_jsx(DraftEditor, { id: id, data: data, fields: fields, revision: managementInstance.revision, action: action, labels: t, keepaliveUrl: draftKeepaliveUrl })), initialAccess && (_jsx(InstanceAccessPanel, { id: id, initial: initialAccess, labels: t, action: action, onChanged: () => loadTimeline(false) })), attachmentBase && (_jsx(AttachmentsPanel, { id: id, basePath: attachmentBase, labels: t, action: action, onChanged: () => loadTimeline(false) })), documentDownloadUrl && (_jsx(DocumentsPanel, { id: id, downloadUrl: documentDownloadUrl, labels: t, action: action, onChanged: () => loadTimeline(false) })), _jsxs("section", { className: `${box} flex flex-col gap-4`, children: [_jsxs("dl", { className: "grid gap-3 sm:grid-cols-2", children: [_jsxs("div", { children: [_jsx("dt", { children: t.state }), _jsx("dd", { children: state })] }), _jsxs("div", { children: [_jsx("dt", { children: t.number }), _jsx("dd", { children: initialNumbers?.length
|
|
276
|
-
? initialNumbers.join(', ')
|
|
277
|
-
: numbers.length
|
|
278
|
-
? numbers.map((e) => textValue(e.details.number)).join(', ')
|
|
279
|
-
: '—' })] }), _jsxs("div", { children: [_jsx("dt", { children: t.submitter }), _jsx("dd", { children: textValue(submitterName ?? submitterId) })] }), _jsxs("div", { children: [_jsx("dt", { children: t.createdAt }), _jsx("dd", { children: createdAt })] })] }), !(managementInstance?.canEdit && isInitial) && _jsx(DataFields, { fields: fields, data: data })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [_jsx("p", { role: "status", children: timeline.following ? t.following : t.notFollowing }), _jsx(Button, { disabled: task.pending, type: "button", onClick: () => {
|
|
280
|
-
void task.run(async () => {
|
|
281
|
-
const next = await call(action, {
|
|
282
|
-
kind: 'follow',
|
|
283
|
-
id,
|
|
284
|
-
enabled: !timeline.following,
|
|
285
|
-
});
|
|
286
|
-
setTimeline({ ...timeline, following: next.following });
|
|
287
|
-
});
|
|
288
|
-
}, children: timeline.following ? t.unfollow : t.follow })] }), _jsxs("section", { className: `${box} flex flex-col gap-3`, "aria-label": t.timeline, children: [_jsx("h2", { className: "font-semibold", children: t.timeline }), _jsx("ol", { className: "flex flex-col gap-4", children: timeline.items.map((event) => (_jsx(TimelineItem, { event: event, labels: t }, event.id))) }), !timeline.items.length && _jsx("p", { children: t.empty }), timeline.hasMore && (_jsx(Button, { type: "button", variant: "outline", disabled: task.pending, onClick: () => {
|
|
289
|
-
void task.run(() => loadTimeline(true));
|
|
290
|
-
}, children: t.loadMore }))] }), _jsxs("form", { className: `${box} flex flex-col gap-3`, onSubmit: (e) => {
|
|
291
|
-
e.preventDefault();
|
|
292
|
-
void task.run(async () => {
|
|
293
|
-
await call(action, { kind: 'comment', id, body });
|
|
294
|
-
setBody('');
|
|
295
|
-
await loadTimeline(false);
|
|
296
|
-
});
|
|
297
|
-
}, children: [_jsxs("label", { className: "flex flex-col gap-2", children: [t.comment, _jsx("textarea", { required: true, "aria-label": t.comment, maxLength: 4000, className: `${selectClass} min-h-28`, value: body, onChange: (e) => setBody(e.target.value) })] }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Input, { "aria-label": t.mentionSearch, maxLength: 200, value: q, onChange: (e) => setQ(e.target.value) }), _jsx(Button, { type: "button", variant: "outline", disabled: task.pending, onClick: () => {
|
|
298
|
-
void task.run(async () => {
|
|
299
|
-
const result = await call(action, {
|
|
300
|
-
kind: 'mentionable',
|
|
301
|
-
id,
|
|
302
|
-
q,
|
|
303
|
-
});
|
|
304
|
-
setPeople(result.items);
|
|
305
|
-
setSelected(result.items[0]?.id ?? '');
|
|
306
|
-
});
|
|
307
|
-
}, children: t.search })] }), people &&
|
|
308
|
-
(people.length ? (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx("select", { className: selectClass, "aria-label": t.mention, value: selected, onChange: (e) => setSelected(e.target.value), children: people.map((p) => (_jsx("option", { value: p.id, children: p.name ?? t.unnamed }, p.id))) }), _jsx(Button, { type: "button", disabled: task.pending || !selected, variant: "outline", onClick: () => setBody((value) => `${value}${value ? ' ' : ''}@{${selected}} `), children: t.mention })] })) : (_jsx("p", { children: t.noPeople }))), _jsx(Button, { type: "submit", disabled: task.pending || !body.trim() || body.length > 4000, children: t.sendComment })] })] }));
|
|
309
|
-
}
|
|
310
|
-
function TimelineItem({ event, labels: t }) {
|
|
311
|
-
return (_jsxs("li", { className: "min-w-0 border-l-2 pl-3 [overflow-wrap:anywhere]", children: [_jsxs("p", { className: "text-sm text-muted-foreground", children: [_jsx("time", { dateTime: event.at, children: event.at }), " \u00B7 ", t[event.kind], " \u00B7 ", textValue(event.actorId)] }), event.kind === 'COMMENT' ? (_jsxs(_Fragment, { children: [_jsx("p", { className: "whitespace-pre-wrap break-words", children: textValue(event.details.body) }), event.details.isAiGenerated === true && (_jsx("strong", { className: "text-sm", children: t.aiGenerated }))] })) : event.kind === 'DOCUMENT' ? (_jsx("p", { className: "whitespace-pre-wrap break-words", children: documentEventText(event, t) })) : event.kind === 'ATTACHMENT' ? (_jsx("p", { className: "whitespace-pre-wrap break-words", children: attachmentEventText(event, t) })) : (_jsx("p", { className: "whitespace-pre-wrap break-words", children: textValue(event.details) }))] }));
|
|
312
|
-
}
|
|
313
|
-
function documentEventText(event, t) {
|
|
314
|
-
const document = event.details.decision?.document;
|
|
315
|
-
const format = document?.format === 'pdf' ? 'PDF' : document?.format === 'docx' ? 'Word' : '—';
|
|
316
|
-
return `${t.documentGeneratedEvent}: ${textValue(document?.templateCode)} · ${t.documentVersion}: ${textValue(document?.templateVersion)} · ${t.documentFormat}: ${format} · ${t.documentActor}: ${textValue(event.actorId)}`;
|
|
317
|
-
}
|
|
318
|
-
function attachmentEventText(event, t) {
|
|
319
|
-
const attachment = event.details.decision?.attachment;
|
|
320
|
-
const verb = attachment?.action === 'UPLOADED'
|
|
321
|
-
? t.attachmentUploadedEvent
|
|
322
|
-
: attachment?.action === 'DELETED'
|
|
323
|
-
? t.attachmentDeletedEvent
|
|
324
|
-
: t.ATTACHMENT;
|
|
325
|
-
return `${verb}: ${textValue(attachment?.fileName)}`;
|
|
326
|
-
}
|
|
327
|
-
export function JobStatus({ initial, labels: t, action, downloadBase, onComplete, }) {
|
|
328
|
-
const [job, setJob] = useState(initial), [attempt, setAttempt] = useState(0), [stopped, setStopped] = useState(false);
|
|
329
|
-
const [error, setError] = useState();
|
|
330
|
-
const complete = useRef(onComplete);
|
|
331
|
-
complete.current = onComplete;
|
|
332
|
-
// biome-ignore lint/correctness/useExhaustiveDependencies: attempt is the explicit manual refresh signal.
|
|
333
|
-
useEffect(() => {
|
|
334
|
-
let active = true, timer;
|
|
335
|
-
let polls = 0;
|
|
336
|
-
setStopped(false);
|
|
337
|
-
setError(undefined);
|
|
338
|
-
const poll = async () => {
|
|
339
|
-
try {
|
|
340
|
-
const next = await call(action, { kind: 'job', id: initial.id });
|
|
341
|
-
if (!active)
|
|
342
|
-
return;
|
|
343
|
-
setJob(next);
|
|
344
|
-
if (!canPoll(next)) {
|
|
345
|
-
complete.current?.(next);
|
|
346
|
-
return;
|
|
347
|
-
}
|
|
348
|
-
if (++polls >= 90) {
|
|
349
|
-
setStopped(true);
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
timer = setTimeout(poll, 2000);
|
|
353
|
-
}
|
|
354
|
-
catch (error) {
|
|
355
|
-
if (active) {
|
|
356
|
-
setError(error instanceof RequestFailure ? error.reason : { key: 'requestFailed' });
|
|
357
|
-
setStopped(true);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
};
|
|
361
|
-
if (canPoll(initial))
|
|
362
|
-
timer = setTimeout(poll, 2000);
|
|
363
|
-
else
|
|
364
|
-
complete.current?.(initial);
|
|
365
|
-
return () => {
|
|
366
|
-
active = false;
|
|
367
|
-
clearTimeout(timer);
|
|
368
|
-
};
|
|
369
|
-
}, [initial, action, attempt]);
|
|
370
|
-
if (inaccessible(error))
|
|
371
|
-
return _jsx(ErrorMessage, { error: error, labels: t });
|
|
372
|
-
return (_jsxs("section", { className: `${box} flex flex-col gap-2`, "aria-label": t.job, children: [_jsxs("p", { role: "status", children: [t.job, ": ", t[job.status], " (", Math.max(0, Math.min(100, job.progress)), "%)"] }), _jsx("progress", { "aria-label": t.job, value: Math.max(0, Math.min(100, job.progress)), max: 100, className: "w-full" }), _jsx(ErrorMessage, { error: error, labels: t }), job.lastError && (_jsx("p", { role: "alert", className: "break-words text-destructive", children: t.requestFailed })), stopped && (_jsxs("div", { children: [_jsx("p", { children: t.pollStopped }), _jsx(Button, { type: "button", variant: "outline", onClick: () => setAttempt(attempt + 1), children: t.retry })] })), job.status === 'SUCCEEDED' && job.result && (_jsx(JobReport, { result: job.result, labels: t, downloadBase: downloadBase }))] }));
|
|
373
|
-
}
|
|
374
|
-
export function JobReport({ result, labels: t, downloadBase, }) {
|
|
375
|
-
const failures = result.kind === 'preflight'
|
|
376
|
-
? (result.rows ?? []).filter((r) => r.errors.length)
|
|
377
|
-
: Array.isArray(result.failed)
|
|
378
|
-
? result.failed
|
|
379
|
-
: [];
|
|
380
|
-
return (_jsxs("div", { className: "flex min-w-0 flex-col gap-3", children: [_jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsxs("span", { children: [t.total, ": ", result.total ?? result.rowCount ?? 0] }), result.kind === 'preflight' && (_jsxs("span", { children: [t.valid, ": ", result.valid ?? 0] })), result.kind === 'import' && (_jsxs("span", { children: [t.success, ": ", result.imported?.length ?? 0] })), result.kind !== 'export' && (_jsxs("span", { children: [t.failed, ": ", Array.isArray(result.failed) ? result.failed.length : (result.failed ?? 0)] }))] }), (result.errors ?? []).map((error) => (_jsx("p", { className: "break-words text-destructive", children: t[errorKey(error.code)] }, `${error.code}-${error.path}-${error.message}`))), !!failures.length && (_jsx("div", { className: "max-h-96 overflow-auto", children: _jsxs("table", { className: "w-full text-left text-sm", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: t.row }), _jsx("th", { children: t.value }), _jsx("th", { children: t.code }), _jsx("th", { children: t.reason })] }) }), _jsx("tbody", { children: failures.map((row) => (_jsxs("tr", { className: "border-t", children: [_jsx("td", { className: "p-2", children: row.rowNumber }), _jsx("td", { className: "max-w-64 break-words p-2", children: row.data ? textValue(row.data) : '—' }), _jsx("td", { className: "p-2", children: row.errors
|
|
381
|
-
.map((e) => (errorKey(e.code) === 'requestFailed' ? '—' : e.code))
|
|
382
|
-
.join(', ') }), _jsx("td", { className: "max-w-64 break-words p-2", children: row.errors.map((e) => t[errorKey(e.code)]).join('; ') })] }, row.rowNumber))) })] }) })), result.downloadPath && (_jsx("a", { className: "underline", href: `${downloadBase}?${new URLSearchParams({ path: result.downloadPath })}`, children: result.kind === 'export' ? t.download : t.downloadErrors }))] }));
|
|
383
|
-
}
|
|
384
|
-
export function ImportClient({ machines, fields: initialFields, labels: t, action, uploadAction, downloadBase, }) {
|
|
385
|
-
const task = useTask();
|
|
386
|
-
const fileId = useId();
|
|
387
|
-
const [machine, setMachine] = useState(machines[0]?.code ?? ''), [fields, setFields] = useState(initialFields);
|
|
388
|
-
const [upload, setUpload] = useState();
|
|
389
|
-
const [targets, setTargets] = useState([]), [keys, setKeys] = useState([]);
|
|
390
|
-
const [preflight, setPreflight] = useState(), [completed, setCompleted] = useState(), [imported, setImported] = useState();
|
|
391
|
-
const [confirmed, setConfirmed] = useState(false);
|
|
392
|
-
const reset = () => {
|
|
393
|
-
setPreflight(undefined);
|
|
394
|
-
setCompleted(undefined);
|
|
395
|
-
setImported(undefined);
|
|
396
|
-
setConfirmed(false);
|
|
397
|
-
};
|
|
398
|
-
if (inaccessible(task.error))
|
|
399
|
-
return _jsx(ErrorMessage, { error: task.error, labels: t });
|
|
400
|
-
return (_jsxs("div", { className: "flex min-w-0 flex-col gap-4", "aria-busy": task.pending, children: [_jsx("p", { children: t.importHint }), _jsx(ErrorMessage, { error: task.error, labels: t }), task.pending && _jsx("p", { role: "status", children: t.loading }), _jsxs("label", { className: "flex flex-col gap-2", children: [t.machine, _jsx("select", { className: selectClass, disabled: task.pending, value: machine, onChange: (e) => {
|
|
401
|
-
const code = e.target.value;
|
|
402
|
-
void task.run(async () => {
|
|
403
|
-
const next = await call(action, {
|
|
404
|
-
kind: 'importFields',
|
|
405
|
-
machineCode: code,
|
|
406
|
-
});
|
|
407
|
-
setMachine(code);
|
|
408
|
-
setFields(next);
|
|
409
|
-
setUpload(undefined);
|
|
410
|
-
setTargets([]);
|
|
411
|
-
setKeys([]);
|
|
412
|
-
reset();
|
|
413
|
-
});
|
|
414
|
-
}, children: machines.map((m) => (_jsx("option", { value: m.code, children: m.label }, m.code))) })] }), _jsxs("form", { className: `${box} flex flex-col gap-3`, onSubmit: (e) => {
|
|
415
|
-
e.preventDefault();
|
|
416
|
-
const form = new FormData(e.currentTarget);
|
|
417
|
-
void task.run(async () => {
|
|
418
|
-
reset();
|
|
419
|
-
setUpload(undefined);
|
|
420
|
-
const result = await uploadAction(form);
|
|
421
|
-
if (result.error)
|
|
422
|
-
throw new RequestFailure(result.error);
|
|
423
|
-
const next = result.data;
|
|
424
|
-
setUpload(next);
|
|
425
|
-
setTargets(next.headers.map((header) => (fields.some((f) => f.key === header) ? header : '')));
|
|
426
|
-
setKeys([]);
|
|
427
|
-
});
|
|
428
|
-
}, children: [_jsxs("label", { htmlFor: fileId, className: "flex flex-col gap-2", children: [t.file, _jsx(Input, { id: fileId, name: "file", type: "file", accept: ".csv,.xlsx", required: true, disabled: task.pending, onChange: () => {
|
|
429
|
-
setUpload(undefined);
|
|
430
|
-
reset();
|
|
431
|
-
} })] }), _jsx(Button, { type: "submit", disabled: task.pending, children: t.readHeaders })] }), upload && (_jsx("form", { className: `${box} flex flex-col gap-4`, onSubmit: (e) => {
|
|
432
|
-
e.preventDefault();
|
|
433
|
-
void task.run(async () => {
|
|
434
|
-
const mapping = importMapping(upload.headers, targets, keys, fields);
|
|
435
|
-
reset();
|
|
436
|
-
setPreflight(await call(action, {
|
|
437
|
-
kind: 'preflight',
|
|
438
|
-
input: {
|
|
439
|
-
machineCode: machine,
|
|
440
|
-
format: upload.format,
|
|
441
|
-
contentBase64: upload.contentBase64,
|
|
442
|
-
...mapping,
|
|
443
|
-
},
|
|
444
|
-
}));
|
|
445
|
-
});
|
|
446
|
-
}, children: _jsxs("fieldset", { disabled: task.pending || !!preflight, className: "flex flex-col gap-3", children: [_jsx("legend", { className: "font-semibold", children: t.mapping }), upload.headers.map((header, index) => (_jsxs("label", { className: "grid gap-2 sm:grid-cols-2", children: [_jsx("span", { className: "break-all", children: header }), _jsxs("select", { "aria-label": header, className: selectClass, value: targets[index] ?? '', onChange: (e) => {
|
|
447
|
-
setTargets(targets.map((target, i) => (i === index ? e.target.value : target)));
|
|
448
|
-
setKeys([]);
|
|
449
|
-
}, children: [_jsx("option", { value: "", children: t.skip }), fields.map((f) => (_jsxs("option", { value: f.key, children: [f.label, " (", f.type, ")", f.required ? ` · ${t.required}` : ''] }, f.key)))] })] }, header))), _jsxs("fieldset", { className: "flex flex-wrap gap-3", children: [_jsx("legend", { children: t.duplicateKey }), _jsx("p", { className: "w-full text-sm text-muted-foreground", children: t.duplicateHint }), fields
|
|
450
|
-
.filter((f) => targets.includes(f.key))
|
|
451
|
-
.map((f) => (_jsxs("label", { className: "flex items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: keys.includes(f.key), disabled: !keys.includes(f.key) && keys.length >= 5, onChange: (e) => setKeys(e.target.checked ? [...keys, f.key] : keys.filter((key) => key !== f.key)) }), f.label] }, f.key)))] }), _jsx(Button, { type: "submit", children: t.preflight })] }) })), preflight && (_jsx(JobStatus, { initial: preflight, labels: t, action: action, downloadBase: downloadBase, onComplete: setCompleted })), completed && (_jsx(ImportConfirmation, { job: completed, labels: t, pending: task.pending || confirmed, onConfirm: () => {
|
|
452
|
-
void task.run(async () => {
|
|
453
|
-
const job = await call(action, {
|
|
454
|
-
kind: 'confirm',
|
|
455
|
-
id: completed.id,
|
|
456
|
-
confirmed: true,
|
|
457
|
-
});
|
|
458
|
-
setConfirmed(true);
|
|
459
|
-
setImported(job);
|
|
460
|
-
});
|
|
461
|
-
} })), imported && (_jsx(JobStatus, { initial: imported, labels: t, action: action, downloadBase: downloadBase }))] }));
|
|
462
|
-
}
|
|
463
|
-
export function ImportConfirmation({ job, labels: t, pending, onConfirm, }) {
|
|
464
|
-
if (job.status !== 'SUCCEEDED' || job.result?.kind !== 'preflight')
|
|
465
|
-
return null;
|
|
466
|
-
return (_jsxs("div", { className: `${box} flex flex-col gap-3`, children: [_jsx("p", { children: t.confirmHint }), _jsx(Button, { type: "button", disabled: pending || !!job.result.errors?.length || !job.result.valid, onClick: onConfirm, children: t.confirmImport })] }));
|
|
467
|
-
}
|
|
8
|
+
export { FilterEditor, prepareFilter } from './filter-editor.js';
|
|
9
|
+
export { ImportClient, ImportConfirmation, JobReport, JobStatus } from './import-client.js';
|
|
10
|
+
export { DeletedInstancesClient, LifecycleMenu, LifecyclePanel, TagPicker, TagsPanel, } from './instance-management-client.js';
|
|
11
|
+
export { CreateRecordButton, ListClient } from './list-client.js';
|
|
12
|
+
export { DelegationsClient, InstanceAccessPanel, PrincipalPicker } from './management-client.js';
|
|
13
|
+
export { ProcessActions, RoutingNotice } from './process-client.js';
|
|
14
|
+
export { TaskCountBadge, TaskResponse, TasksClient, TasksSkeleton } from './tasks-client.js';
|
|
15
|
+
export { ActivityFeed, commentText, timelineSentence } from './timeline.js';
|
|
16
|
+
export { Chip, DateTimeText, EmptyState, ErrorState, FieldValue, StateBadge, SubformTable, Tabs, } from './ui.js';
|
|
468
17
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,yEAAyE;AACzE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,SAAS,EACT,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,IAAI,GACL,MAAM,SAAS,CAAC"}
|