admin
5 months ago
components
8 months ago
constants
8 months ago
hooks
8 months ago
admin-donors.tsx
1 year ago
types.ts
11 months ago
utils.ts
9 months ago
utils.ts
38 lines
| 1 | import { useEntityRecord } from '@wordpress/core-data'; |
| 2 | import {Donor} from '@givewp/donors/admin/components/types'; |
| 3 | import type {GiveDonorOptions} from '@givewp/donors/types'; |
| 4 | |
| 5 | declare const window: { |
| 6 | GiveDonorOptions: GiveDonorOptions; |
| 7 | } & Window; |
| 8 | |
| 9 | /** |
| 10 | * @since 4.4.0 |
| 11 | */ |
| 12 | export function useDonorEntityRecord(donorId?: number) { |
| 13 | const urlParams = new URLSearchParams(window.location.search); |
| 14 | |
| 15 | const { |
| 16 | record: donor, |
| 17 | hasResolved, |
| 18 | isResolving, |
| 19 | save, |
| 20 | edit, |
| 21 | }: { |
| 22 | record: Donor; |
| 23 | hasResolved: boolean; |
| 24 | isResolving: boolean; |
| 25 | save: () => any; |
| 26 | edit: (data: Donor | Partial<Donor>) => void; |
| 27 | } = useEntityRecord('givewp', 'donor', donorId ?? urlParams.get('id')); |
| 28 | |
| 29 | return {record: donor, hasResolved, isResolving, save, edit}; |
| 30 | } |
| 31 | |
| 32 | /** |
| 33 | * @since 4.4.0 |
| 34 | */ |
| 35 | export function getDonorOptionsWindowData(): GiveDonorOptions { |
| 36 | return window.GiveDonorOptions; |
| 37 | } |
| 38 |