/** * @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, ComponentProps } from "preact"; import "ojs/ojlistview"; import { ojListView } from "ojs/ojlistview"; import MutableArrayDataProvider = require("ojs/ojmutablearraydataprovider"); import { KeySetImpl, KeySet } from "ojs/ojkeyset"; import { useMemo } from "preact/hooks"; type Props = { data?: MutableArrayDataProvider; value?: string; onActivityChanged: (value: Item) => void; }; type Item = { id: number; name: string; short_desc?: string; price?: number; quantity?: number; quantity_shipped?: number; quantity_instock?: number; activity_id?: number; image?: string; }; type Activity = { id: number; name: string; short_desc: string; }; const listItemRenderer = (item: ojListView.ItemTemplateContext) => { let image = item.data.image.replace("css", "styles"); return (
{item.data.name}
); }; type ListViewProps = ComponentProps<"oj-list-view">; const gridlinesItemVisible: ListViewProps["gridlines"] = { item: "visible" }; const scrollPolicyOpts: ListViewProps["scrollPolicyOptions"] = { fetchSize: 5 }; const ActivityContainer = (props: Props) => { const selectedActivityChanged = ( event: ojListView.firstSelectedItemChanged ) => { props.onActivityChanged(event.detail.value.data); }; const activityValue = useMemo(() => { return new KeySetImpl([props.value]) as KeySet; }, [props.value]); return (

Activities

); }; export default ActivityContainer; export default ActivityContainer;