Skip to content

Commit 38879dc

Browse files
vtaitsVadim Taits
andauthored
FP-354 tags size improvement (#2023)
* FP-354 tags size improvement > Input tags size on metric creation > Change tags size select with input on metric edit page * Fixed input attributes on edit form --------- Co-authored-by: Vadim Taits <[email protected]>
1 parent c6568a5 commit 38879dc

File tree

2 files changed

+35
-19
lines changed

2 files changed

+35
-19
lines changed

statshouse-ui/src/admin/pages/CreatePage.tsx

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ export function CreatePage(props: { yAxisSize: number }) {
3232

3333
export function EditFormCreate() {
3434
const [name, setName] = React.useState('');
35-
const { onSubmit, isRunning, error, success } = useSubmitCreate(name);
35+
const [tagsSize, setSetTagsSize] = React.useState(10);
36+
const { onSubmit, isRunning, error, success } = useSubmitCreate({
37+
name,
38+
tagsSize,
39+
});
3640

3741
return (
3842
<form>
@@ -57,6 +61,25 @@ export function EditFormCreate() {
5761
</div>
5862
</div>
5963

64+
<div className="row mb-3">
65+
<label htmlFor="tagsSize" className="col-sm-2 col-form-label">
66+
Tags size
67+
</label>
68+
<div className="col-sm-5">
69+
<input
70+
id="tagsSize"
71+
name="tagsSize"
72+
className="form-control"
73+
type="number"
74+
min="1"
75+
max={maxTagsSize}
76+
step="1"
77+
value={tagsSize}
78+
onChange={(e) => setSetTagsSize(parseInt(e.target.value))}
79+
/>
80+
</div>
81+
</div>
82+
6083
<div>
6184
<button type="button" disabled={isRunning} className="btn btn-primary me-3" onClick={onSubmit}>
6285
{'Create'}
@@ -77,7 +100,7 @@ export function EditFormCreate() {
77100
);
78101
}
79102

80-
function useSubmitCreate(name: string) {
103+
function useSubmitCreate({ name, tagsSize }: { name: string; tagsSize: number }) {
81104
const navigate = useNavigate();
82105
const [isRunning, setRunning] = React.useState<boolean>(false);
83106
const [error, setError] = React.useState<string | null>(null);
@@ -103,10 +126,10 @@ function useSubmitCreate(name: string) {
103126
disable: false,
104127
tags: [
105128
{ name: '', alias: 'environment', customMapping: [] }, // env
106-
...new Array(maxTagsSize - 1).fill({}).map(() => getDefaultTag()),
129+
...new Array(tagsSize - 1).fill({}).map(() => getDefaultTag()),
107130
],
108131
tags_draft: [],
109-
tagsSize: maxTagsSize,
132+
tagsSize: tagsSize,
110133
};
111134

112135
createMetric(mapEditToMetric(values), {
@@ -123,7 +146,7 @@ function useSubmitCreate(name: string) {
123146
setRunning(false);
124147
},
125148
});
126-
}, [createMetric, name, navigate]);
149+
}, [createMetric, name, tagsSize, navigate]);
127150

128151
return {
129152
isRunning,

statshouse-ui/src/admin/pages/FormPage.tsx

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -294,25 +294,18 @@ export function EditForm(props: { isReadonly: boolean; adminMode: boolean; isHis
294294
<div className="col-sm">
295295
<div className="row">
296296
<div className="col-sm-auto">
297-
<select
297+
<input
298298
id="tagsNum"
299299
name="tagsNum"
300-
className="form-select"
300+
className="form-control"
301+
type="number"
302+
min="1"
303+
max={maxTagsSize}
304+
step="1"
301305
value={values.tagsSize}
302306
onChange={(e) => dispatch({ type: 'numTags', num: e.target.value })}
303307
disabled={isReadonly}
304-
>
305-
{new Array(maxTagsSize).fill(0).map(
306-
(
307-
_v,
308-
n // TODO - const
309-
) => (
310-
<option key={n} value={n + 1}>
311-
{n + 1}
312-
</option>
313-
)
314-
)}
315-
</select>
308+
/>
316309
</div>
317310
</div>
318311
<div id="tagsHelpBlock" className="form-text">

0 commit comments

Comments
 (0)