First step for Gutenberg blocks

This commit is contained in:
Brian Miyaji
2019-06-20 16:53:17 +10:00
parent cb1d62374f
commit befcec07cc
2 changed files with 125 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
import apiFetch from '@wordpress/api-fetch';
console.log(wp.api.collections.Posts());
wp.blocks.registerBlockType('sportspress/event-calendar', {
title: strings.event_calendar,
icon: 'calendar',
category: 'sportspress',
attributes: {
title: {
type: 'string'
},
id: {
type: 'number'
},
status: {
type: 'string'
},
date: {
type: 'string'
},
date_from: {
type: 'string'
},
date_to: {
type: 'string'
},
date_past: {
type: 'number'
},
date_future: {
type: 'number'
},
date_relative: {
type: 'number'
},
day: {
type: 'string'
},
show_all_events_link: {
type: 'number'
},
content: {type: 'string'},
color: {type: 'string'}
},
edit: function(props) {
function updateContent(event) {
props.setAttributes({content: event.target.value})
}
function updateColor(value) {
props.setAttributes({color: value.hex})
}
return React.createElement(
wp.components.Panel,
{header: strings.event_calendar},
React.createElement(
wp.components.PanelBody,
{title: strings.properties},
React.createElement(
wp.components.TextControl,
{label: strings.title, type: "text", value: props.attributes.title}
),
React.createElement(
wp.components.SelectControl,
{label: strings.select_calendar, options: [{label: strings.all, value: 0}].concat(posts.events.map(post => {
return {label: post.post_title, value: post.ID}
}))}
)
)
);
},
save: function(props) {
return wp.element.createElement(
"h3",
{ style: { border: "3px solid " + props.attributes.color } },
props.attributes.content
);
}
})