FIX accepting draft pages in parcours pages list in the optionSelectcontrol

This commit is contained in:
Nonimart 2026-04-03 11:26:19 +02:00
parent 6d33265a01
commit ef64310b51
4 changed files with 28 additions and 32 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' => '62bbe4b1522ccd65faf8'); <?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => 'e574e62cbddff5258e34');

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: "publish", status: ['draft', '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")));

File diff suppressed because one or more lines are too long

View File

@ -1,29 +1,25 @@
import { __ } from "@wordpress/i18n"; import { __ } from '@wordpress/i18n';
import { InspectorControls } from "@wordpress/block-editor"; import { InspectorControls } from '@wordpress/block-editor';
import { import { PanelBody, SelectControl, ComboboxControl } from '@wordpress/components';
PanelBody, import './editor.scss';
SelectControl, import { Tip } from '@wordpress/components';
ComboboxControl, import { getAdminLanguageFromCookie } from '../../utilities.js';
} from "@wordpress/components"; import { useSelect } from '@wordpress/data';
import "./editor.scss"; import { useEffect, useState } from '@wordpress/element';
import { Tip } from "@wordpress/components"; import { decodeEntities } from '@wordpress/html-entities';
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: "publish", status: ['draft', '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]
); );
@ -38,7 +34,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,
@ -46,7 +42,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;
} }
@ -58,11 +54,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}
@ -74,8 +70,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>
)} )}