mirror of
https://github.com/zadam/trilium.git
synced 2025-11-17 18:50:41 +01:00
refactor(react/ribbon): shared component for labelled entry
This commit is contained in:
@@ -11,6 +11,7 @@ import { ParentComponent } from "../react/react_utils";
|
||||
import FNote from "../../entities/fnote";
|
||||
import FormCheckbox from "../react/FormCheckbox";
|
||||
import FormTextBox from "../react/FormTextBox";
|
||||
import { ComponentChildren } from "preact";
|
||||
|
||||
const VIEW_TYPE_MAPPINGS: Record<ViewTypeOptions, string> = {
|
||||
grid: t("book_properties.grid"),
|
||||
@@ -106,34 +107,38 @@ function NumberPropertyView({ note, property }: { note: FNote, property: NumberP
|
||||
const [ value, setValue ] = useNoteLabel(note, property.bindToLabel);
|
||||
|
||||
return (
|
||||
<>
|
||||
<label>
|
||||
{property.label}
|
||||
|
||||
<FormTextBox
|
||||
type="number"
|
||||
currentValue={value ?? ""} onChange={setValue}
|
||||
style={{ width: (property.width ?? 100) + "px" }}
|
||||
min={property.min ?? 0}
|
||||
/>
|
||||
</label>
|
||||
</>
|
||||
<LabelledEntry label={property.label}>
|
||||
<FormTextBox
|
||||
type="number"
|
||||
currentValue={value ?? ""} onChange={setValue}
|
||||
style={{ width: (property.width ?? 100) + "px" }}
|
||||
min={property.min ?? 0}
|
||||
/>
|
||||
</LabelledEntry>
|
||||
)
|
||||
}
|
||||
|
||||
function ComboBoxPropertyView({ note, property }: { note: FNote, property: ComboBoxProperty }) {
|
||||
const [ value, setValue ] = useNoteLabel(note, property.bindToLabel);
|
||||
|
||||
return (
|
||||
<LabelledEntry label={property.label}>
|
||||
<FormSelectWithGroups
|
||||
values={property.options}
|
||||
keyProperty="value" titleProperty="label"
|
||||
currentValue={value ?? ""} onChange={setValue}
|
||||
/>
|
||||
</LabelledEntry>
|
||||
)
|
||||
}
|
||||
|
||||
function LabelledEntry({ label, children }: { label: string, children: ComponentChildren }) {
|
||||
return (
|
||||
<>
|
||||
<label>
|
||||
{property.label}
|
||||
{label}
|
||||
|
||||
<FormSelectWithGroups
|
||||
values={property.options}
|
||||
keyProperty="value" titleProperty="label"
|
||||
currentValue={value ?? ""} onChange={setValue}
|
||||
/>
|
||||
{children}
|
||||
</label>
|
||||
</>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user