文件操作 - utils.ts
返回文件管理
返回主菜单
删除本文件
文件: /home/www/public/wp-content/plugins/give/src/Subscriptions/resources/utils.ts
编辑文件内容
import { useEntityRecord } from '@wordpress/core-data'; import { useDispatch } from '@wordpress/data'; import { store as coreStore } from '@wordpress/core-data'; import apiFetch from '@wordpress/api-fetch'; import { Subscription } from '@givewp/subscriptions/admin/components/types'; import type { GiveSubscriptionOptions } from '@givewp/subscriptions/types'; declare const window: { GiveSubscriptionOptions: GiveSubscriptionOptions; } & Window; /** * @since 4.11.0 added refreshSubscriptionInBackground to the save method * @since 4.8.0 */ export function useSubscriptionEntityRecord(subscriptionId?: number) { const urlParams = new URLSearchParams(window.location.search); const refreshSubscriptionInBackground = useRefreshSubscriptionInBackground(); const { record, hasResolved, isResolving, save, edit, }: { record: Subscription; hasResolved: boolean; isResolving: boolean; save: () => any; edit: (data: Subscription | Partial<Subscription>) => void; } = useEntityRecord('givewp', 'subscription', subscriptionId ?? urlParams.get('id')); const saveAndRefresh = async () => { const response = await save(); await refreshSubscriptionInBackground(response?.id); return response; } return {record, hasResolved, isResolving, save: saveAndRefresh, edit}; } /** * @since 4.11.0 added _embed=true to the request * @since 4.8.0 */ export function useRefreshSubscriptionInBackground() { const { receiveEntityRecords, invalidateResolution } = useDispatch(coreStore); const refreshSubscriptionInBackground = async (subscriptionId: number) => { if (!subscriptionId) return; try { const latestSubscriptionData = await apiFetch({ path: `/givewp/v3/subscriptions/${subscriptionId}?_embed=true`, }); receiveEntityRecords('givewp', 'subscription', latestSubscriptionData, undefined, false); } catch (error) { console.error('Error refreshing subscription in background:', error); invalidateResolution('getEntityRecord', ['givewp', 'subscription', subscriptionId]); } }; return refreshSubscriptionInBackground; } /** * @since 4.8.0 */ export function getSubscriptionOptionsWindowData(): GiveSubscriptionOptions { return window.GiveSubscriptionOptions; }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件