You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1023 B

4 years ago
4 years ago
4 years ago
4 years ago
  1. <script lang="ts">
  2. import type { GroupResult } from "../models/group";
  3. import type { ModalData } from "../stores/modal";
  4. import ItemEntry from "./ItemEntry.svelte";
  5. import Option from "./Option.svelte";
  6. import OptionRow from "./OptionRow.svelte";
  7. import ParentEntry from "./ParentEntry.svelte";
  8. export let group: GroupResult = null;
  9. export let showAllOptions: boolean = false;
  10. let mdItemAdd: ModalData;
  11. let mdGroupEdit: ModalData;
  12. let mdGroupDelete: ModalData;
  13. $: mdItemAdd = {name:"item.add", group};
  14. $: mdGroupEdit = {name:"group.edit", group};
  15. $: mdGroupDelete = {name:"group.delete", group};
  16. </script>
  17. <ParentEntry
  18. full={showAllOptions}
  19. entry={group}
  20. >
  21. {#if showAllOptions}
  22. <OptionRow>
  23. <Option open={mdItemAdd}>Add Item</Option>
  24. <Option open={mdGroupEdit}>Edit</Option>
  25. <Option open={mdGroupDelete}>Delete</Option>
  26. </OptionRow>
  27. {#each group.items as item (item.id)}
  28. <ItemEntry item={item} group={group} />
  29. {/each}
  30. {/if}
  31. </ParentEntry>