Compare commits

..

No commits in common. "2167de1672d4fb3c01475a0c4f7803eeeaf04eef" and "6d33265a01f27a9076d6e7eaeb582b6690f7b321" have entirely different histories.

8 changed files with 63 additions and 53 deletions

View File

@ -1 +1 @@
<?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => 'fcd901559e8b72a56c33'); <?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '62bbe4b1522ccd65faf8');

View File

@ -1,12 +1,13 @@
/*!****************************************************************************************************************************************************************************************************************************************************!*\ /*!****************************************************************************************************************************************************************************************************************************************************!*\
!*** css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***! !*** css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
\****************************************************************************************************************************************************************************************************************************************************/ \****************************************************************************************************************************************************************************************************************************************************/
.homegrade-blocks-parcours-step.is-selected { /**
outline: 2px solid var(--wp--preset--color--secondary, --wp-admin-theme-color, #007cba) !important; * The following styles get applied inside the editor only.
} *
.homegrade-blocks-parcours-step.is-selected:focus:after { * Replace them with your own styles or remove the file completely.
position: static !important; */
outline: none !important; .wp-block-create-block-test {
border: 1px dotted #f00;
} }
/*# sourceMappingURL=index.css.map*/ /*# sourceMappingURL=index.css.map*/

View File

@ -1 +1 @@
{"version":3,"file":"index.css","mappings":";;;AAAA;EACC;AACD;AAAC;EACC;EACA;AAEF,C","sources":["webpack://test/./src/editor.scss"],"sourcesContent":[".homegrade-blocks-parcours-step.is-selected {\n\toutline: 2px solid var(--wp--preset--color--secondary, --wp-admin-theme-color, #007cba) !important;\n\t&:focus:after {\n\t\tposition: static !important;\n\t\toutline: none !important;\n\t}\n}\n"],"names":[],"sourceRoot":""} {"version":3,"file":"index.css","mappings":";;;AAAA;;;;EAAA;AAMA;EACC;AAAD,C","sources":["webpack://test/./src/editor.scss"],"sourcesContent":["/**\n * The following styles get applied inside the editor only.\n *\n * Replace them with your own styles or remove the file completely.\n */\n\n.wp-block-create-block-test {\n\tborder: 1px dotted #f00;\n}\n"],"names":[],"sourceRoot":""}

View File

