Datamängdredigerare
- Komponent
- Status
-
Produktionsklar
Datamändgredigeraren används för att erbjuda användare funktionerna "lägg till", "ändra" och "ta bort" i en datamängd. Komponenten ansvarar inte för hur datamängden och åtgärderna "lägg till", "ändra" och "ta bort" presenteras. Vanligtvis används lista eller tabell för presentation men kan även vara egenutvecklad.
Om knappens visuella text för "ändra" och "ta bort" inte tydligt identifierar raden från andra rader, behöver knappen kompletteras med en text för skärmläsare. Beroende på sammanhang kan även knappen för "lägg till ny" behöva kompletteras med en skärmläsartext, som tydligör vad som läggs till.
Tabell med redigering
Förpopulera objekt
Använd propen beforeCreate med en callback som returnerar ett objekt för att förpopulera data som ska läggas till.
Callback anropas innan modalen visas.
<f-crud-dataset :before-create="onBeforeCreate">
<template #default> ... </template>
</f-crud-dataset>
function onBeforeCreate(): MyInterface {
return {/* ... */};
}
Knappordning
Standardinställningen för knappordningen i modalerna för "Lägg till" och "Ändra" är att primärknappen ligger först följt av sekundärknappen. Standardinställningen för modalen "Ta bort" är att sekundärknappen ligger först följt av primärknappen. Du kan ändra knappordningen för bekräftelsemodalen och därmed ändra knappordningen för modalen "Ta bort" genom inställning av buttonOrder i konfigurationen.
Knapposition
I standardutförande är knapparna positionerade under huvudinnehållet.
Med propen buttonPosition kan knapparna istället positioneras ovanför huvudinnehållet.
Egna lägg till knappar
Använd slotten #buttons för att lägga till egna anpassade lägg-till knappar.
Du behöver själv hantera vad klick på knappen ska utföra för åtgärd.
<f-crud-dataset>
<template #default> ... </template>
+ <template #buttons="{ buttonClasses }">
+ <button type="button" :class="buttonClasses" @click="onClick">
+ My button
+ </button>
+ </template>
</f-crud-dataset>
Tabell med lägg till-knapp
Tabell med knapp
Lista med redigering
Sorterbar lista
Anpassade texter
Rubriker i modaler kan anpassas antingen med textnycklar (standardtexter för alla datamängdredigerare) eller med propar (för en specifik datamängdredigerare):
- Lägg till: textnyckel
fkui.crud-dataset.modal.header.addeller propaddNewModalHeader. - Ändra: textnyckel
fkui.crud-dataset.modal.header.modifyeller propmodifyModalHeader. - Ta bort: textnyckel
fkui.crud-dataset.modal.header.deleteeller propdeleteModalHeader.
Knapptexter i modaler kan anpassas med textnycklar.
- Lägg till: textnycklar
fkui.crud-dataset.modal.confirm.addochfkui.crud-dataset.modal.cancel.add. - Ändra: textnycklar
fkui.crud-dataset.modal.confirm.modifyochfkui.crud-dataset.modal.cancel.modify. - Ta bort: textnycklar
fkui.crud-dataset.modal.confirm.deleteochfkui.crud-dataset.modal.cancel.delete.
Knappentexten för "Lägg till" kan anpassas med textnyckel fkui.crud-dataset.button.add eller slotten add-button.
Knapptexter för åtgärdsknappar kan anpassas med textnycklar eller med knappens default slot.
- Ändra: textnyckel
fkui.crud-button.modifyeller default slot. - Ta bort: textnyckel
fkui.crud-button.deleteeller default slot.
Modalstorlek
Storleken på modalerna för "Lägg till" och "Ändra" kan anpassas med propen formModalSize.
Giltiga värden är:
""(tom sträng, standard)"small""medium""large""fullwidth"
<f-crud-dataset form-modal-size="large">
<template #default> ... </template>
<template #add> ... </template>
<template #modify> ... </template>
</f-crud-dataset>
Se FFormModal för mer information om modalstorlekar.
Textnycklar
Läs mer om att anpassa och översätta text.
-
fkui.crud-dataset.modal.header.add -
‐
Default: "Lägg till rad"
-
fkui.crud-dataset.modal.header.modify -
‐
Default: "Ändra rad"
-
fkui.crud-dataset.modal.header.delete -
‐
Default: "Är du säker på att du vill ta bort raden?"
-
fkui.crud-dataset.button.add -
‐
Default: "Lägg till ny"
-
fkui.crud-dataset.modal.confirm.add -
"Save" button in "add new" modal"
Default: "Lägg till"
-
fkui.crud-dataset.modal.confirm.modify -
"Save" button in "modify" modal
Default: "Spara"
-
fkui.crud-dataset.modal.cancel.add -
"Cancel" button in "add new" modal
Default: "Avbryt"
-
fkui.crud-dataset.modal.cancel.modify -
"Cancel" button in "modify" modal
Default: "Avbryt"
-
fkui.crud-dataset.modal.confirm.delete -
"Confirm" button in "delete" modal
Default: "Ja, ta bort"
-
fkui.crud-dataset.modal.cancel.delete -
"Cancel" button in "delete" modal
Default: "Nej, avbryt"
-
fkui.crud-dataset.aria-live.delete -
Text announced to screenreaders when an item has been removed
Default: "Raden har tagits bort"
-
fkui.crud-dataset.aria-live.add -
Text announced to screenreaders when an item has been added
Default: "En rad har lagts till"
-
fkui.crud-dataset.aria-live.modify -
Text announced to screenreaders when an item has been modified
Default: "Raden har ändrats"
-
fkui.crud-dataset.modal.close -
‐
Default: "Stäng"
-
fkui.crud-button.delete -
Button label when action is "delete"
Default: "Ta bort"
-
fkui.crud-button.modify -
Button label when action is "modify"
Default: "Ändra"
API
FCrudDataset
Props
-
beforeCreate: (() => T) | undefinedOptional -
A function that returns an item to the #add template. Can be used to populate data that the user should not input themself e.g. an id. Or to give the user suggestions for inputs. If the prop is not used an empty item will be returned.
Default:
undefined -
beforeSubmit: FValidationFormCallbackOptional -
If given, this function is called before the [[submit]] event is emitted. See <f-validation-form>
beforeSubmitprops for more info.Default:
function() { /* do nothing */ } -
beforeValidation: FValidationFormCallbackOptional -
If given, this function is called before the form data is validated and the [[submit]] event is emitted. See <f-validation-form>
beforeValidationprops for more info.Default:
function() { /* do nothing */ } -
onCancel: () => voidOptional -
If given, this function is called after the modal has been closed.
Default:
function() { return undefined; } -
addNewModalHeader: stringOptional -
Property for changing the "add new" modal heading
Default:
TranslationService.provider.translate("fkui.crud-dataset.modal.header.add", "Lägg till rad") -
modifyModalHeader: stringOptional -
Property for changing the "modify" modal heading
Default:
TranslationService.provider.translate("fkui.crud-dataset.modal.header.modify", "Ändra rad") -
deleteModalHeader: stringOptional -
Property for changing the "delete" modal heading
Default:
TranslationService.provider.translate( "fkui.crud-dataset.modal.header.delete", "Är du säker på att du vill ta bort raden?", ) -
formModalSize: FModalSize | "fullscreen" | ""Optional -
Property for changing the "add" and "modify" modal size
Default:
"" -
buttonPosition: "bottom" | "top"Optional -
Property for setting the position of the add button
Default:
"bottom"
Events
-
created -
Emitted when an item is added.
Arguments:
item: T— the added item.
-
deleted -
Emitted when an item is deleted.
Arguments:
item: T— the deleted item.
-
updated -
Emitted when an item is updated.
Arguments:
item: T— the updated item.
Slots
-
add-button -
Slot for changing the text in "Add new" button`
-
buttons -
Slot for additional add buttons
Bindings:
buttonClasses: string[]— Default button classes.
-
default -
Slot for displaying the data.
Bindings:
updateItem: (item: T) => void— Callback to trigger modification modaldeleteItem: (item: T, nested?: keyof T) => void— Callback to trigger deletion modal
-
add -
Slot for inputs when creating a new item. The new item is available through
v-slot="{ item }". If any data in the item should be set not by the user the propbeforeCreatecan be used to set that data.Bindings:
item: T— Item returned bybeforeCreateor an empty object.
-
modify -
Slot for inputs when modifying an item. The item being modified is available through
v-slot="{ item }".Bindings:
item: T— A clone of the current item.
-
delete -
Slot for displaying a warning message before an item is deleted. The item being deleted is available through
v-slot="{ item }".Bindings:
item: T— Item about to be deleted.
FCrudButton
Komponenten är deprekerad. Läs mer om att migrera FCrudButton.