Changeset 3250593
- Timestamp:
- 03/04/2025 05:11:02 PM (12 months ago)
- Location:
- dblocks-finder
- Files:
-
- 10 edited
- 1 copied
-
tags/1.0.5 (copied) (copied from dblocks-finder/trunk)
-
tags/1.0.5/app/App.php (modified) (1 diff)
-
tags/1.0.5/build/index.asset.php (modified) (1 diff)
-
tags/1.0.5/build/index.js (modified) (1 diff)
-
tags/1.0.5/dblocks-finder.php (modified) (1 diff)
-
tags/1.0.5/readme.txt (modified) (2 diffs)
-
trunk/app/App.php (modified) (1 diff)
-
trunk/build/index.asset.php (modified) (1 diff)
-
trunk/build/index.js (modified) (1 diff)
-
trunk/dblocks-finder.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dblocks-finder/tags/1.0.5/app/App.php
r3215748 r3250593 32 32 'usage' => $usage, 33 33 'patterns' => $patterns, // Adding the patterns to the localized script 34 'pattern_usage' => $pattern_usage // Adding the pattern usage to the localized script 34 'pattern_usage' => $pattern_usage, // Adding the pattern usage to the localized script 35 'adminUrl' => admin_url() // Adding the admin URL 35 36 ]); 36 37 -
dblocks-finder/tags/1.0.5/build/index.asset.php
r3215748 r3250593 1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-element', 'wp-primitives'), 'version' => ' 2060cfa200cdc77e952c');1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-element', 'wp-primitives'), 'version' => '5f8f2735fad1f2dea0b3'); -
dblocks-finder/tags/1.0.5/build/index.js
r3215748 r3250593 1 (()=>{"use strict";var e={338:(e,t,s)=>{var l=s(795);t.createRoot=l.createRoot,t.hydrateRoot=l.hydrateRoot},795:e=>{e.exports=window.ReactDOM}},t={};window.React;var s=function s(l){var n=t[l];if(void 0!==n)return n.exports;var c=t[l]={exports:{}};return e[l](c,c.exports,s),c.exports}(338);const l=window.wp.element,n=window.wp.components,c=window.ReactJSXRuntime,o=({searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:l})=>(0,c.jsx)(n.SearchControl,{ref:s,value:e,onChange:t,placeholder:"Search blocks...",onClick:()=>l(-1),className:"mb-0"}),a=(0,l.forwardRef)((function({icon:e,size:t=24,...s},n){return(0,l.cloneElement)(e,{width:t,height:t,...s,ref:n})})),r=window.wp.primitives,i=(0,c.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(r.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})}),d=({blockName:e,isSelected:t,onClick:s})=>(0,c.jsxs)("div",{tabIndex:-1,className:"relative flex items-center gap-2 py-2 font-medium "+(t?"bg-gray-100":""),onClick:s,style:{cursor:"pointer"},children:[e,t&&(0,c.jsx)("span",{className:"absolute right-2",children:(0,c.jsx)(a,{icon:i})})]}),h=({listRef:e,selectedBlock:t,selectedIndex:s,filteredBlocks:l,blocksData:n,handleShowAll:o,handleBlockClick:a,setSelectedIndex:r})=>(0,c.jsxs)("ul",{ref:e,className:"mt-8 overflow-y-auto max-h-[calc(100vh-200px)]",children:[(0,c.jsx)(d,{blockName:"Show All",isSelected:null===t||0===s,onClick:()=>{o(),r(0)}}),l.length>0?l.map(((e,l)=>(0,c.jsx)(d,{blockName:n[e]?.title||e,isSelected:t===e||s===l+1,onClick:()=>{a(e),r(l+1)}},e))):(0,c.jsx)("li",{children:"No blocks found."})]}),p=({setSelectedFilter:e,selectedFilter:t})=>{const s=t=>{e(t)};return(0,c.jsx)(n.Dropdown,{className:"my-container-class-name",contentClassName:"my-dropdown-content-classname",popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,c.jsx)(n.Button,{onClick:t,"aria-expanded":e,icon:(0,c.jsx)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24","aria-hidden":"true",focusable:"false",children:(0,c.jsx)("path",{d:"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z"})})}),renderContent:()=>(0,c.jsxs)(n.MenuGroup,{children:[(0,c.jsx)(n.MenuItem,{isSelected:"All"===t,onClick:()=>s("All"),children:"All"}),(0,c.jsx)(n.MenuItem,{isSelected:"Blocks"===t,onClick:()=>s("Blocks"),children:"Blocks"}),(0,c.jsx)(n.MenuItem,{isSelected:"Sync Patterns"===t,onClick:()=>s("Sync Patterns"),children:"Sync Patterns"})]})})},x=({searchInput:e,setSearchInput:t,searchInputRef:s,listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u,handleKeyDown:m,setSelectedFilter:w,selectedFilter:f})=>(0,c.jsxs)("div",{id:"sidebar",className:"w-[400px] bg-white p-8 border-r border-slate-300 grow",onKeyDown:m,children:[(0,c.jsxs)("div",{className:"flex items-top gap-2",children:[(0,c.jsx)(o,{searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:u}),(0,c.jsx)(p,{setSelectedFilter:w,selectedFilter:f})]}),(0,c.jsx)(h,{listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u})]}),u=({title:e,postId:t})=>(0,c.jsxs)("div",{className:"bg-white p-2 flex items-center justify-between gap-2 hover:bg-gray-50 cursor-pointer border-b border-solid border-slate-200 last:border-b-0",children:[(0,c.jsx)("h2",{className:"text-md",children:e}),(0,c.jsx)(n.Button,{size:"small",variant:"secondary",onClick:()=>window.open(` /wp-admin/post.php?post=${t}&action=edit`,"_blank"),children:"Edit"})]}),m=({postType:e,title:t,posts:s})=>{const l=`dashicons dashicons-admin-${"template"===e||"template_part"===e?"site-alt3":e} w-[1rem] h-[1rem]`;return(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 !mb-2",children:[(0,c.jsx)("div",{className:l}),(0,c.jsx)("h2",{className:"",children:t})]}),(0,c.jsx)("div",{className:"rounded-md mb-4 border border-solid border-slate-200 overflow-hidden",children:s.map((e=>(0,c.jsx)(u,{title:e.title,postId:e.id},e.id)))})]})},w=({selectedBlock:e,blocksData:t,filteredBlocks:s,usageData:l,selectedFilter:n})=>(0,c.jsx)("div",{className:"w-full p-8",children:(0,c.jsxs)("div",{className:"space-y-1 mx-auto max-w-[800px]",children:[e?(0,c.jsx)("h1",{className:"!text-5xl !font-bold !mb-8",children:t[e]?.title||e}):(0,c.jsxs)("h1",{className:"!text-5xl !font-bold !mb-8",children:["All"===n?"Blocks and Patterns":n," Usage"]}),(0,c.jsx)("div",{className:"space-y-8",children:(e?[e]:s).map((s=>(0,c.jsxs)("div",{children:[!e&&(0,c.jsx)("h2",{className:"text-lg font-medium mb-4",children:t[s]?.title||s}),l[s]&&Object.entries(l[s]).map((([e,t])=>(0,c.jsx)(m,{postType:e,title:`Found in: ${e}`,posts:t},e)))]},s)))})]})}),f=()=>{const[e,t]=(0,l.useState)(""),[s,n]=(0,l.useState)({}),[o,a]=(0,l.useState)({}),[r,i]=(0,l.useState)(null),[d,h]=(0,l.useState)(-1),[p,u]=(0,l.useState)("All"),m=(0,l.useRef)(null),f=(0,l.useRef)(null);(0,l.useEffect)((()=>{if(window.DBLOCKS_DATA)try{const e=JSON.parse(window.DBLOCKS_DATA.blocks),t=JSON.parse(window.DBLOCKS_DATA.patterns),s=JSON.parse(window.DBLOCKS_DATA.usage),l=JSON.parse(window.DBLOCKS_DATA.pattern_usage);let c={},o={};"All"===p?(c={...e,...t},o={...s,...k(l)}):"Sync Patterns"===p?(c={...t},o={...k(l)}):"Blocks"===p&&(c={...e},o={...s}),n(c),a(o)}catch(e){console.error("Error parsing DBLOCKS_DATA:",e)}else console.error("DBLOCKS_DATA is not available")}),[p]);const k=e=>{const t={};return Object.keys(e).forEach((s=>{const l=e[s],n=[],c=[];l.forEach((({post_title:e,post_type:t,post_id:s})=>{"page"===t?n.push({title:e,id:s}):"post"===t&&c.push({title:e,id:s})})),(n.length>0||c.length>0)&&(t[s]={},n.length>0&&(t[s].page=n),c.length>0&&(t[s].post=c))})),t},S=Object.keys(o).filter((t=>s[t]?.title.toLowerCase().includes(e.toLowerCase()))),j=e=>{((e,t,s)=>{s(e===t?null:e)})(e,r,i)},b=()=>{(e=>{e(null)})(i)};return(0,l.useEffect)((()=>{if(-1===d)m.current?.focus();else{const e=f.current?.getElementsByTagName("div");e?.[d]?.focus()}}),[d]),(0,c.jsxs)("div",{className:"flex min-h-[calc(100vh-32px)]",children:[(0,c.jsx)(x,{searchInput:e,setSearchInput:t,searchInputRef:m,listRef:f,selectedBlock:r,selectedIndex:d,filteredBlocks:S,blocksData:s,handleShowAll:b,handleBlockClick:j,setSelectedIndex:h,handleKeyDown:e=>{((e,t,s,l,n,c,o,a)=>{"ArrowDown"===e.key?(e.preventDefault(),t<s.length&&l((e=>e+1))):"ArrowUp"===e.key?(e.preventDefault(),t>-1&&l((e=>e-1))):"Enter"===e.key&&t>=0&&(e.preventDefault(),0===t?n(a):c(s[t-1],o,a))})(e,d,S,h,b,j,r,i)},setSelectedFilter:u,selectedFilter:p}),(0,c.jsx)(w,{selectedBlock:r,blocksData:s,filteredBlocks:S,usageData:o,selectedFilter:p})]})};void 0!==window.DBLOCKS_DATA?s.createRoot(document.getElementById("App")).render((0,c.jsx)(f,{})):console.error("DBLOCKS_DATA is not available")})();1 (()=>{"use strict";var e={338:(e,t,s)=>{var l=s(795);t.createRoot=l.createRoot,t.hydrateRoot=l.hydrateRoot},795:e=>{e.exports=window.ReactDOM}},t={};window.React;var s=function s(l){var n=t[l];if(void 0!==n)return n.exports;var c=t[l]={exports:{}};return e[l](c,c.exports,s),c.exports}(338);const l=window.wp.element,n=window.wp.components,c=window.ReactJSXRuntime,o=({searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:l})=>(0,c.jsx)(n.SearchControl,{ref:s,value:e,onChange:t,placeholder:"Search blocks...",onClick:()=>l(-1),className:"mb-0"}),a=(0,l.forwardRef)((function({icon:e,size:t=24,...s},n){return(0,l.cloneElement)(e,{width:t,height:t,...s,ref:n})})),r=window.wp.primitives,i=(0,c.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(r.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})}),d=({blockName:e,isSelected:t,onClick:s})=>(0,c.jsxs)("div",{tabIndex:-1,className:"relative flex items-center gap-2 py-2 font-medium "+(t?"bg-gray-100":""),onClick:s,style:{cursor:"pointer"},children:[e,t&&(0,c.jsx)("span",{className:"absolute right-2",children:(0,c.jsx)(a,{icon:i})})]}),h=({listRef:e,selectedBlock:t,selectedIndex:s,filteredBlocks:l,blocksData:n,handleShowAll:o,handleBlockClick:a,setSelectedIndex:r})=>(0,c.jsxs)("ul",{ref:e,className:"mt-8 overflow-y-auto max-h-[calc(100vh-200px)]",children:[(0,c.jsx)(d,{blockName:"Show All",isSelected:null===t||0===s,onClick:()=>{o(),r(0)}}),l.length>0?l.map(((e,l)=>(0,c.jsx)(d,{blockName:n[e]?.title||e,isSelected:t===e||s===l+1,onClick:()=>{a(e),r(l+1)}},e))):(0,c.jsx)("li",{children:"No blocks found."})]}),p=({setSelectedFilter:e,selectedFilter:t})=>{const s=t=>{e(t)};return(0,c.jsx)(n.Dropdown,{className:"my-container-class-name",contentClassName:"my-dropdown-content-classname",popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,c.jsx)(n.Button,{onClick:t,"aria-expanded":e,icon:(0,c.jsx)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24","aria-hidden":"true",focusable:"false",children:(0,c.jsx)("path",{d:"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z"})})}),renderContent:()=>(0,c.jsxs)(n.MenuGroup,{children:[(0,c.jsx)(n.MenuItem,{isSelected:"All"===t,onClick:()=>s("All"),children:"All"}),(0,c.jsx)(n.MenuItem,{isSelected:"Blocks"===t,onClick:()=>s("Blocks"),children:"Blocks"}),(0,c.jsx)(n.MenuItem,{isSelected:"Sync Patterns"===t,onClick:()=>s("Sync Patterns"),children:"Sync Patterns"})]})})},x=({searchInput:e,setSearchInput:t,searchInputRef:s,listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u,handleKeyDown:m,setSelectedFilter:w,selectedFilter:f})=>(0,c.jsxs)("div",{id:"sidebar",className:"w-[400px] bg-white p-8 border-r border-slate-300 grow",onKeyDown:m,children:[(0,c.jsxs)("div",{className:"flex items-top gap-2",children:[(0,c.jsx)(o,{searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:u}),(0,c.jsx)(p,{setSelectedFilter:w,selectedFilter:f})]}),(0,c.jsx)(h,{listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u})]}),u=({title:e,postId:t})=>(0,c.jsxs)("div",{className:"bg-white p-2 flex items-center justify-between gap-2 hover:bg-gray-50 cursor-pointer border-b border-solid border-slate-200 last:border-b-0",children:[(0,c.jsx)("h2",{className:"text-md",children:e}),(0,c.jsx)(n.Button,{size:"small",variant:"secondary",onClick:()=>window.open(`${DBLOCKS_DATA.adminUrl}post.php?post=${t}&action=edit`,"_blank"),children:"Edit"})]}),m=({postType:e,title:t,posts:s})=>{const l=`dashicons dashicons-admin-${"template"===e||"template_part"===e?"site-alt3":e} w-[1rem] h-[1rem]`;return(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 !mb-2",children:[(0,c.jsx)("div",{className:l}),(0,c.jsx)("h2",{className:"",children:t})]}),(0,c.jsx)("div",{className:"rounded-md mb-4 border border-solid border-slate-200 overflow-hidden",children:s.map((e=>(0,c.jsx)(u,{title:e.title,postId:e.id},e.id)))})]})},w=({selectedBlock:e,blocksData:t,filteredBlocks:s,usageData:l,selectedFilter:n})=>(0,c.jsx)("div",{className:"w-full p-8",children:(0,c.jsxs)("div",{className:"space-y-1 mx-auto max-w-[800px]",children:[e?(0,c.jsx)("h1",{className:"!text-5xl !font-bold !mb-8",children:t[e]?.title||e}):(0,c.jsxs)("h1",{className:"!text-5xl !font-bold !mb-8",children:["All"===n?"Blocks and Patterns":n," Usage"]}),(0,c.jsx)("div",{className:"space-y-8",children:(e?[e]:s).map((s=>(0,c.jsxs)("div",{children:[!e&&(0,c.jsx)("h2",{className:"text-lg font-medium mb-4",children:t[s]?.title||s}),l[s]&&Object.entries(l[s]).map((([e,t])=>(0,c.jsx)(m,{postType:e,title:`Found in: ${e}`,posts:t},e)))]},s)))})]})}),f=()=>{const[e,t]=(0,l.useState)(""),[s,n]=(0,l.useState)({}),[o,a]=(0,l.useState)({}),[r,i]=(0,l.useState)(null),[d,h]=(0,l.useState)(-1),[p,u]=(0,l.useState)("All"),m=(0,l.useRef)(null),f=(0,l.useRef)(null);(0,l.useEffect)((()=>{if(window.DBLOCKS_DATA)try{const e=JSON.parse(window.DBLOCKS_DATA.blocks),t=JSON.parse(window.DBLOCKS_DATA.patterns),s=JSON.parse(window.DBLOCKS_DATA.usage),l=JSON.parse(window.DBLOCKS_DATA.pattern_usage);let c={},o={};"All"===p?(c={...e,...t},o={...s,...k(l)}):"Sync Patterns"===p?(c={...t},o={...k(l)}):"Blocks"===p&&(c={...e},o={...s}),n(c),a(o)}catch(e){console.error("Error parsing DBLOCKS_DATA:",e)}else console.error("DBLOCKS_DATA is not available")}),[p]);const k=e=>{const t={};return Object.keys(e).forEach((s=>{const l=e[s],n=[],c=[];l.forEach((({post_title:e,post_type:t,post_id:s})=>{"page"===t?n.push({title:e,id:s}):"post"===t&&c.push({title:e,id:s})})),(n.length>0||c.length>0)&&(t[s]={},n.length>0&&(t[s].page=n),c.length>0&&(t[s].post=c))})),t},S=Object.keys(o).filter((t=>s[t]?.title.toLowerCase().includes(e.toLowerCase()))),j=e=>{((e,t,s)=>{s(e===t?null:e)})(e,r,i)},b=()=>{(e=>{e(null)})(i)};return(0,l.useEffect)((()=>{if(-1===d)m.current?.focus();else{const e=f.current?.getElementsByTagName("div");e?.[d]?.focus()}}),[d]),(0,c.jsxs)("div",{className:"flex min-h-[calc(100vh-32px)]",children:[(0,c.jsx)(x,{searchInput:e,setSearchInput:t,searchInputRef:m,listRef:f,selectedBlock:r,selectedIndex:d,filteredBlocks:S,blocksData:s,handleShowAll:b,handleBlockClick:j,setSelectedIndex:h,handleKeyDown:e=>{((e,t,s,l,n,c,o,a)=>{"ArrowDown"===e.key?(e.preventDefault(),t<s.length&&l((e=>e+1))):"ArrowUp"===e.key?(e.preventDefault(),t>-1&&l((e=>e-1))):"Enter"===e.key&&t>=0&&(e.preventDefault(),0===t?n(a):c(s[t-1],o,a))})(e,d,S,h,b,j,r,i)},setSelectedFilter:u,selectedFilter:p}),(0,c.jsx)(w,{selectedBlock:r,blocksData:s,filteredBlocks:S,usageData:o,selectedFilter:p})]})};void 0!==window.DBLOCKS_DATA?s.createRoot(document.getElementById("App")).render((0,c.jsx)(f,{})):console.error("DBLOCKS_DATA is not available")})(); -
dblocks-finder/tags/1.0.5/dblocks-finder.php
r3215756 r3250593 1 1 <?php 2 /* 3 * Plugin Name:DBlocks Finder. Blocks and Synced Patterns2 /** 3 * Plugin Name: DBlocks Finder. Blocks and Synced Patterns 4 4 * Description: Plugin that will scan all public posts and pages and will show you which blocks and synced patterns are used on which post or page 5 5 * Requires at least: 6.1 6 6 * Requires PHP: 7.4 7 * Version: 1.0.4 8 * Author: DPlugins 7 * Version: 1.0.5 8 * Author: DPlugins 9 * Author URI: https://dplugins.com/ 9 10 * License: GPL-2.0-or-later 10 * Author URI: https://dplugins.com/11 11 * License URI: https://www.gnu.org/licenses/gpl-2.0.html 12 12 * Text Domain: dblocks-finder 13 13 * Website: https://www.dplugins.com 14 */ 14 * @package CreateBlock 15 */ 16 17 15 18 if (! defined('ABSPATH')) exit; // Exit if accessed directly 16 19 // Define constants -
dblocks-finder/tags/1.0.5/readme.txt
r3215756 r3250593 3 3 Tags: block, finder, gutenberg, dblocks, patterns 4 4 Requires at least: 6.6.0 5 Tested up to: 6.7. 16 Stable tag: 1.0. 45 Tested up to: 6.7.2 6 Stable tag: 1.0.5 7 7 Requires PHP: 7.4 8 8 License: GPL-2.0-or-later … … 48 48 49 49 == Changelog == 50 = 1.0.5 = 51 * fixed it to work in domain subdirectory 52 50 53 = 1.0.4 = 51 54 * updated assets -
dblocks-finder/trunk/app/App.php
r3215748 r3250593 32 32 'usage' => $usage, 33 33 'patterns' => $patterns, // Adding the patterns to the localized script 34 'pattern_usage' => $pattern_usage // Adding the pattern usage to the localized script 34 'pattern_usage' => $pattern_usage, // Adding the pattern usage to the localized script 35 'adminUrl' => admin_url() // Adding the admin URL 35 36 ]); 36 37 -
dblocks-finder/trunk/build/index.asset.php
r3215748 r3250593 1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-element', 'wp-primitives'), 'version' => ' 2060cfa200cdc77e952c');1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-element', 'wp-primitives'), 'version' => '5f8f2735fad1f2dea0b3'); -
dblocks-finder/trunk/build/index.js
r3215748 r3250593 1 (()=>{"use strict";var e={338:(e,t,s)=>{var l=s(795);t.createRoot=l.createRoot,t.hydrateRoot=l.hydrateRoot},795:e=>{e.exports=window.ReactDOM}},t={};window.React;var s=function s(l){var n=t[l];if(void 0!==n)return n.exports;var c=t[l]={exports:{}};return e[l](c,c.exports,s),c.exports}(338);const l=window.wp.element,n=window.wp.components,c=window.ReactJSXRuntime,o=({searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:l})=>(0,c.jsx)(n.SearchControl,{ref:s,value:e,onChange:t,placeholder:"Search blocks...",onClick:()=>l(-1),className:"mb-0"}),a=(0,l.forwardRef)((function({icon:e,size:t=24,...s},n){return(0,l.cloneElement)(e,{width:t,height:t,...s,ref:n})})),r=window.wp.primitives,i=(0,c.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(r.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})}),d=({blockName:e,isSelected:t,onClick:s})=>(0,c.jsxs)("div",{tabIndex:-1,className:"relative flex items-center gap-2 py-2 font-medium "+(t?"bg-gray-100":""),onClick:s,style:{cursor:"pointer"},children:[e,t&&(0,c.jsx)("span",{className:"absolute right-2",children:(0,c.jsx)(a,{icon:i})})]}),h=({listRef:e,selectedBlock:t,selectedIndex:s,filteredBlocks:l,blocksData:n,handleShowAll:o,handleBlockClick:a,setSelectedIndex:r})=>(0,c.jsxs)("ul",{ref:e,className:"mt-8 overflow-y-auto max-h-[calc(100vh-200px)]",children:[(0,c.jsx)(d,{blockName:"Show All",isSelected:null===t||0===s,onClick:()=>{o(),r(0)}}),l.length>0?l.map(((e,l)=>(0,c.jsx)(d,{blockName:n[e]?.title||e,isSelected:t===e||s===l+1,onClick:()=>{a(e),r(l+1)}},e))):(0,c.jsx)("li",{children:"No blocks found."})]}),p=({setSelectedFilter:e,selectedFilter:t})=>{const s=t=>{e(t)};return(0,c.jsx)(n.Dropdown,{className:"my-container-class-name",contentClassName:"my-dropdown-content-classname",popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,c.jsx)(n.Button,{onClick:t,"aria-expanded":e,icon:(0,c.jsx)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24","aria-hidden":"true",focusable:"false",children:(0,c.jsx)("path",{d:"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z"})})}),renderContent:()=>(0,c.jsxs)(n.MenuGroup,{children:[(0,c.jsx)(n.MenuItem,{isSelected:"All"===t,onClick:()=>s("All"),children:"All"}),(0,c.jsx)(n.MenuItem,{isSelected:"Blocks"===t,onClick:()=>s("Blocks"),children:"Blocks"}),(0,c.jsx)(n.MenuItem,{isSelected:"Sync Patterns"===t,onClick:()=>s("Sync Patterns"),children:"Sync Patterns"})]})})},x=({searchInput:e,setSearchInput:t,searchInputRef:s,listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u,handleKeyDown:m,setSelectedFilter:w,selectedFilter:f})=>(0,c.jsxs)("div",{id:"sidebar",className:"w-[400px] bg-white p-8 border-r border-slate-300 grow",onKeyDown:m,children:[(0,c.jsxs)("div",{className:"flex items-top gap-2",children:[(0,c.jsx)(o,{searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:u}),(0,c.jsx)(p,{setSelectedFilter:w,selectedFilter:f})]}),(0,c.jsx)(h,{listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u})]}),u=({title:e,postId:t})=>(0,c.jsxs)("div",{className:"bg-white p-2 flex items-center justify-between gap-2 hover:bg-gray-50 cursor-pointer border-b border-solid border-slate-200 last:border-b-0",children:[(0,c.jsx)("h2",{className:"text-md",children:e}),(0,c.jsx)(n.Button,{size:"small",variant:"secondary",onClick:()=>window.open(` /wp-admin/post.php?post=${t}&action=edit`,"_blank"),children:"Edit"})]}),m=({postType:e,title:t,posts:s})=>{const l=`dashicons dashicons-admin-${"template"===e||"template_part"===e?"site-alt3":e} w-[1rem] h-[1rem]`;return(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 !mb-2",children:[(0,c.jsx)("div",{className:l}),(0,c.jsx)("h2",{className:"",children:t})]}),(0,c.jsx)("div",{className:"rounded-md mb-4 border border-solid border-slate-200 overflow-hidden",children:s.map((e=>(0,c.jsx)(u,{title:e.title,postId:e.id},e.id)))})]})},w=({selectedBlock:e,blocksData:t,filteredBlocks:s,usageData:l,selectedFilter:n})=>(0,c.jsx)("div",{className:"w-full p-8",children:(0,c.jsxs)("div",{className:"space-y-1 mx-auto max-w-[800px]",children:[e?(0,c.jsx)("h1",{className:"!text-5xl !font-bold !mb-8",children:t[e]?.title||e}):(0,c.jsxs)("h1",{className:"!text-5xl !font-bold !mb-8",children:["All"===n?"Blocks and Patterns":n," Usage"]}),(0,c.jsx)("div",{className:"space-y-8",children:(e?[e]:s).map((s=>(0,c.jsxs)("div",{children:[!e&&(0,c.jsx)("h2",{className:"text-lg font-medium mb-4",children:t[s]?.title||s}),l[s]&&Object.entries(l[s]).map((([e,t])=>(0,c.jsx)(m,{postType:e,title:`Found in: ${e}`,posts:t},e)))]},s)))})]})}),f=()=>{const[e,t]=(0,l.useState)(""),[s,n]=(0,l.useState)({}),[o,a]=(0,l.useState)({}),[r,i]=(0,l.useState)(null),[d,h]=(0,l.useState)(-1),[p,u]=(0,l.useState)("All"),m=(0,l.useRef)(null),f=(0,l.useRef)(null);(0,l.useEffect)((()=>{if(window.DBLOCKS_DATA)try{const e=JSON.parse(window.DBLOCKS_DATA.blocks),t=JSON.parse(window.DBLOCKS_DATA.patterns),s=JSON.parse(window.DBLOCKS_DATA.usage),l=JSON.parse(window.DBLOCKS_DATA.pattern_usage);let c={},o={};"All"===p?(c={...e,...t},o={...s,...k(l)}):"Sync Patterns"===p?(c={...t},o={...k(l)}):"Blocks"===p&&(c={...e},o={...s}),n(c),a(o)}catch(e){console.error("Error parsing DBLOCKS_DATA:",e)}else console.error("DBLOCKS_DATA is not available")}),[p]);const k=e=>{const t={};return Object.keys(e).forEach((s=>{const l=e[s],n=[],c=[];l.forEach((({post_title:e,post_type:t,post_id:s})=>{"page"===t?n.push({title:e,id:s}):"post"===t&&c.push({title:e,id:s})})),(n.length>0||c.length>0)&&(t[s]={},n.length>0&&(t[s].page=n),c.length>0&&(t[s].post=c))})),t},S=Object.keys(o).filter((t=>s[t]?.title.toLowerCase().includes(e.toLowerCase()))),j=e=>{((e,t,s)=>{s(e===t?null:e)})(e,r,i)},b=()=>{(e=>{e(null)})(i)};return(0,l.useEffect)((()=>{if(-1===d)m.current?.focus();else{const e=f.current?.getElementsByTagName("div");e?.[d]?.focus()}}),[d]),(0,c.jsxs)("div",{className:"flex min-h-[calc(100vh-32px)]",children:[(0,c.jsx)(x,{searchInput:e,setSearchInput:t,searchInputRef:m,listRef:f,selectedBlock:r,selectedIndex:d,filteredBlocks:S,blocksData:s,handleShowAll:b,handleBlockClick:j,setSelectedIndex:h,handleKeyDown:e=>{((e,t,s,l,n,c,o,a)=>{"ArrowDown"===e.key?(e.preventDefault(),t<s.length&&l((e=>e+1))):"ArrowUp"===e.key?(e.preventDefault(),t>-1&&l((e=>e-1))):"Enter"===e.key&&t>=0&&(e.preventDefault(),0===t?n(a):c(s[t-1],o,a))})(e,d,S,h,b,j,r,i)},setSelectedFilter:u,selectedFilter:p}),(0,c.jsx)(w,{selectedBlock:r,blocksData:s,filteredBlocks:S,usageData:o,selectedFilter:p})]})};void 0!==window.DBLOCKS_DATA?s.createRoot(document.getElementById("App")).render((0,c.jsx)(f,{})):console.error("DBLOCKS_DATA is not available")})();1 (()=>{"use strict";var e={338:(e,t,s)=>{var l=s(795);t.createRoot=l.createRoot,t.hydrateRoot=l.hydrateRoot},795:e=>{e.exports=window.ReactDOM}},t={};window.React;var s=function s(l){var n=t[l];if(void 0!==n)return n.exports;var c=t[l]={exports:{}};return e[l](c,c.exports,s),c.exports}(338);const l=window.wp.element,n=window.wp.components,c=window.ReactJSXRuntime,o=({searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:l})=>(0,c.jsx)(n.SearchControl,{ref:s,value:e,onChange:t,placeholder:"Search blocks...",onClick:()=>l(-1),className:"mb-0"}),a=(0,l.forwardRef)((function({icon:e,size:t=24,...s},n){return(0,l.cloneElement)(e,{width:t,height:t,...s,ref:n})})),r=window.wp.primitives,i=(0,c.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(r.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})}),d=({blockName:e,isSelected:t,onClick:s})=>(0,c.jsxs)("div",{tabIndex:-1,className:"relative flex items-center gap-2 py-2 font-medium "+(t?"bg-gray-100":""),onClick:s,style:{cursor:"pointer"},children:[e,t&&(0,c.jsx)("span",{className:"absolute right-2",children:(0,c.jsx)(a,{icon:i})})]}),h=({listRef:e,selectedBlock:t,selectedIndex:s,filteredBlocks:l,blocksData:n,handleShowAll:o,handleBlockClick:a,setSelectedIndex:r})=>(0,c.jsxs)("ul",{ref:e,className:"mt-8 overflow-y-auto max-h-[calc(100vh-200px)]",children:[(0,c.jsx)(d,{blockName:"Show All",isSelected:null===t||0===s,onClick:()=>{o(),r(0)}}),l.length>0?l.map(((e,l)=>(0,c.jsx)(d,{blockName:n[e]?.title||e,isSelected:t===e||s===l+1,onClick:()=>{a(e),r(l+1)}},e))):(0,c.jsx)("li",{children:"No blocks found."})]}),p=({setSelectedFilter:e,selectedFilter:t})=>{const s=t=>{e(t)};return(0,c.jsx)(n.Dropdown,{className:"my-container-class-name",contentClassName:"my-dropdown-content-classname",popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,c.jsx)(n.Button,{onClick:t,"aria-expanded":e,icon:(0,c.jsx)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24","aria-hidden":"true",focusable:"false",children:(0,c.jsx)("path",{d:"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z"})})}),renderContent:()=>(0,c.jsxs)(n.MenuGroup,{children:[(0,c.jsx)(n.MenuItem,{isSelected:"All"===t,onClick:()=>s("All"),children:"All"}),(0,c.jsx)(n.MenuItem,{isSelected:"Blocks"===t,onClick:()=>s("Blocks"),children:"Blocks"}),(0,c.jsx)(n.MenuItem,{isSelected:"Sync Patterns"===t,onClick:()=>s("Sync Patterns"),children:"Sync Patterns"})]})})},x=({searchInput:e,setSearchInput:t,searchInputRef:s,listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u,handleKeyDown:m,setSelectedFilter:w,selectedFilter:f})=>(0,c.jsxs)("div",{id:"sidebar",className:"w-[400px] bg-white p-8 border-r border-slate-300 grow",onKeyDown:m,children:[(0,c.jsxs)("div",{className:"flex items-top gap-2",children:[(0,c.jsx)(o,{searchInput:e,setSearchInput:t,searchInputRef:s,setSelectedIndex:u}),(0,c.jsx)(p,{setSelectedFilter:w,selectedFilter:f})]}),(0,c.jsx)(h,{listRef:l,selectedBlock:n,selectedIndex:a,filteredBlocks:r,blocksData:i,handleShowAll:d,handleBlockClick:x,setSelectedIndex:u})]}),u=({title:e,postId:t})=>(0,c.jsxs)("div",{className:"bg-white p-2 flex items-center justify-between gap-2 hover:bg-gray-50 cursor-pointer border-b border-solid border-slate-200 last:border-b-0",children:[(0,c.jsx)("h2",{className:"text-md",children:e}),(0,c.jsx)(n.Button,{size:"small",variant:"secondary",onClick:()=>window.open(`${DBLOCKS_DATA.adminUrl}post.php?post=${t}&action=edit`,"_blank"),children:"Edit"})]}),m=({postType:e,title:t,posts:s})=>{const l=`dashicons dashicons-admin-${"template"===e||"template_part"===e?"site-alt3":e} w-[1rem] h-[1rem]`;return(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 !mb-2",children:[(0,c.jsx)("div",{className:l}),(0,c.jsx)("h2",{className:"",children:t})]}),(0,c.jsx)("div",{className:"rounded-md mb-4 border border-solid border-slate-200 overflow-hidden",children:s.map((e=>(0,c.jsx)(u,{title:e.title,postId:e.id},e.id)))})]})},w=({selectedBlock:e,blocksData:t,filteredBlocks:s,usageData:l,selectedFilter:n})=>(0,c.jsx)("div",{className:"w-full p-8",children:(0,c.jsxs)("div",{className:"space-y-1 mx-auto max-w-[800px]",children:[e?(0,c.jsx)("h1",{className:"!text-5xl !font-bold !mb-8",children:t[e]?.title||e}):(0,c.jsxs)("h1",{className:"!text-5xl !font-bold !mb-8",children:["All"===n?"Blocks and Patterns":n," Usage"]}),(0,c.jsx)("div",{className:"space-y-8",children:(e?[e]:s).map((s=>(0,c.jsxs)("div",{children:[!e&&(0,c.jsx)("h2",{className:"text-lg font-medium mb-4",children:t[s]?.title||s}),l[s]&&Object.entries(l[s]).map((([e,t])=>(0,c.jsx)(m,{postType:e,title:`Found in: ${e}`,posts:t},e)))]},s)))})]})}),f=()=>{const[e,t]=(0,l.useState)(""),[s,n]=(0,l.useState)({}),[o,a]=(0,l.useState)({}),[r,i]=(0,l.useState)(null),[d,h]=(0,l.useState)(-1),[p,u]=(0,l.useState)("All"),m=(0,l.useRef)(null),f=(0,l.useRef)(null);(0,l.useEffect)((()=>{if(window.DBLOCKS_DATA)try{const e=JSON.parse(window.DBLOCKS_DATA.blocks),t=JSON.parse(window.DBLOCKS_DATA.patterns),s=JSON.parse(window.DBLOCKS_DATA.usage),l=JSON.parse(window.DBLOCKS_DATA.pattern_usage);let c={},o={};"All"===p?(c={...e,...t},o={...s,...k(l)}):"Sync Patterns"===p?(c={...t},o={...k(l)}):"Blocks"===p&&(c={...e},o={...s}),n(c),a(o)}catch(e){console.error("Error parsing DBLOCKS_DATA:",e)}else console.error("DBLOCKS_DATA is not available")}),[p]);const k=e=>{const t={};return Object.keys(e).forEach((s=>{const l=e[s],n=[],c=[];l.forEach((({post_title:e,post_type:t,post_id:s})=>{"page"===t?n.push({title:e,id:s}):"post"===t&&c.push({title:e,id:s})})),(n.length>0||c.length>0)&&(t[s]={},n.length>0&&(t[s].page=n),c.length>0&&(t[s].post=c))})),t},S=Object.keys(o).filter((t=>s[t]?.title.toLowerCase().includes(e.toLowerCase()))),j=e=>{((e,t,s)=>{s(e===t?null:e)})(e,r,i)},b=()=>{(e=>{e(null)})(i)};return(0,l.useEffect)((()=>{if(-1===d)m.current?.focus();else{const e=f.current?.getElementsByTagName("div");e?.[d]?.focus()}}),[d]),(0,c.jsxs)("div",{className:"flex min-h-[calc(100vh-32px)]",children:[(0,c.jsx)(x,{searchInput:e,setSearchInput:t,searchInputRef:m,listRef:f,selectedBlock:r,selectedIndex:d,filteredBlocks:S,blocksData:s,handleShowAll:b,handleBlockClick:j,setSelectedIndex:h,handleKeyDown:e=>{((e,t,s,l,n,c,o,a)=>{"ArrowDown"===e.key?(e.preventDefault(),t<s.length&&l((e=>e+1))):"ArrowUp"===e.key?(e.preventDefault(),t>-1&&l((e=>e-1))):"Enter"===e.key&&t>=0&&(e.preventDefault(),0===t?n(a):c(s[t-1],o,a))})(e,d,S,h,b,j,r,i)},setSelectedFilter:u,selectedFilter:p}),(0,c.jsx)(w,{selectedBlock:r,blocksData:s,filteredBlocks:S,usageData:o,selectedFilter:p})]})};void 0!==window.DBLOCKS_DATA?s.createRoot(document.getElementById("App")).render((0,c.jsx)(f,{})):console.error("DBLOCKS_DATA is not available")})(); -
dblocks-finder/trunk/dblocks-finder.php
r3215756 r3250593 1 1 <?php 2 /* 3 * Plugin Name:DBlocks Finder. Blocks and Synced Patterns2 /** 3 * Plugin Name: DBlocks Finder. Blocks and Synced Patterns 4 4 * Description: Plugin that will scan all public posts and pages and will show you which blocks and synced patterns are used on which post or page 5 5 * Requires at least: 6.1 6 6 * Requires PHP: 7.4 7 * Version: 1.0.4 8 * Author: DPlugins 7 * Version: 1.0.5 8 * Author: DPlugins 9 * Author URI: https://dplugins.com/ 9 10 * License: GPL-2.0-or-later 10 * Author URI: https://dplugins.com/11 11 * License URI: https://www.gnu.org/licenses/gpl-2.0.html 12 12 * Text Domain: dblocks-finder 13 13 * Website: https://www.dplugins.com 14 */ 14 * @package CreateBlock 15 */ 16 17 15 18 if (! defined('ABSPATH')) exit; // Exit if accessed directly 16 19 // Define constants -
dblocks-finder/trunk/readme.txt
r3215756 r3250593 3 3 Tags: block, finder, gutenberg, dblocks, patterns 4 4 Requires at least: 6.6.0 5 Tested up to: 6.7. 16 Stable tag: 1.0. 45 Tested up to: 6.7.2 6 Stable tag: 1.0.5 7 7 Requires PHP: 7.4 8 8 License: GPL-2.0-or-later … … 48 48 49 49 == Changelog == 50 = 1.0.5 = 51 * fixed it to work in domain subdirectory 52 50 53 = 1.0.4 = 51 54 * updated assets
Note: See TracChangeset
for help on using the changeset viewer.