From ad6c706227cb184c9a7b0f2d7f1ae6e5a67a6a8c Mon Sep 17 00:00:00 2001 From: Antoine M Date: Wed, 26 Jun 2024 16:46:59 +0200 Subject: [PATCH] including edit question button --- .../questions-container/build/index.asset.php | 2 +- blocks/questions-container/build/index.css | 6 +- blocks/questions-container/build/index.js | 70 +++++++++++-------- blocks/questions-container/build/index.js.map | 2 +- .../questions-container/build/style-index.css | 6 +- .../src/OptionsSelectControl.js | 17 +++-- blocks/questions-container/src/edit.js | 10 +-- 7 files changed, 66 insertions(+), 47 deletions(-) diff --git a/blocks/questions-container/build/index.asset.php b/blocks/questions-container/build/index.asset.php index 693eb78..cc189f4 100644 --- a/blocks/questions-container/build/index.asset.php +++ b/blocks/questions-container/build/index.asset.php @@ -1 +1 @@ - array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '813f4c366e397d0d4322'); + array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '024e34c8a3dce216df44'); diff --git a/blocks/questions-container/build/index.css b/blocks/questions-container/build/index.css index bf9739e..0d82108 100644 --- a/blocks/questions-container/build/index.css +++ b/blocks/questions-container/build/index.css @@ -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. * diff --git a/blocks/questions-container/build/index.js b/blocks/questions-container/build/index.js index 0102978..5530c25 100644 --- a/blocks/questions-container/build/index.js +++ b/blocks/questions-container/build/index.js @@ -12,8 +12,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ OptionsSelectControl) /* harmony export */ }); -/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); -/* 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__ = __webpack_require__(/*! react */ "react"); +/* 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___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"); @@ -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 _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_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 _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); +/* 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 }) { 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"); function getAdminLanguageFromCookie(c_name) { var c_value = document.cookie, @@ -72,7 +75,7 @@ function OptionsSelectControl({ relatedPossiblePages.forEach(page => { options.push({ 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 { @@ -107,21 +110,24 @@ function OptionsSelectControl({ } return null; }); - (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { + (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_6__.useEffect)(() => { if (relatedPossiblePages) { setRelatedQuestionPages(buildSelectOptions(relatedPossiblePages)); } }, [relatedPossiblePages]); 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; - 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__.__)("Question Relié", "homegrade-blocks__texte-fonctionnel") - }, relatedQuestionPages && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ComboboxControl, { + 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") + }, relatedQuestionPages && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ComboboxControl, { label: panelTitle, value: relatedPostId, options: relatedQuestionPages, 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 */ "default": () => (/* binding */ Edit) /* harmony export */ }); -/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); -/* 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__ = __webpack_require__(/*! react */ "react"); +/* 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___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"); @@ -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___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 _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities"); -/* 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 _OptionsSelectControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./OptionsSelectControl */ "./src/OptionsSelectControl.js"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__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_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 } = attributes; 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) { const currentBlockTooltips = parseBlockContentForTooltips(currentRelatedPost.content.rendered); setAttributes({ @@ -195,14 +203,14 @@ function Edit({ }); } }, [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, 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)({ 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 +/***/ }), + +/***/ "react": +/*!************************!*\ + !*** external "React" ***! + \************************/ +/***/ ((module) => { + +module.exports = window["React"]; + /***/ }), /***/ "@wordpress/block-editor": @@ -329,7 +347,7 @@ module.exports = window["wp"]["i18n"]; \************************/ /***/ ((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; /******/ for (var i = 0; i < deferred.length; i++) { -/******/ var chunkIds = deferred[i][0]; -/******/ var fn = deferred[i][1]; -/******/ var priority = deferred[i][2]; +/******/ var [chunkIds, fn, priority] = deferred[i]; /******/ var fulfilled = true; /******/ 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])))) { @@ -463,9 +479,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json /******/ /******/ // install a JSONP callback for chunk loading /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var runtime = data[2]; +/******/ var [chunkIds, moreModules, runtime] = data; /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ 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); /******/ } /******/ -/******/ var chunkLoadingGlobal = self["webpackChunkmultiblocks"] = self["webpackChunkmultiblocks"] || []; +/******/ var chunkLoadingGlobal = globalThis["webpackChunkmultiblocks"] = globalThis["webpackChunkmultiblocks"] || []; /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); /******/ })(); diff --git a/blocks/questions-container/build/index.js.map b/blocks/questions-container/build/index.js.map index dbcd0e2..741d06b 100644 --- a/blocks/questions-container/build/index.js.map +++ b/blocks/questions-container/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAqC;AACuB;AAK7B;AACR;AACqB;AAEA;AACa;AACC;AAE3C,SAASU,oBAAoBA,CAAC;EAAEC,aAAa;EAAEC;AAAc,CAAC,EAAE;EAAA,IAAAC,IAAA;EAC9E,IAAI,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGP,4DAAQ,CAAC,IAAI,CAAC;EAEpE,MAAMQ,IAAI,GAAGC,0BAA0B,CAAC,0BAA0B,CAAC;EAEnE,SAASA,0BAA0BA,CAACC,MAAM,EAAE;IAC3C,IAAIC,OAAO,GAAGC,QAAQ,CAACC,MAAM;MAC5BC,OAAO,GAAGH,OAAO,CAACI,OAAO,CAAC,GAAG,GAAGL,MAAM,GAAG,GAAG,CAAC;IAC9C,IAAII,OAAO,IAAI,CAAC,CAAC,EAAEA,OAAO,GAAGH,OAAO,CAACI,OAAO,CAACL,MAAM,GAAG,GAAG,CAAC;IAC1D,IAAII,OAAO,IAAI,CAAC,CAAC,EAAE;MAClBH,OAAO,GAAG,IAAI;IACf,CAAC,MAAM;MACNG,OAAO,GAAGH,OAAO,CAACI,OAAO,CAAC,GAAG,EAAED,OAAO,CAAC,GAAG,CAAC;MAC3C,IAAIE,KAAK,GAAGL,OAAO,CAACI,OAAO,CAAC,GAAG,EAAED,OAAO,CAAC;MACzC,IAAIE,KAAK,IAAI,CAAC,CAAC,EAAE;QAChBA,KAAK,GAAGL,OAAO,CAACM,MAAM;MACvB;MACAN,OAAO,GAAGO,QAAQ,CAACP,OAAO,CAACQ,SAAS,CAACL,OAAO,EAAEE,KAAK,CAAC,CAAC;IACtD;IACA,OAAOL,OAAO;EACf;EAEA,SAASS,uBAAuBA,CAACC,MAAM,EAAE;IACxClB,aAAa,CAAC;MAAEC,aAAa,EAAEkB,MAAM,CAACD,MAAM;IAAE,CAAC,CAAC;EACjD;EACA,SAASE,kBAAkBA,CAACC,oBAAoB,EAAE;IACjD,IAAIC,OAAO,GAAG,EAAE;IAChB,IAAID,oBAAoB,EAAE;MACzBC,OAAO,CAACC,IAAI,CAAC;QAAEC,KAAK,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAwB,CAAC,CAAC;MAC1DJ,oBAAoB,CAACK,OAAO,CAAEC,IAAI,IAAK;QACtCL,OAAO,CAACC,IAAI,CAAC;UACZC,KAAK,EAAEG,IAAI,CAACC,EAAE;UACdH,KAAK,EAAE3B,wEAAc,CAAC6B,IAAI,CAACE,KAAK,CAACC,QAAQ;QAC1C,CAAC,CAAC;MACH,CAAC,CAAC;IACH,CAAC,MAAM;MACNR,OAAO,CAACC,IAAI,CAAC;QAAEC,KAAK,EAAE,CAAC;QAAEC,KAAK,EAAE;MAA6B,CAAC,CAAC;IAChE;IACA,OAAOH,OAAO;EACf;;EAEA;EACA,IAAIS,cAAc,GAAGpC,0DAAS,CAAEqC,MAAM,IACrCA,MAAM,CAAC,aAAa,CAAC,CAACC,uBAAuB,CAAC,aAAa,CAC5D,CAAC;EACD,IAAIC,gBAAgB,GAAGvC,0DAAS,CAC9BqC,MAAM,IACNA,MAAM,CAAC,MAAM,CAAC,CAACG,eAAe,CAC7B,UAAU,EACV,aAAa,EACbJ,cAAc,CAAC,CAAC,CACjB,CAAC,EACF,CAACA,cAAc,CAChB,CAAC;EACD,IAAIK,kBAAkB,GAAGzC,0DAAS,CAChCqC,MAAM,IAAK;IACX,IAAIE,gBAAgB,IAAIA,gBAAgB,CAACG,MAAM,EAAE;MAChD,OAAOL,MAAM,CAAC,MAAM,CAAC,CAACG,eAAe,CACpC,UAAU,EACV,aAAa,EACbD,gBAAgB,CAACG,MAClB,CAAC;IACF;IACA,OAAO,IAAI;EACZ,CAAC,EACD,CAACH,gBAAgB,CAClB,CAAC;;EAED;EACA,MAAMb,oBAAoB,GAAG1B,0DAAS,CAAEqC,MAAM,IAAK;IAClD,IAAIE,gBAAgB,EAAE;MACrB,IAAII,KAAK,GAAG;QACXC,MAAM,EAAE,SAAS;QACjBC,QAAQ,EAAE,CAAC,CAAC;QACZnC,IAAI,EAAEA,IAAI;QACVoC,WAAW,EAAEP,gBAAgB,GAAGA,gBAAgB,CAACN,EAAE,GAAG;MACvD,CAAC;MACD,OAAOI,MAAM,CAAC,MAAM,CAAC,CAACU,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAEJ,KAAK,CAAC;IACvE;IACA,OAAO,IAAI;EACZ,CAAC,CAAC;EAEF1C,6DAAS,CAAC,MAAM;IACf,IAAIyB,oBAAoB,EAAE;MACzBjB,uBAAuB,CAACgB,kBAAkB,CAACC,oBAAoB,CAAC,CAAC;IAClE;EACD,CAAC,EAAE,CAACA,oBAAoB,CAAC,CAAC;EAE1B,IAAIsB,wBAAwB,IAAAzC,IAAA,GAAGkC,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAIF,gBAAgB,cAAAhC,IAAA,cAAAA,IAAA,GAAI,IAAI;EAE7E,IAAI0C,UAAU,GAAGR,kBAAkB,GAChC,YAAY,GAAGA,kBAAkB,CAACS,IAAI,GACtCX,gBAAgB,GAChB,YAAY,GAAGA,gBAAgB,CAACW,IAAI,GACpC,IAAI;EAEP,OACCC,iEAAA,CAACxD,sEAAiB,QACjBwD,iEAAA,CAACvD,4DAAS;IACTsC,KAAK,EAAExC,mDAAE,CAAC,gBAAgB,EAAE,qCAAqC;EAAE,GASlEc,oBAAoB,IACpB2C,iEAAA,CAACrD,kEAAe;IACfgC,KAAK,EAAEmB,UAAW;IAClBpB,KAAK,EAAEvB,aAAc;IACrBqB,OAAO,EAAEnB,oBAAqB;IAC9B4C,QAAQ,EAAGC,CAAC,IAAK/B,uBAAuB,CAAC+B,CAAC;EAAE,CAC5C,CACD,EACA/C,aAAa,IACb6C,iEAAA,CAACpD,sDAAG,QACFL,mDAAE,CACF,0GAA0G,EAC1G,qCACD,CACI,CAEI,CACO,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7IqC;AACmB;AAEZ,CAAC;AACtB;AACsB;AACE;AACW;AACA;AAG1D,SAAS8D,4BAA4BA,CAACC,aAAa,EAAE;EACpD,MAAMC,MAAM,GAAG,IAAIC,SAAS,CAAC,CAAC;EAC9B,MAAMC,GAAG,GAAGF,MAAM,CAACG,eAAe,CAACJ,aAAa,EAAE,WAAW,CAAC;EAC9D,MAAMK,eAAe,GAAGF,GAAG,CAACG,gBAAgB,CAAC,eAAe,CAAC;EAE7D,MAAMC,oBAAoB,GAAG,EAAE;;EAE/B;EACAC,KAAK,CAACC,IAAI,CAACJ,eAAe,CAAC,CAAC/B,OAAO,CAAEoC,WAAW,IAAK;IACpD,MAAMC,SAAS,GAAGD,WAAW,CAACE,YAAY,CAAC,oBAAoB,CAAC;IAChE,MAAMC,WAAW,GAAGH,WAAW,CAACE,YAAY,CAAC,mBAAmB,CAAC;IACjE,MAAME,iBAAiB,GAAGJ,WAAW,CAACE,YAAY,CACjD,yBACD,CAAC;IAED,MAAMG,eAAe,GAAGR,oBAAoB,CAACS,IAAI,CAC/CC,IAAI,IAAKA,IAAI,CAACN,SAAS,KAAKA,SAC9B,CAAC;IAED,IAAI,CAACI,eAAe,EAAE;MACrBR,oBAAoB,CAACpC,IAAI,CAAC;QACzBwC,SAAS;QACTE,WAAW;QACXC;MACD,CAAC,CAAC;IACH;EACD,CAAC,CAAC;EACF,OAAOP,oBAAoB;AAC5B;AAEe,SAASW,IAAIA,CAAC;EAAEC,UAAU;EAAEvE;AAAc,CAAC,EAAE;EAC3D,MAAM;IAAEC;EAAc,CAAC,GAAGsE,UAAU;EAEpC,IAAIC,kBAAkB,GAAG7E,0DAAS,CAAEqC,MAAM,IACzCA,MAAM,CAAC,MAAM,CAAC,CAACG,eAAe,CAAC,UAAU,EAAE,WAAW,EAAElC,aAAa,CACtE,CAAC;EAEDL,6DAAS,CAAC,MAAM;IACf,IAAI4E,kBAAkB,EAAE;MACvB,MAAMC,oBAAoB,GAAGtB,4BAA4B,CACxDqB,kBAAkB,CAACE,OAAO,CAAC5C,QAC5B,CAAC;MACD9B,aAAa,CAAC;QAAE2E,iBAAiB,EAAEF;MAAqB,CAAC,CAAC;IAC3D;EACD,CAAC,EAAE,CAACD,kBAAkB,CAAC,CAAC;EAExB,OACC1B,iEAAA,CAAA8B,wDAAA,QAGC9B,iEAAA,CAAC/C,6DAAoB;IACpBE,aAAa,EAAEA,aAAc;IAC7BD,aAAa,EAAEA;EAAc,CAC7B,CAAC,EAEF8C,iEAAA;IAAA,GACKG,sEAAa,CAAC;MACjB4B,SAAS,EAAG;IACb,CAAC;EAAC,GAED,CAAC5E,aAAa,IACd6C,iEAAA,CAAA8B,wDAAA,QACC9B,iEAAA,YACEzD,mDAAE,CACF,kGAAkG,EAClG,qCACD,CACE,CACF,CACF,EAEAmF,kBAAkB,IAClB1B,iEAAA,CAAA8B,wDAAA,QACC9B,iEAAA,aAAKhD,wEAAc,CAAC0E,kBAAkB,CAAC3C,KAAK,CAACC,QAAQ,CAAM,CAAC,EAC5DgB,iEAAA,CAACI,uDAAO,QAAEsB,kBAAkB,CAACE,OAAO,CAAC5C,QAAkB,CACtD,CAEK,CACR,CAAC;AAEL;;;;;;;;;;;;;;;;AC3FsD;AAEhC;AAEI;AACU;AAEpCgD,oEAAiB,CAACC,6CAAa,EAAE;EAChCC,IAAI,EAAEV,6CAAIA;AACX,CAAC,CAAC;;;;;;;;;;;ACTF;;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC7BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEnDA;UACA;UACA;UACA;UACA","sources":["webpack://multiblocks/./src/OptionsSelectControl.js","webpack://multiblocks/./src/edit.js","webpack://multiblocks/./src/index.js","webpack://multiblocks/./src/editor.scss","webpack://multiblocks/./src/style.scss","webpack://multiblocks/external window [\"wp\",\"blockEditor\"]","webpack://multiblocks/external window [\"wp\",\"blocks\"]","webpack://multiblocks/external window [\"wp\",\"components\"]","webpack://multiblocks/external window [\"wp\",\"data\"]","webpack://multiblocks/external window [\"wp\",\"element\"]","webpack://multiblocks/external window [\"wp\",\"htmlEntities\"]","webpack://multiblocks/external window [\"wp\",\"i18n\"]","webpack://multiblocks/webpack/bootstrap","webpack://multiblocks/webpack/runtime/chunk loaded","webpack://multiblocks/webpack/runtime/compat get default export","webpack://multiblocks/webpack/runtime/define property getters","webpack://multiblocks/webpack/runtime/hasOwnProperty shorthand","webpack://multiblocks/webpack/runtime/make namespace object","webpack://multiblocks/webpack/runtime/jsonp chunk loading","webpack://multiblocks/webpack/before-startup","webpack://multiblocks/webpack/startup","webpack://multiblocks/webpack/after-startup"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\r\nimport { InspectorControls } from \"@wordpress/block-editor\";\r\nimport {\r\n\tPanelBody,\r\n\tSelectControl,\r\n\tComboboxControl,\r\n} from \"@wordpress/components\";\r\nimport \"./editor.scss\";\r\nimport { Tip } from \"@wordpress/components\";\r\n\r\nimport { useSelect } from \"@wordpress/data\";\r\nimport { useEffect, useState } from \"@wordpress/element\";\r\nimport { decodeEntities } from \"@wordpress/html-entities\";\r\n\r\nexport default function OptionsSelectControl({ setAttributes, relatedPostId }) {\r\n\tlet [relatedQuestionPages, setRelatedQuestionPages] = useState(null);\r\n\r\n\tconst lang = getAdminLanguageFromCookie(\"wp-wpml_current_language\");\r\n\r\n\tfunction getAdminLanguageFromCookie(c_name) {\r\n\t\tvar c_value = document.cookie,\r\n\t\t\tc_start = c_value.indexOf(\" \" + c_name + \"=\");\r\n\t\tif (c_start == -1) c_start = c_value.indexOf(c_name + \"=\");\r\n\t\tif (c_start == -1) {\r\n\t\t\tc_value = null;\r\n\t\t} else {\r\n\t\t\tc_start = c_value.indexOf(\"=\", c_start) + 1;\r\n\t\t\tvar c_end = c_value.indexOf(\";\", c_start);\r\n\t\t\tif (c_end == -1) {\r\n\t\t\t\tc_end = c_value.length;\r\n\t\t\t}\r\n\t\t\tc_value = unescape(c_value.substring(c_start, c_end));\r\n\t\t}\r\n\t\treturn c_value;\r\n\t}\r\n\r\n\tfunction handleRelatedPostChange(postId) {\r\n\t\tsetAttributes({ relatedPostId: Number(postId) });\r\n\t}\r\n\tfunction buildSelectOptions(relatedPossiblePages) {\r\n\t\tlet options = [];\r\n\t\tif (relatedPossiblePages) {\r\n\t\t\toptions.push({ value: 0, label: \"Selectionnez une page\" });\r\n\t\t\trelatedPossiblePages.forEach((page) => {\r\n\t\t\t\toptions.push({\r\n\t\t\t\t\tvalue: page.id,\r\n\t\t\t\t\tlabel: decodeEntities(page.title.rendered),\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\toptions.push({ value: 0, label: \"Pas encore de questions...\" });\r\n\t\t}\r\n\t\treturn options;\r\n\t}\r\n\r\n\t// GET TAXONOMIES INOFRMATION\r\n\tlet postTaxonomies = useSelect((select) =>\r\n\t\tselect(\"core/editor\").getCurrentPostAttribute(\"thematiques\")\r\n\t);\r\n\tlet postMainTaxonomy = useSelect(\r\n\t\t(select) =>\r\n\t\t\tselect(\"core\").getEntityRecord(\r\n\t\t\t\t\"taxonomy\",\r\n\t\t\t\t\"thematiques\",\r\n\t\t\t\tpostTaxonomies[0]\r\n\t\t\t),\r\n\t\t[postTaxonomies]\r\n\t);\r\n\tlet postParentTaxonomy = useSelect(\r\n\t\t(select) => {\r\n\t\t\tif (postMainTaxonomy && postMainTaxonomy.parent) {\r\n\t\t\t\treturn select(\"core\").getEntityRecord(\r\n\t\t\t\t\t\"taxonomy\",\r\n\t\t\t\t\t\"thematiques\",\r\n\t\t\t\t\tpostMainTaxonomy.parent\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\t[postMainTaxonomy]\r\n\t);\r\n\r\n\t// GET RELATED POSSIBLE PAGES ACCORDING TO CURRENT TAXONOMY\r\n\tconst relatedPossiblePages = useSelect((select) => {\r\n\t\tif (postMainTaxonomy) {\r\n\t\t\tlet query = {\r\n\t\t\t\tstatus: \"publish\",\r\n\t\t\t\tper_page: -1,\r\n\t\t\t\tlang: lang,\r\n\t\t\t\tthematiques: postMainTaxonomy ? postMainTaxonomy.id : null,\r\n\t\t\t};\r\n\t\t\treturn select(\"core\").getEntityRecords(\"postType\", \"questions\", query);\r\n\t\t}\r\n\t\treturn null;\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tif (relatedPossiblePages) {\r\n\t\t\tsetRelatedQuestionPages(buildSelectOptions(relatedPossiblePages));\r\n\t\t}\r\n\t}, [relatedPossiblePages]);\r\n\r\n\tlet currentGeneralThematique = postParentTaxonomy ?? postMainTaxonomy ?? null;\r\n\r\n\tlet panelTitle = postParentTaxonomy\r\n\t\t? \"Questions \" + postParentTaxonomy.name\r\n\t\t: postMainTaxonomy\r\n\t\t? \"Questions \" + postMainTaxonomy.name\r\n\t\t: null;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* handleRelatedPostChange(e)}\r\n\t\t\t\t/> */}\r\n\r\n\t\t\t\t{relatedQuestionPages && (\r\n\t\t\t\t\t handleRelatedPostChange(e)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t{relatedPostId && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{__(\r\n\t\t\t\t\t\t\t\"Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.\",\r\n\t\t\t\t\t\t\t\"homegrade-blocks__texte-fonctionnel\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\nimport { useBlockProps } from \"@wordpress/block-editor\";\n\nimport { useSelect } from \"@wordpress/data\"; // pour les querry\nimport \"./editor.scss\";\nimport { RawHTML } from \"@wordpress/element\";\nimport { useEffect } from \"@wordpress/element\";\nimport { decodeEntities } from \"@wordpress/html-entities\";\nimport OptionsSelectControl from \"./OptionsSelectControl\";\n\n\nfunction parseBlockContentForTooltips(editorContent) {\n\tconst parser = new DOMParser();\n\tconst doc = parser.parseFromString(editorContent, \"text/html\");\n\tconst domTooltipWords = doc.querySelectorAll(\".tooltip-word\");\n\n\tconst filteredTooltipWords = [];\n\n\t// Looping over tooltip words and filtering duplicates\n\tArray.from(domTooltipWords).forEach((tooltipWord) => {\n\t\tconst tooltipID = tooltipWord.getAttribute(\"data-definition-id\");\n\t\tconst tooltipText = tooltipWord.getAttribute(\"data-tooltip-word\");\n\t\tconst tooltipDefinition = tooltipWord.getAttribute(\n\t\t\t\"data-tooltip-definition\"\n\t\t);\n\n\t\tconst existingTooltip = filteredTooltipWords.find(\n\t\t\t(item) => item.tooltipID === tooltipID\n\t\t);\n\n\t\tif (!existingTooltip) {\n\t\t\tfilteredTooltipWords.push({\n\t\t\t\ttooltipID,\n\t\t\t\ttooltipText,\n\t\t\t\ttooltipDefinition,\n\t\t\t});\n\t\t}\n\t});\n\treturn filteredTooltipWords;\n}\n\nexport default function Edit({ attributes, setAttributes }) {\n\tconst { relatedPostId } = attributes;\n\n\tlet currentRelatedPost = useSelect((select) =>\n\t\tselect(\"core\").getEntityRecord(\"postType\", \"questions\", relatedPostId)\n\t);\n\n\tuseEffect(() => {\n\t\tif (currentRelatedPost) {\n\t\t\tconst currentBlockTooltips = parseBlockContentForTooltips(\n\t\t\t\tcurrentRelatedPost.content.rendered\n\t\t\t);\n\t\t\tsetAttributes({ tooltipsWordsUsed: currentBlockTooltips });\n\t\t}\n\t}, [currentRelatedPost]);\n\n\treturn (\n\t\t<>\n\n\n\t\t\t\n\n\t\t\t\n\t\t\t\t{!relatedPostId && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{__(\n\t\t\t\t\t\t\t\t\"Ce bloc n'est relié à aucune question. Rattachez-le à une fiche question dans la barre latérale.\",\n\t\t\t\t\t\t\t\t\"homegrade-blocks__texte-fonctionnel\"\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{currentRelatedPost && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t

{decodeEntities(currentRelatedPost.title.rendered)}

\n\t\t\t\t\t\t{currentRelatedPost.content.rendered}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n","import { registerBlockType } from \"@wordpress/blocks\";\n\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\tedit: Edit,\n});\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"i18n\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmultiblocks\"] = self[\"webpackChunkmultiblocks\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","InspectorControls","PanelBody","SelectControl","ComboboxControl","Tip","useSelect","useEffect","useState","decodeEntities","OptionsSelectControl","setAttributes","relatedPostId","_ref","relatedQuestionPages","setRelatedQuestionPages","lang","getAdminLanguageFromCookie","c_name","c_value","document","cookie","c_start","indexOf","c_end","length","unescape","substring","handleRelatedPostChange","postId","Number","buildSelectOptions","relatedPossiblePages","options","push","value","label","forEach","page","id","title","rendered","postTaxonomies","select","getCurrentPostAttribute","postMainTaxonomy","getEntityRecord","postParentTaxonomy","parent","query","status","per_page","thematiques","getEntityRecords","currentGeneralThematique","panelTitle","name","createElement","onChange","e","useBlockProps","RawHTML","parseBlockContentForTooltips","editorContent","parser","DOMParser","doc","parseFromString","domTooltipWords","querySelectorAll","filteredTooltipWords","Array","from","tooltipWord","tooltipID","getAttribute","tooltipText","tooltipDefinition","existingTooltip","find","item","Edit","attributes","currentRelatedPost","currentBlockTooltips","content","tooltipsWordsUsed","Fragment","className","registerBlockType","metadata","edit"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":"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","sources":["webpack://multiblocks/./src/OptionsSelectControl.js","webpack://multiblocks/./src/edit.js","webpack://multiblocks/./src/index.js","webpack://multiblocks/./src/editor.scss","webpack://multiblocks/./src/style.scss","webpack://multiblocks/external window \"React\"","webpack://multiblocks/external window [\"wp\",\"blockEditor\"]","webpack://multiblocks/external window [\"wp\",\"blocks\"]","webpack://multiblocks/external window [\"wp\",\"components\"]","webpack://multiblocks/external window [\"wp\",\"data\"]","webpack://multiblocks/external window [\"wp\",\"element\"]","webpack://multiblocks/external window [\"wp\",\"htmlEntities\"]","webpack://multiblocks/external window [\"wp\",\"i18n\"]","webpack://multiblocks/webpack/bootstrap","webpack://multiblocks/webpack/runtime/chunk loaded","webpack://multiblocks/webpack/runtime/compat get default export","webpack://multiblocks/webpack/runtime/define property getters","webpack://multiblocks/webpack/runtime/hasOwnProperty shorthand","webpack://multiblocks/webpack/runtime/make namespace object","webpack://multiblocks/webpack/runtime/jsonp chunk loading","webpack://multiblocks/webpack/before-startup","webpack://multiblocks/webpack/startup","webpack://multiblocks/webpack/after-startup"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\r\nimport { InspectorControls } from \"@wordpress/block-editor\";\r\nimport {\r\n\tPanelBody,\r\n\tSelectControl,\r\n\tComboboxControl,\r\n} from \"@wordpress/components\";\r\nimport \"./editor.scss\";\r\nimport { Tip } from \"@wordpress/components\";\r\n\r\nimport { useSelect } from \"@wordpress/data\";\r\nimport { useEffect, useState } from \"@wordpress/element\";\r\nimport { decodeEntities } from \"@wordpress/html-entities\";\r\n\r\nexport default function OptionsSelectControl({ setAttributes, relatedPostId }) {\r\n\tlet [relatedQuestionPages, setRelatedQuestionPages] = useState(null);\r\n\r\n\tconst editUrl = relatedPostId\r\n\t\t? `${window.location.origin}/wp-admin/post.php?post=${relatedPostId}&action=edit`\r\n\t\t: \"\";\r\n\tconst lang = getAdminLanguageFromCookie(\"wp-wpml_current_language\");\r\n\r\n\tfunction getAdminLanguageFromCookie(c_name) {\r\n\t\tvar c_value = document.cookie,\r\n\t\t\tc_start = c_value.indexOf(\" \" + c_name + \"=\");\r\n\t\tif (c_start == -1) c_start = c_value.indexOf(c_name + \"=\");\r\n\t\tif (c_start == -1) {\r\n\t\t\tc_value = null;\r\n\t\t} else {\r\n\t\t\tc_start = c_value.indexOf(\"=\", c_start) + 1;\r\n\t\t\tvar c_end = c_value.indexOf(\";\", c_start);\r\n\t\t\tif (c_end == -1) {\r\n\t\t\t\tc_end = c_value.length;\r\n\t\t\t}\r\n\t\t\tc_value = unescape(c_value.substring(c_start, c_end));\r\n\t\t}\r\n\t\treturn c_value;\r\n\t}\r\n\r\n\tfunction handleRelatedPostChange(postId) {\r\n\t\tsetAttributes({ relatedPostId: Number(postId) });\r\n\t}\r\n\tfunction buildSelectOptions(relatedPossiblePages) {\r\n\t\tlet options = [];\r\n\t\tif (relatedPossiblePages) {\r\n\t\t\toptions.push({ value: 0, label: \"Selectionnez une page\" });\r\n\t\t\trelatedPossiblePages.forEach((page) => {\r\n\t\t\t\toptions.push({\r\n\t\t\t\t\tvalue: page.id,\r\n\t\t\t\t\tlabel: decodeEntities(page.title.rendered),\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\toptions.push({ value: 0, label: \"Pas encore de questions...\" });\r\n\t\t}\r\n\t\treturn options;\r\n\t}\r\n\r\n\t// GET TAXONOMIES INOFRMATION\r\n\tlet postTaxonomies = useSelect((select) =>\r\n\t\tselect(\"core/editor\").getCurrentPostAttribute(\"thematiques\"),\r\n\t);\r\n\tlet postMainTaxonomy = useSelect(\r\n\t\t(select) =>\r\n\t\t\tselect(\"core\").getEntityRecord(\r\n\t\t\t\t\"taxonomy\",\r\n\t\t\t\t\"thematiques\",\r\n\t\t\t\tpostTaxonomies[0],\r\n\t\t\t),\r\n\t\t[postTaxonomies],\r\n\t);\r\n\tlet postParentTaxonomy = useSelect(\r\n\t\t(select) => {\r\n\t\t\tif (postMainTaxonomy && postMainTaxonomy.parent) {\r\n\t\t\t\treturn select(\"core\").getEntityRecord(\r\n\t\t\t\t\t\"taxonomy\",\r\n\t\t\t\t\t\"thematiques\",\r\n\t\t\t\t\tpostMainTaxonomy.parent,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\t[postMainTaxonomy],\r\n\t);\r\n\r\n\t// GET RELATED POSSIBLE PAGES ACCORDING TO CURRENT TAXONOMY\r\n\tconst relatedPossiblePages = useSelect((select) => {\r\n\t\tif (postMainTaxonomy) {\r\n\t\t\tlet query = {\r\n\t\t\t\tstatus: \"publish\",\r\n\t\t\t\tper_page: -1,\r\n\t\t\t\tlang: lang,\r\n\t\t\t\tthematiques: postMainTaxonomy ? postMainTaxonomy.id : null,\r\n\t\t\t};\r\n\t\t\treturn select(\"core\").getEntityRecords(\"postType\", \"questions\", query);\r\n\t\t}\r\n\t\treturn null;\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tif (relatedPossiblePages) {\r\n\t\t\tsetRelatedQuestionPages(buildSelectOptions(relatedPossiblePages));\r\n\t\t}\r\n\t}, [relatedPossiblePages]);\r\n\r\n\tlet currentGeneralThematique = postParentTaxonomy ?? postMainTaxonomy ?? null;\r\n\r\n\tlet panelTitle = postParentTaxonomy\r\n\t\t? \"Questions \" + postParentTaxonomy.name\r\n\t\t: postMainTaxonomy\r\n\t\t? \"Questions \" + postMainTaxonomy.name\r\n\t\t: null;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{/* handleRelatedPostChange(e)}\r\n\t\t\t\t/> */}\r\n\r\n\t\t\t\t{relatedQuestionPages && (\r\n\t\t\t\t\t handleRelatedPostChange(e)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{relatedPostId && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{__(\r\n\t\t\t\t\t\t\t\"Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.\",\r\n\t\t\t\t\t\t\t\"homegrade-blocks\",\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{editUrl && Editer la question}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\nimport { useBlockProps } from \"@wordpress/block-editor\";\n\nimport { useSelect } from \"@wordpress/data\"; // pour les querry\nimport \"./editor.scss\";\nimport { RawHTML } from \"@wordpress/element\";\nimport { useEffect } from \"@wordpress/element\";\nimport { decodeEntities } from \"@wordpress/html-entities\";\nimport OptionsSelectControl from \"./OptionsSelectControl\";\n\nfunction parseBlockContentForTooltips(editorContent) {\n\tconst parser = new DOMParser();\n\tconst doc = parser.parseFromString(editorContent, \"text/html\");\n\tconst domTooltipWords = doc.querySelectorAll(\".tooltip-word\");\n\n\tconst filteredTooltipWords = [];\n\n\t// Looping over tooltip words and filtering duplicates\n\tArray.from(domTooltipWords).forEach((tooltipWord) => {\n\t\tconst tooltipID = tooltipWord.getAttribute(\"data-definition-id\");\n\t\tconst tooltipText = tooltipWord.getAttribute(\"data-tooltip-word\");\n\t\tconst tooltipDefinition = tooltipWord.getAttribute(\n\t\t\t\"data-tooltip-definition\",\n\t\t);\n\n\t\tconst existingTooltip = filteredTooltipWords.find(\n\t\t\t(item) => item.tooltipID === tooltipID,\n\t\t);\n\n\t\tif (!existingTooltip) {\n\t\t\tfilteredTooltipWords.push({\n\t\t\t\ttooltipID,\n\t\t\t\ttooltipText,\n\t\t\t\ttooltipDefinition,\n\t\t\t});\n\t\t}\n\t});\n\treturn filteredTooltipWords;\n}\n\nexport default function Edit({ attributes, setAttributes }) {\n\tconst { relatedPostId } = attributes;\n\n\tlet currentRelatedPost = useSelect((select) =>\n\t\tselect(\"core\").getEntityRecord(\"postType\", \"questions\", relatedPostId),\n\t);\n\n\tuseEffect(() => {\n\t\tif (currentRelatedPost) {\n\t\t\tconst currentBlockTooltips = parseBlockContentForTooltips(\n\t\t\t\tcurrentRelatedPost.content.rendered,\n\t\t\t);\n\t\t\tsetAttributes({ tooltipsWordsUsed: currentBlockTooltips });\n\t\t}\n\t}, [currentRelatedPost]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\n\t\t\t\n\t\t\t\t{!relatedPostId && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{__(\n\t\t\t\t\t\t\t\t\"Ce bloc n'est relié à aucune question. Rattachez-le à une fiche question dans la barre latérale.\",\n\t\t\t\t\t\t\t\t\"homegrade-blocks__texte-backoffice\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{currentRelatedPost && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t

{decodeEntities(currentRelatedPost.title.rendered)}

\n\t\t\t\t\t\t{currentRelatedPost.content.rendered}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n","import { registerBlockType } from \"@wordpress/blocks\";\n\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\tedit: Edit,\n});\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"React\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"htmlEntities\"];","module.exports = window[\"wp\"][\"i18n\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkmultiblocks\"] = globalThis[\"webpackChunkmultiblocks\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","InspectorControls","PanelBody","SelectControl","ComboboxControl","Tip","useSelect","useEffect","useState","decodeEntities","OptionsSelectControl","setAttributes","relatedPostId","_ref","relatedQuestionPages","setRelatedQuestionPages","editUrl","window","location","origin","lang","getAdminLanguageFromCookie","c_name","c_value","document","cookie","c_start","indexOf","c_end","length","unescape","substring","handleRelatedPostChange","postId","Number","buildSelectOptions","relatedPossiblePages","options","push","value","label","forEach","page","id","title","rendered","postTaxonomies","select","getCurrentPostAttribute","postMainTaxonomy","getEntityRecord","postParentTaxonomy","parent","query","status","per_page","thematiques","getEntityRecords","currentGeneralThematique","panelTitle","name","createElement","onChange","e","href","className","useBlockProps","RawHTML","parseBlockContentForTooltips","editorContent","parser","DOMParser","doc","parseFromString","domTooltipWords","querySelectorAll","filteredTooltipWords","Array","from","tooltipWord","tooltipID","getAttribute","tooltipText","tooltipDefinition","existingTooltip","find","item","Edit","attributes","currentRelatedPost","currentBlockTooltips","content","tooltipsWordsUsed","Fragment","registerBlockType","metadata","edit"],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/questions-container/build/style-index.css b/blocks/questions-container/build/style-index.css index 0feba69..ea2c8c3 100644 --- a/blocks/questions-container/build/style-index.css +++ b/blocks/questions-container/build/style-index.css @@ -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 * and in the editor. diff --git a/blocks/questions-container/src/OptionsSelectControl.js b/blocks/questions-container/src/OptionsSelectControl.js index 30f759a..68a50fd 100644 --- a/blocks/questions-container/src/OptionsSelectControl.js +++ b/blocks/questions-container/src/OptionsSelectControl.js @@ -15,6 +15,9 @@ import { decodeEntities } from "@wordpress/html-entities"; export default function OptionsSelectControl({ setAttributes, relatedPostId }) { 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"); function getAdminLanguageFromCookie(c_name) { @@ -55,16 +58,16 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) { // GET TAXONOMIES INOFRMATION let postTaxonomies = useSelect((select) => - select("core/editor").getCurrentPostAttribute("thematiques") + select("core/editor").getCurrentPostAttribute("thematiques"), ); let postMainTaxonomy = useSelect( (select) => select("core").getEntityRecord( "taxonomy", "thematiques", - postTaxonomies[0] + postTaxonomies[0], ), - [postTaxonomies] + [postTaxonomies], ); let postParentTaxonomy = useSelect( (select) => { @@ -72,12 +75,12 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) { return select("core").getEntityRecord( "taxonomy", "thematiques", - postMainTaxonomy.parent + postMainTaxonomy.parent, ); } return null; }, - [postMainTaxonomy] + [postMainTaxonomy], ); // GET RELATED POSSIBLE PAGES ACCORDING TO CURRENT TAXONOMY @@ -126,14 +129,16 @@ export default function OptionsSelectControl({ setAttributes, relatedPostId }) { onChange={(e) => handleRelatedPostChange(e)} /> )} + {relatedPostId && ( {__( "Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.", - "homegrade-blocks" + "homegrade-blocks", )} )} + {editUrl && Editer la question} ); diff --git a/blocks/questions-container/src/edit.js b/blocks/questions-container/src/edit.js index bb7181a..21472c9 100644 --- a/blocks/questions-container/src/edit.js +++ b/blocks/questions-container/src/edit.js @@ -20,11 +20,11 @@ function parseBlockContentForTooltips(editorContent) { const tooltipID = tooltipWord.getAttribute("data-definition-id"); const tooltipText = tooltipWord.getAttribute("data-tooltip-word"); const tooltipDefinition = tooltipWord.getAttribute( - "data-tooltip-definition" + "data-tooltip-definition", ); const existingTooltip = filteredTooltipWords.find( - (item) => item.tooltipID === tooltipID + (item) => item.tooltipID === tooltipID, ); if (!existingTooltip) { @@ -42,13 +42,13 @@ export default function Edit({ attributes, setAttributes }) { const { relatedPostId } = attributes; let currentRelatedPost = useSelect((select) => - select("core").getEntityRecord("postType", "questions", relatedPostId) + select("core").getEntityRecord("postType", "questions", relatedPostId), ); useEffect(() => { if (currentRelatedPost) { const currentBlockTooltips = parseBlockContentForTooltips( - currentRelatedPost.content.rendered + currentRelatedPost.content.rendered, ); setAttributes({ tooltipsWordsUsed: currentBlockTooltips }); } @@ -71,7 +71,7 @@ export default function Edit({ attributes, setAttributes }) {

{__( "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", )}