@ -41,14 +41,14 @@ function OptionsSelectControl({
relatedPostId relatedPostId
}) { }) {
let [postOptions, setPostOptions] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null); let [postOptions, setPostOptions] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
const lang = (0,_utilities_js__WEBPACK_IMPORTED_MODULE_5__.getAdminLanguageFromCookie)('wp-wpml_current_language'); const lang = (0,_utilities_js__WEBPACK_IMPORTED_MODULE_5__.getAdminLanguageFromCookie)("wp-wpml_current_language");
const optionPages = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_6__.useSelect)(select => { const optionPages = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_6__.useSelect)(select => {
let query = { let query = {
status: ['draft', 'publish'], status: "publish",
per_page: -1, per_page: -1,
lang: lang lang: lang
}; };
return select('core').getEntityRecords('postType', 'parcours', query); return select("core").getEntityRecords("postType", "parcours", query);
}, [lang]); }, [lang]);
const editUrl = relatedPostId ? `${window.location.origin}/wp-admin/post.php?post=${relatedPostId}&action=edit` : null; const editUrl = relatedPostId ? `${window.location.origin}/wp-admin/post.php?post=${relatedPostId}&action=edit` : null;
function handleRelatedPostChange(postId) { function handleRelatedPostChange(postId) {
@ -61,7 +61,7 @@ function OptionsSelectControl({
if (optionPages && optionPages.length > 0) { if (optionPages && optionPages.length > 0) {
options.push({ options.push({
value: 0, value: 0,
label: 'Selectionnez une page' label: "Selectionnez une page"
}); });
optionPages.forEach(page => { optionPages.forEach(page => {
options.push({ options.push({
@ -72,7 +72,7 @@ function OptionsSelectControl({
} else { } else {
options.push({ options.push({
value: 0, value: 0,
label: 'Pas encore de questions...' label: "Pas encore de questions..."
}); });
} }
return options; return options;
@ -83,15 +83,15 @@ function OptionsSelectControl({
setPostOptions(buildSelectOptions(optionPages)); setPostOptions(buildSelectOptions(optionPages));
} }
}, [optionPages]); }, [optionPages]);
let panelTitle = 'Post Parcours Reliée'; let panelTitle = "Post Parcours Reliée";
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, {
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Étape parcours', 'homegrade-blocks') title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Étape parcours", "homegrade-blocks")
}, postOptions && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ComboboxControl, { }, postOptions && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ComboboxControl, {
label: panelTitle, label: panelTitle,
value: relatedPostId, value: relatedPostId,
options: postOptions, options: postOptions,
onChange: e => handleRelatedPostChange(e) onChange: e => handleRelatedPostChange(e)
}), relatedPostId && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tip, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.', 'homegrade-blocks')), relatedPostId && editUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { }), relatedPostId && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tip, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.", "homegrade-blocks")), relatedPostId && editUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", {
href: editUrl, href: editUrl,
className: "edit-question-button" className: "edit-question-button"
}, "\xC9diter le post"))); }, "\xC9diter le post")));
@ -132,11 +132,11 @@ function Edit({
const { const {
relatedPostId relatedPostId
} = attributes; } = attributes;
const post = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_4__.useSelect)(select => select('core').getEntityRecord('postType', 'parcours', relatedPostId)); const post = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_4__.useSelect)(select => select("core").getEntityRecord("postType", "parcours", relatedPostId));
const stepIconUrl = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_4__.useSelect)(select => { const stepIconUrl = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_4__.useSelect)(select => {
var _media$source_url; var _media$source_url;
let setpIconID = post?.acf?.step_icon; let setpIconID = post?.acf?.step_icon;
const media = select('core').getMedia(setpIconID); const media = select("core").getMedia(setpIconID);
return (_media$source_url = media?.source_url) !== null && _media$source_url !== void 0 ? _media$source_url : null; return (_media$source_url = media?.source_url) !== null && _media$source_url !== void 0 ? _media$source_url : null;
}, [post]); }, [post]);
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_OptionsSelectControl__WEBPACK_IMPORTED_MODULE_3__["default"], { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_OptionsSelectControl__WEBPACK_IMPORTED_MODULE_3__["default"], {
@ -147,7 +147,7 @@ function Edit({
className: `homegrade-blocks-parcours-step parcours-step parcours-step-card` className: `homegrade-blocks-parcours-step parcours-step parcours-step-card`
}) })
}, post && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { }, post && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
className: "parcours-step-card__icon", class: "parcours-step-card__icon",
src: stepIconUrl, src: stepIconUrl,
alt: "" alt: ""
}), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("h3", { }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("h3", {

File diff suppressed because one or more lines are too long

View File

@ -1,25 +1,29 @@
import { __ } from '@wordpress/i18n'; import { __ } from "@wordpress/i18n";
import { InspectorControls } from '@wordpress/block-editor'; import { InspectorControls } from "@wordpress/block-editor";
import { PanelBody, SelectControl, ComboboxControl } from '@wordpress/components'; import {
import './editor.scss'; PanelBody,
import { Tip } from '@wordpress/components'; SelectControl,
import { getAdminLanguageFromCookie } from '../../utilities.js'; ComboboxControl,
import { useSelect } from '@wordpress/data'; } from "@wordpress/components";
import { useEffect, useState } from '@wordpress/element'; import "./editor.scss";
import { decodeEntities } from '@wordpress/html-entities'; import { Tip } from "@wordpress/components";
import { getAdminLanguageFromCookie } from "../../utilities.js";
import { useSelect } from "@wordpress/data";
import { useEffect, useState } from "@wordpress/element";
import { decodeEntities } from "@wordpress/html-entities";
export default function OptionsSelectControl({ setAttributes, relatedPostId }) { export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
let [postOptions, setPostOptions] = useState(null); let [postOptions, setPostOptions] = useState(null);
const lang = getAdminLanguageFromCookie('wp-wpml_current_language'); const lang = getAdminLanguageFromCookie("wp-wpml_current_language");
const optionPages = useSelect( const optionPages = useSelect(
(select) => { (select) => {
let query = { let query = {
status: ['draft', 'publish'], status: "publish",
per_page: -1, per_page: -1,
lang: lang, lang: lang,
}; };
return select('core').getEntityRecords('postType', 'parcours', query); return select("core").getEntityRecords("postType", "parcours", query);
}, },
[lang] [lang]
); );
@ -34,7 +38,7 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
function buildSelectOptions(optionPages) { function buildSelectOptions(optionPages) {
let options = []; let options = [];
if (optionPages && optionPages.length > 0) { if (optionPages && optionPages.length > 0) {
options.push({ value: 0, label: 'Selectionnez une page' }); options.push({ value: 0, label: "Selectionnez une page" });
optionPages.forEach((page) => { optionPages.forEach((page) => {
options.push({ options.push({
value: page.id, value: page.id,
@ -42,7 +46,7 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
}); });
}); });
} else { } else {
options.push({ value: 0, label: 'Pas encore de questions...' }); options.push({ value: 0, label: "Pas encore de questions..." });
} }
return options; return options;
} }
@ -54,11 +58,11 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
} }
}, [optionPages]); }, [optionPages]);
let panelTitle = 'Post Parcours Reliée'; let panelTitle = "Post Parcours Reliée";
return ( return (
<InspectorControls> <InspectorControls>
<PanelBody title={__('Étape parcours', 'homegrade-blocks')}> <PanelBody title={__("Étape parcours", "homegrade-blocks")}>
{postOptions && ( {postOptions && (
<ComboboxControl <ComboboxControl
label={panelTitle} label={panelTitle}
@ -70,8 +74,8 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
{relatedPostId && ( {relatedPostId && (
<Tip> <Tip>
{__( {__(
'Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.', "Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.",
'homegrade-blocks' "homegrade-blocks"
)} )}
</Tip> </Tip>
)} )}

View File

@ -1,18 +1,18 @@
import { __ } from '@wordpress/i18n'; import { __ } from "@wordpress/i18n";
import { useBlockProps } from '@wordpress/block-editor'; import { useBlockProps } from "@wordpress/block-editor";
import OptionsSelectControl from './OptionsSelectControl'; import OptionsSelectControl from "./OptionsSelectControl";
import { useSelect } from '@wordpress/data'; import { useSelect } from "@wordpress/data";
import './editor.scss'; import "./editor.scss";
export default function Edit({ attributes, setAttributes }) { export default function Edit({ attributes, setAttributes }) {
const { relatedPostId } = attributes; const { relatedPostId } = attributes;
const post = useSelect((select) => const post = useSelect((select) =>
select('core').getEntityRecord('postType', 'parcours', relatedPostId) select("core").getEntityRecord("postType", "parcours", relatedPostId)
); );
const stepIconUrl = useSelect( const stepIconUrl = useSelect(
(select) => { (select) => {
let setpIconID = post?.acf?.step_icon; let setpIconID = post?.acf?.step_icon;
const media = select('core').getMedia(setpIconID); const media = select("core").getMedia(setpIconID);
return media?.source_url ?? null; return media?.source_url ?? null;
}, },
[post] [post]
@ -20,7 +20,10 @@ export default function Edit({ attributes, setAttributes }) {
return ( return (
<> <>
<OptionsSelectControl relatedPostId={relatedPostId} setAttributes={setAttributes} /> <OptionsSelectControl
relatedPostId={relatedPostId}
setAttributes={setAttributes}
/>
<div <div
{...useBlockProps({ {...useBlockProps({
@ -29,7 +32,7 @@ export default function Edit({ attributes, setAttributes }) {
> >
{post && ( {post && (
<> <>
<img className="parcours-step-card__icon" src={stepIconUrl} alt="" /> <img class="parcours-step-card__icon" src={stepIconUrl} alt="" />
<h3 className="parcours-step-card__title">{post.title.rendered}</h3> <h3 className="parcours-step-card__title">{post.title.rendered}</h3>
</> </>
)} )}

View File

@ -1,7 +1,9 @@
.homegrade-blocks-parcours-step.is-selected { /**
outline: 2px solid var(--wp--preset--color--secondary, --wp-admin-theme-color, #007cba) !important; * The following styles get applied inside the editor only.
&:focus:after { *
position: static !important; * Replace them with your own styles or remove the file completely.
outline: none !important; */
}
.wp-block-create-block-test {
border: 1px dotted #f00;
} }