1 line
4.2 KiB
JavaScript
1 line
4.2 KiB
JavaScript
(()=>{"use strict";var e={n:l=>{var t=l&&l.__esModule?()=>l.default:()=>l;return e.d(t,{a:t}),t},d:(l,t)=>{for(var a in t)e.o(t,a)&&!e.o(l,a)&&Object.defineProperty(l,a,{enumerable:!0,get:t[a]})},o:(e,l)=>Object.prototype.hasOwnProperty.call(e,l)};const l=window.wp.blocks,t=window.wp.element,a=window.wp.serverSideRender;var n=e.n(a);const o=window.wp.blockEditor,r=window.wp.components,c=window.wp.hooks,i=window.wp.data;function s(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";for(var a=0;a<e.length;a+=1)l.push({label:t+e[a].name,value:e[a].id}),e[a].children.length>0&&s(e[a].children,l,t.trim()+"—");return l}const m=JSON.parse('{"u2":"aiovg/videos"}');(0,l.registerBlockType)(m.u2,{attributes:function(){var e,l,t={};for(var a in aiovg_blocks.videos){var n=aiovg_blocks.videos[a].fields;for(var o in n)t[n[o].name]={type:(e=n[o].type,l=void 0,l="string","categories"==e?l="array":"number"==e?l="number":"checkbox"==e&&(l="boolean"),l),default:n[o].value}}return t}(),edit:function(e){let{attributes:l,setAttributes:a}=e;const m=aiovg_blocks.videos,u=(0,i.useSelect)((e=>{const l=e("core").getEntityRecords("taxonomy","aiovg_categories",{per_page:-1});let t=[];if(l&&l.length>0){let e=function(e){for(var l,t={},a=[],n=0;n<e.length;n+=1)t[e[n].id]=n,e[n].children=[];for(n=0;n<e.length;n+=1)0==(l=e[n]).parent?a.push(l):t.hasOwnProperty(l.parent)&&e[t[l.parent]].children.push(l);return a}(l),a=s(e);t=[...t,...a]}return t})),p=(0,i.useSelect)((e=>{const l=e("core").getEntityRecords("taxonomy","aiovg_tags",{per_page:-1});let t=[];if(l)for(var a=0;a<l.length;a+=1)t.push({label:l[a].name,value:l[a].id});return t})),g=e=>l=>{a({[e]:l})},b=(0,t.useRef)();return(0,t.useEffect)((()=>{b.current?(0,c.applyFilters)("aiovg_block_init",l):b.current=!0})),(0,t.createElement)(t.Fragment,null,(0,t.createElement)(o.InspectorControls,null,Object.keys(m).map(((e,n)=>{return i=e,(0,c.applyFilters)("aiovg_block_toggle_panels",!0,i,l)&&(0,t.createElement)(r.PanelBody,{key:"aiovg-block-panel-"+n,title:m[e].title,initialOpen:0==n,className:"aiovg-block-panel"},Object.keys(m[e].fields).map(((n,i)=>((e,n)=>{if(i=e.name,s=!0,"show_more"!=i&&"more_label"!=i&&"more_link"!=i||(s=!1),!(0,c.applyFilters)("aiovg_block_toggle_controls",s,i,l))return"";var i,s;const m=e.placeholder?e.placeholder:"",b=e.description?e.description:"";switch(e.type){case"header":return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)("h3",{className:"aiovg-no-margin"},e.label));case"categories":return(0,t.createElement)(r.PanelRow,{key:n,className:"aiovg-block-multiselect"},(0,t.createElement)(r.SelectControl,{multiple:!0,label:e.label,help:b,options:u,value:l[e.name],onChange:g(e.name)}));case"tags":return(0,t.createElement)(r.PanelRow,{key:n,className:"aiovg-block-multiselect"},(0,t.createElement)(r.SelectControl,{multiple:!0,label:e.label,help:b,options:p,value:l[e.name],onChange:g(e.name)}));case"number":return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)(r.RangeControl,{label:e.label,help:b,placeholder:m,value:l[e.name],min:e.min,max:e.max,onChange:g(e.name)}));case"textarea":return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)(r.TextareaControl,{label:e.label,help:b,placeholder:m,value:l[e.name],onChange:g(e.name)}));case"select":case"radio":let c=[];for(let l in e.options)c.push({label:e.options[l],value:l});return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)(r.SelectControl,{label:e.label,help:b,options:c,value:l[e.name],onChange:g(e.name)}));case"checkbox":return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)(r.ToggleControl,{label:e.label,help:b,checked:l[e.name],onChange:(d=e.name,e=>{a({[d]:e})})}));case"color":return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)(o.PanelColorSettings,{title:e.label,colorSettings:[{label:aiovg_blocks.i18n.select_color,value:l[e.name],onChange:g(e.name)}]}));default:return(0,t.createElement)(r.PanelRow,{key:n},(0,t.createElement)(r.TextControl,{label:e.label,help:b,placeholder:m,value:l[e.name],onChange:g(e.name)}))}var d})(m[e].fields[n],"aiovg-block-control-"+i))));var i}))),(0,t.createElement)("div",(0,o.useBlockProps)(),(0,t.createElement)(r.Disabled,null,(0,t.createElement)(n(),{block:"aiovg/videos",attributes:l}))))}})})(); |