const roleSelect = {
role: {
valueField: "id",
searchField: "name",
options: [], // Initialize empty array for options
placeholder: "",
placeholder: "Select the role",
plugins: ['remove_button'],
closeAfterSelect: true,
onDelete: function (values) {
},
render: {
option: function (data, escape) {
if (!data.name) {
console.error("Invalid data for option:", data);
return "";
}
return `
`;
},
item: function (data, escape) {
if (!data.name) {
console.error("Invalid data for item:", data);
return "";
}
return `
${escape(data.name)}
`;
},
},
},
};
const fetchRoles = (roleSelect) => {
return fetch('/get-roles')
.then(response => response.json())
.then(data => {
if (!data.roles || !Array.isArray(data.roles)) {
console.error("Invalid response format:", data);
return;
}
roleSelect.role.options = data.roles;
})
.catch(error => console.error('Error fetching role data:', error));
};
export { roleSelect, fetchRoles };