mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
feat(web/context): allow manually sorting the options
In order to have the options in the same order as defined, you need to not use keys, instead a normal index table and define the title for the option
This commit is contained in:
@@ -12,31 +12,27 @@ debugData<ContextMenuProps>([
|
||||
action: "showContext",
|
||||
data: {
|
||||
title: "Vehicle garage",
|
||||
options: {
|
||||
"Dinka Blista": {
|
||||
description: "Super cool vehicle",
|
||||
menu: "some_other_identifier",
|
||||
metadata: {
|
||||
Plate: "KLT 192",
|
||||
Status: "In garage",
|
||||
Health: "30%",
|
||||
},
|
||||
options: [
|
||||
{ title: "Empty button" },
|
||||
{
|
||||
title: "Example button",
|
||||
description: "Example button description",
|
||||
metadata: { ["Value 1"]: "Some value", ["Value 2"]: 300 },
|
||||
},
|
||||
"Elegy Nitro": {
|
||||
description: "Even cooler vehicle",
|
||||
metadata: ["Plate: JGM 971", "Status: In garage"],
|
||||
{
|
||||
title: "Menu button",
|
||||
menu: "other_example_menu",
|
||||
description: "Takes you to another menu",
|
||||
metadata: ["It also has metadata support"],
|
||||
},
|
||||
Burger: {
|
||||
description: "Make a delicious burger",
|
||||
metadata: {
|
||||
Bun: 3,
|
||||
Lettuce: 2,
|
||||
Meat: 1,
|
||||
Tomato: 1,
|
||||
Cheese: 2,
|
||||
},
|
||||
{
|
||||
title: "Event button",
|
||||
description: "Open a menu and send event data",
|
||||
arrow: true,
|
||||
event: "some_event",
|
||||
args: { value1: 300, value2: "Other value" },
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -68,7 +68,7 @@ const Item: React.FC<{
|
||||
<Box>
|
||||
<Box paddingBottom={option[1].description ? 1 : 0}>
|
||||
<Text w="100%" fontWeight="medium">
|
||||
{option[0]}
|
||||
{option[1].title ? option[1].title : option[0]}
|
||||
</Text>
|
||||
</Box>
|
||||
{option[1].description && (
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export interface Option {
|
||||
menu?: string;
|
||||
title?: string;
|
||||
description?: string;
|
||||
arrow?: boolean;
|
||||
metadata?: string[] | { [key: string]: any };
|
||||
@@ -15,5 +16,5 @@ export interface Options {
|
||||
export interface ContextMenuProps {
|
||||
title: string;
|
||||
menu?: string;
|
||||
options: Options;
|
||||
options: Options | Option[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user