registerEditorItem
Description
Registers a custom UI component for use as a field in the EditorThe registered component must support the value property and onchange callback as in Editor.
Usage
registerEditorItem?: (
type: string,
handler: Component<any>
) => void;
Parameters
type- (required) a unique identifier for the editor controlhandler- (required) a Vue component that implementsvalueproperty andonchangecallback as in Editor.
Example
The example shows how to add a custom editor field using the radio button component:
<script setup>
import { ref } from "vue";
import { Gantt, Editor, getEditorItems, registerEditorItem, defaultTaskTypes } from "@svar-ui/vue-gantt";
import { RadioButtonGroup } from "@svar-ui/vue-core";
registerEditorItem("radio", RadioButtonGroup);
// replace the "type" select with a radio group
const items = getEditorItems().map(item =>
item.key === "type"
? {
key: "type",
comp: "radio",
label: "Type",
options: defaultTaskTypes.map(o => ({
...o,
value: o.id,
})),
config: { type: "inline" },
}
: item
);
const api = ref(null);
</script>
<template>
<Gantt ref="api" />
<Editor :api="api" :items="items" />
</template>
Related articles: