/** * @license * Copyright (c) 2014, 2024, Oracle and/or its affiliates. * Licensed under The Universal Permissive License (UPL), Version 1.0 * as shown at https://oss.oracle.com/licenses/upl/ * @ignore */ import { h } from "preact"; import { useRef, useEffect, useState, MutableRef } from "preact/hooks"; import "ojs/ojdialog"; import { ojDialog } from "ojs/ojdialog"; type Props = { isOpened: boolean; closeDialog: (ref: MutableRef, type: string) => void; editItem: (data: Partial, ref: MutableRef) => void; itemData: Partial; }; type Item = { id: number; name: string | undefined; short_desc?: string; price?: number; quantity?: number; quantity_shipped?: number; quantity_instock?: number; activity_id?: number; image?: string; }; const EditItemDialog = (props: Props) => { const editDialogRef = useRef(); const [editFormData, setEditFormData] = useState>({}); const onChangeHandler = (event: any) => { if (event.detail.updatedFrom === "internal") { setEditFormData({ ...editFormData, [event.currentTarget.id]: event.detail.value, }); } }; const closeDialog = () => { props.closeDialog(editDialogRef as MutableRef, "edit"); }; const editItem = () => { console.log("data: " + JSON.stringify(editFormData)); props.editItem(editFormData, editDialogRef as MutableRef); }; useEffect(() => { setEditFormData(props.itemData); props.isOpened ? editDialogRef.current?.open() : editDialogRef.current?.close(); }, [props.isOpened]); return ( } dialogTitle="Update Item Details" onojClose={closeDialog} cancelBehavior="icon">
Item ID
{editFormData?.id}
Submit
); }; export default EditItemDialog;