saleor-dashboard/src/components/Metadata/utils.ts

43 lines
1.2 KiB
TypeScript
Raw Normal View History

import { ChangeEvent } from "@saleor/hooks/useForm";
import { nameSeparator } from "./MetadataCard";
import { EventData, EventDataAction, EventDataField } from "./types";
export function parseEventData(event: ChangeEvent): EventData {
let action: EventDataAction;
let field: EventDataField = null;
let fieldIndex: number = null;
let value: string = null;
if (event.target.name.includes(EventDataField.name)) {
action = EventDataAction.update;
field = EventDataField.name;
fieldIndex = parseInt(event.target.name.split(nameSeparator)[1], 0);
value = event.target.value;
}
if (event.target.name.includes(EventDataField.value)) {
action = EventDataAction.update;
field = EventDataField.value;
fieldIndex = parseInt(event.target.name.split(nameSeparator)[1], 0);
value = event.target.value;
}
if (event.target.name === EventDataAction.add) {
action = EventDataAction.add;
}
if (event.target.name === EventDataAction.delete) {
action = EventDataAction.delete;
fieldIndex = event.target.value;
}
return {
action,
field,
fieldIndex,
value
};
}
export function getDataKey(isPrivate: boolean) {
return isPrivate ? "privateMetadata" : "metadata";
}