including edit question button

This commit is contained in:
Antoine M 2024-06-26 16:46:59 +02:00
parent 88b4b7a0e1
commit ad6c706227
7 changed files with 66 additions and 47 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' => '813f4c366e397d0d4322'); <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '024e34c8a3dce216df44');

View File

@ -1,6 +1,6 @@
/*!****************************************************************************************************************************************************************************************************************************************!*\ /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** 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/.pnpm/css-loader@6.10.0_webpack@5.90.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.4.35_webpack@5.90.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@12.6.0_sass@1.71.1_webpack@5.90.3/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
\****************************************************************************************************************************************************************************************************************************************/ \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/** /**
* The following styles get applied inside the editor only. * The following styles get applied inside the editor only.
* *

View File

@ -12,8 +12,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ OptionsSelectControl) /* harmony export */ "default": () => (/* binding */ OptionsSelectControl)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
@ -23,8 +23,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss"); /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities");
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_7__);
@ -39,7 +41,8 @@ function OptionsSelectControl({
relatedPostId relatedPostId
}) { }) {
var _ref; var _ref;
let [relatedQuestionPages, setRelatedQuestionPages] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null); let [relatedQuestionPages, setRelatedQuestionPages] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_6__.useState)(null);
const editUrl = relatedPostId ? `${window.location.origin}/wp-admin/post.php?post=${relatedPostId}&action=edit` : "";
const lang = getAdminLanguageFromCookie("wp-wpml_current_language"); const lang = getAdminLanguageFromCookie("wp-wpml_current_language");
function getAdminLanguageFromCookie(c_name) { function getAdminLanguageFromCookie(c_name) {
var c_value = document.cookie, var c_value = document.cookie,
@ -72,7 +75,7 @@ function OptionsSelectControl({
relatedPossiblePages.forEach(page => { relatedPossiblePages.forEach(page => {
options.push({ options.push({
value: page.id, value: page.id,
label: (0,_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__.decodeEntities)(page.title.rendered) label: (0,_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_7__.decodeEntities)(page.title.rendered)
}); });
}); });
} else { } else {
@ -107,21 +110,24 @@ function OptionsSelectControl({
} }
return null; return null;
}); });
(0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_6__.useEffect)(() => {
if (relatedPossiblePages) { if (relatedPossiblePages) {
setRelatedQuestionPages(buildSelectOptions(relatedPossiblePages)); setRelatedQuestionPages(buildSelectOptions(relatedPossiblePages));
} }
}, [relatedPossiblePages]); }, [relatedPossiblePages]);
let currentGeneralThematique = (_ref = postParentTaxonomy !== null && postParentTaxonomy !== void 0 ? postParentTaxonomy : postMainTaxonomy) !== null && _ref !== void 0 ? _ref : null; let currentGeneralThematique = (_ref = postParentTaxonomy !== null && postParentTaxonomy !== void 0 ? postParentTaxonomy : postMainTaxonomy) !== null && _ref !== void 0 ? _ref : null;
let panelTitle = postParentTaxonomy ? "Questions " + postParentTaxonomy.name : postMainTaxonomy ? "Questions " + postMainTaxonomy.name : null; let panelTitle = postParentTaxonomy ? "Questions " + postParentTaxonomy.name : postMainTaxonomy ? "Questions " + postMainTaxonomy.name : null;
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,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, {
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Question Relié", "homegrade-blocks__texte-fonctionnel") title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Question Relié", "homegrade-blocks")
}, relatedQuestionPages && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ComboboxControl, { }, relatedQuestionPages && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ComboboxControl, {
label: panelTitle, label: panelTitle,
value: relatedPostId, value: relatedPostId,
options: relatedQuestionPages, options: relatedQuestionPages,
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__texte-fonctionnel")))); }), relatedPostId && (0,react__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")), editUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", {
href: editUrl,
className: "edit-question-button"
}, "Editer la question")));
} }
/***/ }), /***/ }),
@ -136,8 +142,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Edit) /* harmony export */ "default": () => (/* binding */ Edit)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
@ -145,9 +151,11 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss"); /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _OptionsSelectControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./OptionsSelectControl */ "./src/OptionsSelectControl.js"); /* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities");
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _OptionsSelectControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./OptionsSelectControl */ "./src/OptionsSelectControl.js");
@ -187,7 +195,7 @@ function Edit({
relatedPostId relatedPostId
} = attributes; } = attributes;
let currentRelatedPost = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useSelect)(select => select("core").getEntityRecord("postType", "questions", relatedPostId)); let currentRelatedPost = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useSelect)(select => select("core").getEntityRecord("postType", "questions", relatedPostId));
(0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_5__.useEffect)(() => {
if (currentRelatedPost) { if (currentRelatedPost) {
const currentBlockTooltips = parseBlockContentForTooltips(currentRelatedPost.content.rendered); const currentBlockTooltips = parseBlockContentForTooltips(currentRelatedPost.content.rendered);
setAttributes({ setAttributes({
@ -195,14 +203,14 @@ function Edit({
}); });
} }
}, [currentRelatedPost]); }, [currentRelatedPost]);
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_6__["default"], { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_OptionsSelectControl__WEBPACK_IMPORTED_MODULE_7__["default"], {
relatedPostId: relatedPostId, relatedPostId: relatedPostId,
setAttributes: setAttributes setAttributes: setAttributes
}), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("section", { }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("section", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.useBlockProps)({ ...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.useBlockProps)({
className: `questions-container` className: `questions-container`
}) })
}, !relatedPostId && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Ce bloc n'est relié à aucune question. Rattachez-le à une fiche question dans la barre latérale.", "homegrade-blocks__texte-fonctionnel"))), currentRelatedPost && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("h3", null, (0,_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__.decodeEntities)(currentRelatedPost.title.rendered)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.RawHTML, null, currentRelatedPost.content.rendered)))); }, !relatedPostId && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Ce bloc n'est relié à aucune question. Rattachez-le à une fiche question dans la barre latérale.", "homegrade-blocks__texte-backoffice"))), currentRelatedPost && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h3", null, (0,_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__.decodeEntities)(currentRelatedPost.title.rendered)), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__.RawHTML, null, currentRelatedPost.content.rendered))));
} }
/***/ }), /***/ }),
@ -251,6 +259,16 @@ __webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin // extracted by mini-css-extract-plugin
/***/ }),
/***/ "react":
/*!************************!*\
!*** external "React" ***!
\************************/
/***/ ((module) => {
module.exports = window["React"];
/***/ }), /***/ }),
/***/ "@wordpress/block-editor": /***/ "@wordpress/block-editor":
@ -329,7 +347,7 @@ module.exports = window["wp"]["i18n"];
\************************/ \************************/
/***/ ((module) => { /***/ ((module) => {
module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/questions-container","version":"0.1.0","title":"Bloc Questions","category":"homegrade-blocks","icon":{"background":"#fff","foreground":"#DF1E1E","src":"feedback"},"description":"Pour intégrer le contenu d\'une fiche de questions dans une page conseils","supports":{"html":false},"textdomain":"homegrade-theme__bloks-texte-fonctionnel","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","attributes":{"relatedPostId":{"type":"number"},"tooltipsWordsUsed":{"type":"array","default":[]}}}'); module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/questions-container","version":"0.1.0","title":"Bloc Questions","category":"homegrade-blocks","icon":{"background":"#fff","foreground":"#DF1E1E","src":"feedback"},"description":"Pour intégrer le contenu d\'une fiche de questions dans une page conseils","supports":{"html":false},"textdomain":"homegrade-theme__bloks-texte-fonctionnel","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","attributes":{"relatedPostId":{"type":"number"},"tooltipsWordsUsed":{"type":"array","default":[]}}}');
/***/ }) /***/ })
@ -375,9 +393,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json
/******/ } /******/ }
/******/ var notFulfilled = Infinity; /******/ var notFulfilled = Infinity;
/******/ for (var i = 0; i < deferred.length; i++) { /******/ for (var i = 0; i < deferred.length; i++) {
/******/ var chunkIds = deferred[i][0]; /******/ var [chunkIds, fn, priority] = deferred[i];
/******/ var fn = deferred[i][1];
/******/ var priority = deferred[i][2];
/******/ var fulfilled = true; /******/ var fulfilled = true;
/******/ for (var j = 0; j < chunkIds.length; j++) { /******/ for (var j = 0; j < chunkIds.length; j++) {
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
@ -463,9 +479,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json
/******/ /******/
/******/ // install a JSONP callback for chunk loading /******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var chunkIds = data[0]; /******/ var [chunkIds, moreModules, runtime] = data;
/******/ var moreModules = data[1];
/******/ var runtime = data[2];
/******/ // add "moreModules" to the modules object, /******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback /******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0; /******/ var moduleId, chunkId, i = 0;
@ -488,7 +502,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json
/******/ return __webpack_require__.O(result); /******/ return __webpack_require__.O(result);
/******/ } /******/ }
/******/ /******/
/******/ var chunkLoadingGlobal = self["webpackChunkmultiblocks"] = self["webpackChunkmultiblocks"] || []; /******/ var chunkLoadingGlobal = globalThis["webpackChunkmultiblocks"] = globalThis["webpackChunkmultiblocks"] || [];
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ })(); /******/ })();

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*!***************************************************************************************************************************************************************************************************************************************!*\ /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** 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/style.scss ***! !*** css ./node_modules/.pnpm/css-loader@6.10.0_webpack@5.90.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.4.35_webpack@5.90.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@12.6.0_sass@1.71.1_webpack@5.90.3/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
\***************************************************************************************************************************************************************************************************************************************/ \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/** /**
* The following styles get applied both on the front of your site * The following styles get applied both on the front of your site
* and in the editor. * and in the editor.

View File

@ -15,6 +15,9 @@ import { decodeEntities } from "@wordpress/html-entities";
export default function OptionsSelectControl({ setAttributes, relatedPostId }) { export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
let [relatedQuestionPages, setRelatedQuestionPages] = useState(null); let [relatedQuestionPages, setRelatedQuestionPages] = useState(null);
const editUrl = relatedPostId
? `${window.location.origin}/wp-admin/post.php?post=${relatedPostId}&action=edit`
: "";
const lang = getAdminLanguageFromCookie("wp-wpml_current_language"); const lang = getAdminLanguageFromCookie("wp-wpml_current_language");
function getAdminLanguageFromCookie(c_name) { function getAdminLanguageFromCookie(c_name) {
@ -55,16 +58,16 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
// GET TAXONOMIES INOFRMATION // GET TAXONOMIES INOFRMATION
let postTaxonomies = useSelect((select) => let postTaxonomies = useSelect((select) =>
select("core/editor").getCurrentPostAttribute("thematiques") select("core/editor").getCurrentPostAttribute("thematiques"),
); );
let postMainTaxonomy = useSelect( let postMainTaxonomy = useSelect(
(select) => (select) =>
select("core").getEntityRecord( select("core").getEntityRecord(
"taxonomy", "taxonomy",
"thematiques", "thematiques",
postTaxonomies[0] postTaxonomies[0],
), ),
[postTaxonomies] [postTaxonomies],
); );
let postParentTaxonomy = useSelect( let postParentTaxonomy = useSelect(
(select) => { (select) => {
@ -72,12 +75,12 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
return select("core").getEntityRecord( return select("core").getEntityRecord(
"taxonomy", "taxonomy",
"thematiques", "thematiques",
postMainTaxonomy.parent postMainTaxonomy.parent,
); );
} }
return null; return null;
}, },
[postMainTaxonomy] [postMainTaxonomy],
); );
// GET RELATED POSSIBLE PAGES ACCORDING TO CURRENT TAXONOMY // GET RELATED POSSIBLE PAGES ACCORDING TO CURRENT TAXONOMY
@ -126,14 +129,16 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) {
onChange={(e) => handleRelatedPostChange(e)} onChange={(e) => handleRelatedPostChange(e)}
/> />
)} )}
{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>
)} )}
{editUrl && <a href={editUrl} className="edit-question-button">Editer la question</a>}
</PanelBody> </PanelBody>
</InspectorControls> </InspectorControls>
); );

View File

@ -20,11 +20,11 @@ function parseBlockContentForTooltips(editorContent) {
const tooltipID = tooltipWord.getAttribute("data-definition-id"); const tooltipID = tooltipWord.getAttribute("data-definition-id");
const tooltipText = tooltipWord.getAttribute("data-tooltip-word"); const tooltipText = tooltipWord.getAttribute("data-tooltip-word");
const tooltipDefinition = tooltipWord.getAttribute( const tooltipDefinition = tooltipWord.getAttribute(
"data-tooltip-definition" "data-tooltip-definition",
); );
const existingTooltip = filteredTooltipWords.find( const existingTooltip = filteredTooltipWords.find(
(item) => item.tooltipID === tooltipID (item) => item.tooltipID === tooltipID,
); );
if (!existingTooltip) { if (!existingTooltip) {
@ -42,13 +42,13 @@ export default function Edit({ attributes, setAttributes }) {
const { relatedPostId } = attributes; const { relatedPostId } = attributes;
let currentRelatedPost = useSelect((select) => let currentRelatedPost = useSelect((select) =>
select("core").getEntityRecord("postType", "questions", relatedPostId) select("core").getEntityRecord("postType", "questions", relatedPostId),
); );
useEffect(() => { useEffect(() => {
if (currentRelatedPost) { if (currentRelatedPost) {
const currentBlockTooltips = parseBlockContentForTooltips( const currentBlockTooltips = parseBlockContentForTooltips(
currentRelatedPost.content.rendered currentRelatedPost.content.rendered,
); );
setAttributes({ tooltipsWordsUsed: currentBlockTooltips }); setAttributes({ tooltipsWordsUsed: currentBlockTooltips });
} }
@ -71,7 +71,7 @@ export default function Edit({ attributes, setAttributes }) {
<p> <p>
{__( {__(
"Ce bloc n'est relié à aucune question. Rattachez-le à une fiche question dans la barre latérale.", "Ce bloc n'est relié à aucune question. Rattachez-le à une fiche question dans la barre latérale.",
"homegrade-blocks__texte-backoffice" "homegrade-blocks__texte-backoffice",
)} )}
</p> </p>
</> </>